środa, 19 sierpnia 2009

"Waiting for root filesystem" - problem po instalacji nowego jądra

Ostatnio na moim Debianie Lenny skompilowałem nowe jądro. Przeskok był dosyć spory bo z 2.6.26 wskoczyłem od razu na 2.6.30.4. Przy próbie uruchomienia systemu bootowanie zatrzymywało się na komunikacie
Waiting for root filesystem...
Rozwiązanie problemu było proste, ale nie było łatwo na nie wpaść.

Nowy kernel zmienił nazewnictwo partycji z /dev/hda na /dev/sda. Grub bootując partycję jako parametr podaje
root=/dev/hda1
lub inny(w zależności od partycji) i tam jądro szuka całego systemu plików. W tym wypadku nazwa była błędna i bootowanie się zwieszało

1. Tymczasowym rozwiązaniem była edycja ręczna wpisu w Grub-ie. Podczas wyboru systemu wciskamy literę 'e' i możemy edytować każdą linię wpisu. W tym przypadku linię
kernel /boot/vmlinuz-2.6.30.4 root=/dev/hda1 ro single
zamieniłem na
kernel /boot/vmlinuz-2.6.30.4 root=/dev/sda1 ro single
Po edycji ciskamy enter i na końcu literę 'b', żeby system sie zbootował.

2. Powinniśmy mieć działający system. Żeby uniknąć w przyszłości problemu z nazewnictwem partycji - zamienimy nazwy na unikalny ID(który się zmienia, tylko gdy np.: rozmiar partycji się zmieni). Sprawdzamy UUID poleceniem
ls -l /dev/disk/by-uuid
Wyświetli nam się lista naszych partycji wraz z ich numerami ID
lrwxrwxrwx 1 root root 10 2009-08-19 16:54 34BD-2035 -> ../../sda1
lrwxrwxrwx 1 root root 10 2009-08-19 16:54 49B4-52C7 -> ../../sda2
lrwxrwxrwx 1 root root 10 2009-08-19 16:54 8C44-F1E2 -> ../../sda3
lrwxrwxrwx 1 root root 10 2009-08-19 16:54 c2b3d070-8ad9-4036-aa8a-0d41ee23eb0f -> ../../sda4
lrwxrwxrwx 1 root root 10 2009-08-19 16:54 c89fb01c-0e34-4de3-8465-902afcd7ab9d -> ../../sda5
lrwxrwxrwx 1 root root 10 2009-08-19 16:54 DF9B-D5A5 -> ../../sda6
3. Posiadając te dane czas ułatwić sobie życie zmieniając odwołania w menu Grub-a. Z konsoli uruchamiamy edytor poleceniem
sudo nano /boot/grub/menu.lst
i tu szukamy linii
# kopt=root=/dev/twoja/partycja
zamieniamy odwołanie na nasz UUID, czyli w tym przykładzie po zmianie linia powinna wyglądać tak:
# kopt=root=UUID=34BD-2035
Najlepiej w tym samym pliku zmienić linię
# groot=/dev/twoja/partycja
w analogiczny sposób. Na konieć zamykamy edytor 'Ctrl+x' i potwierdzamy zmiany literą 't' oraz enterem. Ostatnim krokiem jest polecenie
update-grub
które zaktualizuje nasze menu.

4. Ostatnim krokiem jest zmodyfikowanie pliku /etc/fstab, żebyśmy mieli w pełni sprawne automontowanie partycji. Edycję uruchamiamy podobnie jak poprzednio
sudo nano /etc/fstab
i jeśli są odwołania do /dev/hda, dev/sda lub podobnie zamieniamy je na UUID=7wój-UU1D, który sprawdziliśmy wcześniej. Zamykamy edytor i uruchamiamy ponownie system. System powinien się uruchomić bez problemów, a partycje powinny być podmontowane.

src: tu i tu

Brak komentarzy:

Prześlij komentarz