Zrobiłem głupią rzecz ... Zapomniałem, że Ubuntu 10.04 (Lucid Lynx) przełączył się na GRUB 2, który zawiera mnóstwo plików * .mod (modułów jądra) /boot/grub
. Myślałem, że są to pliki ścieżki dźwiękowej umieszczone tam błędnie i przeniosłem je. Nie trzeba dodawać, że kolejny restart był traumatyczny. Przedstawiono mi coś, o czym nie pamiętałem, aby kiedykolwiek widziałem ... monit „rat grub>>”.
Za pomocą narzędzia Naprawianie błędu GRUB: „błąd: nieznany system plików” udało mi się jednak odzyskać ...
- Odkryłem, że ratowanie GRUB-a nie ma poleceń „cd”, „cp” ani żadnych innych poleceń systemu plików poza własną odmianą „ls”.
Najpierw więc musiałem znaleźć partycję z
/boot
katalogiem zawierającymvmlinuz
plik i inne pliki obrazu rozruchowego ... (przybliżenie z pamięci nieudanych prób, a także puste wiersze dla przejrzystości, dodane 10.07.2014 przez docsalvage)grub rescue> ls (hd0,4) (hd0,3) (hd0,2) (hd0,1) grub rescue> ls (hd0,4)/boot ... some kind of 'not found' message grub rescue> ls (hd0,3)/boot ... some kind of 'not found' message grub rescue> ls (hd0,2)/boot ... grub ... initrd.img-2.6.32-33-generic ... vmlinuz-2.6.32-33-generic
Znalazłem
/boot
katalog zawierającyvmlinuz
plikvmlinuz-2.6.32-33-generic
na partycji(hd0,2)
.Następnie ręcznie uruchomiłem system z monitu „grub rat>>”. Następujące polecenia ...
- Ustaw,
root
aby używać/boot
katalogu na partycji(hd0,2)
. - Załaduj moduł jądra
linux
. - Ustaw ten moduł, aby używał obrazu jądra
vmlinuz-2.6.32-33-generic
. - Ustaw initrd (zainicjuj dysk RAM), aby użyć obrazu
initrd.img-2.6.32-33-generic
. - Uruchom system Linux.
- Ustaw,
grub rescue> set root=(hd0,2)/boot grub rescue> insmod linux grub rescue> linux (hd0,2)/boot/vmlinuz-2.6.32-33-generic root=/dev/sda2 grub rescue> initrd (hd0,2)/boot/initrd.img-2.6.32-33-generic grub rescue> boot
Powoduje to uruchomienie i awarię wiersza polecenia BusyBox, który NIE zawiera podstawowych poleceń systemu plików.
Następnie przeniosłem pliki * .mod z powrotem do
/boot/grub
katalogu ...busybox> cd /boot busybox> mv mod/* grub busybox> reboot
Ponowne uruchomienie zakończyło się powodzeniem, ale było to dużo pracy.
Czy istnieje prostszy sposób?
grub> linux (hd0,X)/boot/vmlinuz-a.b.c-d-generic root=/dev/sdaX
gdzie X
jest partycja /boot
, a.b.c-d
to wersja jądra. Potem mój system uruchomił się dobrze! Dzięki!