Jak przywrócić jądro w systemie Linux?
Opublikowany: 2022-01-29Jeśli twój komputer z systemem Linux nagle ma problemy po aktualizacji systemu, możliwe, że to wina aktualizacji jądra systemu Linux. Na szczęście wycofanie lub przełączenie na inne jądro jest stosunkowo łatwe w systemach Debian, Arch i Fedora. Oto jak.
Dlaczego aktualizacje jądra powodują problemy
Jądro jest integralną częścią systemu Linux, więc w zależności od urządzenia i konfiguracji aktualizacja jądra może spowodować problemy dla Ciebie lub dla zainstalowanych aplikacji. Problemy mogą obejmować dziwaczne zachowanie grafiki lub całkowicie bezużyteczny system. Jeśli twoja sytuacja jest ta druga, jesteś w prawdziwej marynacie.
Aby rozwiązać ten problem, wiele nowoczesnych dystrybucji ma zainstalowane starsze lub inne jądro, do którego można uzyskać dostęp podczas rozruchu. Umożliwią one przetestowanie jądra pod kątem problemów lub odzyskanie sprawności po aktualizacji jądra, która łamie system.
POWIĄZANE: Jak sprawdzić jądro systemu Linux i wersję systemu operacyjnego
Jak uruchomić komputer z innym jądrem
Oczywiście, prawdziwym źródłem problemu mogą być aktualizacje pakietów systemowych innych niż jądro Linuksa. Szybkim sposobem na wykluczenie błędu jądra jest próba uruchomienia go z innym jądrem.
Najpierw musisz uzyskać dostęp do menu GRUB, ponownie uruchamiając komputer. Możesz zobaczyć, że GRUB pojawia się na kilka sekund podczas rozruchu, wyświetlając kilka opcji, takich jak "Opcje zaawansowane", chociaż niektóre dystrybucje ukrywają go, chyba że uzyskasz do niego dostęp. Jeśli nie pojawi się podczas uruchamiania, naciśnij i przytrzymaj klawisz Shift w momencie rozpoczęcia uruchamiania komputera, aż zobaczysz ekran podobny do poniższego.
Użyj klawiszy strzałek, aby przejść do „Opcji zaawansowanych dla [Twojej dystrybucji]” i naciśnij Enter.
Otrzymasz listę dostępnych opcji rozruchu. Powinieneś zobaczyć co najmniej dwa, takie jak „[Twoja dystrybucja], z systemem Linux 5.10.0.7-amd64”, a następnie „tryb odzyskiwania” tej samej opcji. Różne wersje, które widzisz na liście, to różne zainstalowane jądra.
Jeśli masz tylko jedną opcję standardową i jedną opcję trybu odzyskiwania, oznacza to niestety, że masz zainstalowane tylko jedno jądro. W takim przypadku i jeśli w ogóle nie możesz korzystać z jądra, możesz użyć trybu odzyskiwania, aby wypróbować kilka opcji naprawy.
Jeśli masz więcej niż jeden numer wersji, masz alternatywne jądro, z którego możesz uruchomić system. Pierwsza opcja będzie najnowszą i tą, z którą komputer uruchamia się automatycznie. Wypróbuj inną opcję trybu bez odzyskiwania, przechodząc do niej za pomocą klawiszy strzałek i naciskając Enter.
POWIĄZANE: Jak naprawić system Ubuntu, gdy się nie uruchamia
Jak usunąć lub obniżyć wersję jądra?
Jeśli wydaje się, że uruchomienie innego jądra rozwiązało twój problem, prawdopodobnie chcesz nadal używać tego jądra. Twój komputer może jednak domyślnie próbować użyć problematycznego jądra przy każdym uruchomieniu. Możesz ręcznie wybrać starsze jądro przy każdym uruchomieniu lub usunąć problematyczne jądro podczas oczekiwania na kolejną aktualizację.
Ostrzeżenie: aktualizacje jądra mogą obejmować poprawki bezpieczeństwa. Z tego powodu ignorowanie aktualizacji jądra wiąże się z ryzykiem. Jeśli musisz kontynuować, upewnij się, że Twój system jest tak bezpieczny, jak to tylko możliwe.
Niektóre dystrybucje pozwalają to zrobić graficznie, a nawet pozwalają po prostu wybrać inne jądro jako domyślne. Na przykład Menedżer aktualizacji Linux Mint (na zdjęciu poniżej) ma funkcję ustawień jądra, która pozwala ustawić preferencje jądra oprócz usuwania niechcianych jąder.
Spróbuj wyszukać w menu aplikacji słowo „jądro” i sprawdź, czy pojawiają się jakieś narzędzia pulpitu. Jeśli tak, prawdopodobnie będziesz w stanie zrobić to graficznie. W przeciwnym razie czytaj dalej, aby usunąć jądro za pomocą wiersza poleceń.
Ostrzeżenie: Kontynuuj tylko podczas uruchamiania jądra, którego chcesz użyć, a nie tego, którego planujesz usunąć.
Usuń jądro w Debianie i Ubuntu
Aby usunąć jądro Linuksa z Debiana, Ubuntu lub jednej z ich pochodnych, powinieneś najpierw zidentyfikować zainstalowane pakiety jądra. Otwórz terminal i wprowadź następujące polecenie.
apt list --installed | grep linux-image
Możesz zobaczyć numery wersji w każdej z nazw pakietów, które znajdują się przed ukośnikiem (/) w wynikach. Po uzyskaniu nazwy jądra, które chcesz usunąć, przekaż następującą komendę, zastępując kernel-name
pakietu jądra dokładnie taką, jaka pojawiła się w poprzednim poleceniu.
sudo apt usuń nazwę jądra
Zostaniesz poproszony o podanie hasła, a następnie poproszony o potwierdzenie usunięcia poprzez wpisanie y
naciśnięcie enter.
Poczekaj na zakończenie usuwania, a twój komputer z systemem Linux nie będzie już uruchamiał się z tym jądrem. Miej oko na nowe jądra podczas aktualizacji systemu i przetestuj je, gdy się pojawią, aby sprawdzić, czy problem został rozwiązany.
POWIĄZANE: Jak zaktualizować Ubuntu Linux
Usuń lub obniż wersję jądra w Arch
W Arch Linux można łatwo uzyskać kilka alternatywnych jąder o nazwach takich jak linux-hardened
, linux-zen
i linux-lts
. Wybierając opcję w GRUB, prawdopodobnie widziałeś tylko jedną wersję każdego zainstalowanego jądra. W przeciwieństwie do jąder w Debianie, aktualizacje jądra Arch nie są dostarczane jako nowe pakiety w celu zastąpienia starego. Zamiast tego każde zainstalowane jądro jest po prostu aktualizowane (lub „synchronizowane”) do najnowszej wersji, gdy staje się dostępna.
Z tego powodu najlepiej jest po prostu uruchomić system z alternatywnym jądrem zamiast obniżać wersję standardowego jądra. Jeśli uruchomiłeś inne jądro i wiesz, że nie chcesz używać pierwszego, możesz nazwać jądro w komendzie odinstalowania za pomocą Pacmana.
sudo pacman -R nazwa-jądra nazwa-nagłówka-jądra
Zastąpienie kernel-name
jądra wybranym jądrem. Zostaniesz poproszony o podanie hasła, zanim będziesz mógł kontynuować. Następnie musisz potwierdzić usunięcie, wpisując „y” i naciskając Enter.
Jeśli chcesz obniżyć wersję pakietu jądra, wiedz, że nie zalecamy tego. Aktualizacje cykliczne często opierają się na aktualności innych pakietów, więc wycofywanie każdej aktualizacji jest ryzykowne i może spowodować uszkodzenie systemu operacyjnego.
Jeśli jednak jesteś pewien, że chcesz, możesz zsynchronizować pakiet jądra z określoną wersją za pomocą następującego polecenia.
sudo pacman -S nazwa-jądra=xxx nazwa-jądra-headers=xxx
Zamień kernel-name
na jądro, które chcesz obniżyć, a xxx
na wybraną wersję. Możesz znaleźć starsze numery wersji, wyszukując jądro w Arch Package Search i klikając "Wyświetl zmiany".
POWIĄZANE: Jak zaktualizować Arch Linux
Usuń jądro w Fedorze
Fedora Linux domyślnie przechowuje dwie starsze wersje jądra zainstalowane na twoim urządzeniu wraz z najnowszą. Za pomocą tego polecenia rpm
możesz zidentyfikować nazwy pakietów.
rpm -qa jądro-rdzeń
Zobaczysz listę wszystkich zainstalowanych jąder obok ich numerów wersji.
Po uruchomieniu z innym jądrem użyj dnf, aby odinstalować problematyczne jądro.
sudo dnf usuń kernel-core-xxx-xxx.fcxx.x86_64
Otrzymasz monit o potwierdzenie odinstalowania. Wpisz y i naciśnij enter, aby potwierdzić.
Po usunięciu jądra, twój system nie będzie mógł uruchomić się z nowszym jądrem, dopóki nie zezwolisz na aktualizację jądra. Gdy pojawi się nowy, wypróbuj go i sprawdź, czy problem został rozwiązany.