Najprostszym rozwiązaniem by nie używać poniższych „kół ratunkowych” jest utworzenie w GRUB pozycji „recovery” (tryb ratunkowy).
W pliku
/etc/default/grub
linijkę
GRUB_DISABLE_RECOVERY=true
należy zmienić na:
GRUB_DISABLE_RECOVERY=false
i przeładować gruba:
sudo update-grub
.
Po restarcie systemu w GRUB pojawi nam się dodatkowy wpis, z którego możemy dostać się do systemu.
Druga rzecz, która może okazać się nam pomocna, to posiadanie dwóch kerneli. Możliwe, że błąd, zwłaszcza po aktualizacji, występuje tylko na jednym jądrze i system wystartuje z drugiego.
Jeśli jednak nie wykonaliśmy czynności opisanych wyżej możemy zastosować te sposoby.
1. Przejście do tty.
W zależności, w którym momencie zatrzymuje się start systemu sprawdźmy czy mamy możliwość przejście do terminala.
Wciskając jednocześnie Ctrl+Alt+Fx (za x wstawiamy F1 do F6). Jeśli nam się to uda zostaniemy zachęceni do podania loginu.
Będziemy naprawiać system więc proponuje wpisać root i hasło (nie będzie widoczne przy wpisywaniu).
2. systemd.unit=rescue.target
Przy starcie systemu, w czasie wyświetlania listy rozruchu wciskamy e.
Do linii zaczynającej się od:
linux /boot (…)
na końcu dopisujemy:
systemd.unit=rescue.target
i wciskamy Ctrl+x.
3. Chroot.
Uruchamiamy Manjaro Live. Otwieramy konsolę i wpisujemy:
sudo pacman -S mhwd-chroot
Po zainstalowaniu wykonajemy:
sudo mhwd-chroot -a
W nowo otwartym okienku próbujemy naprawić szkody.
Na koniec jeszcze raz zachęcam do utworzenia w GRUB wpisu „recovery”. Zaoszczędzimy wiele czasu i nerwów.
PS. Po wejściu do systemu w trybie recovery, często zdarza się, że nie mamy internetu, który może okazać się niezbędny do naprawy systemu. Dzieje się tak, że nie wszystkie usługi w trybie ratunkowym są uruchamiane.
Dlatego wykonujemy:
systemctl start NetworkManager
oraz nawiązujemy połączenie wpisując:
nmtui
Powiązane wpisy:
https://manjaro.pl/chroot-przywracanie-gruba/#more-6417
Dzięki :)
W sumie jeszcze nigdy nie miałem takich problemów, ale dodanie „recovery” do gruba nie zaszkodzi.
Bardzo przydatne. Dlaczego w /etc/default/grub nie jest domyślnie GRUB_DISABLE_RECOVERY=false ? Mogłoby to zaoszczędzić dużo nerwów i czasu niezaawansowanym użytkownikom. Zdaje się, że w Mincie albo w Ubuntu „recovery” było domyślnie.
… po drobnych experymentach, wypracowałem sobie praktykę użytkowania wielu kerneli (a dokładniej dwóch):
# domyślnym kernel’em jest najnowszy stabilny;
# rezerwowym jest najwyższy LTS; chyba, że jest on jednocześnie najnowszym stabilnym, wtedy w rezerwie jest LTS o numer niższy.
Widzę dwa pliki: starszy: /etc/default/grub i nowszy /etc/default/grub.pacnew
Czy na pewno należy wyedytować ten starszy plik?
@aquila takie pytanko do Ciebie, gdy już uruchomię pozycję recovery, to dalej jakich klawiszy muszę użyć żeby to poszło?
Nie wciskamy żadnych klawiszy. Wpisujemy hasło roota (oczywiście będzie niewidoczne) i enter.