wtorek, 21 września 2010

grub, jak ręcznie uruchomić Linux'a

Czasami zdarza się, że nadpiszemy MBR'a, albo coś namieszamy w ustawieniach programu rozruchowego GRUB, niezbędne jest wtedy samodzielne ręczne uruchomienie systemu.

W takich sytuacjach przydaje się płyta instalacyjna np. z CentOS'em, na pierwszym ekranie zamiast wpisać linux text wpisujemy linux rescue. Klikamy ok, ok i jeszcze kilka razy ok.
Wpisujemy chroot /mnt/sysimage i przystępujemy do instalacji grub'a za pomocą polecenia grub-install --root-directory=/boot /dev/hda

Staram się zawsze mieć założoną pierwszą partycję /boot o wielkości 521MB (większość osób może dawać mniejszą, ale ja mam tendencję do nie usuwania starych krerneli).
Obecnie katalog boot zajmuje u mnie 116 MB i jak na razie jeszcze mi do głowy nie przyszło aby go wyczyścić jeżeli macie inny układ partycji na dysku to "--root-directory=/boot" należy sobie darować.


Po zainstalowaniu należy wpisać reboot i usunąć w międzyczasie płytę z CentOS'em.

Czekamy, czekamy, czekamy i zamiast uruchomionego systemu pojawia się:
grub>
Możemy wpisać help i patrzeć na opis podstawowych poleceń, gdy ich oglądanie się już nam znudzi wpisujemy:
root (hd0,0)
i pojawia się Filesystem type is ext*fs, partition type 0x83
teraz pozostaje już tylko wybrać kernel przez polecenie:
kernel /vmlinuz-2.6.18-8.el5 ro root=/dev/hda4

Słów kilka w celu wyjaśnienia, nikt na pamięć nie zna aktualnego kernela, z którego system się uruchamia (nikt normalny), wiec wpisujemy kernel /vmlinu i dopełniamy klawiszem tab (działa dokładnie tak samo jak w bash'u), wybieramy partycję, na której jest główny system plików czyli "/" w domu mam hda4 w pracy hda3 - można się pogubić. Wciskamy enter.

Pozostaje jeszcze wpisać initrd /initrd-2.6.18-8.el5.img
tak jak to zwykle w Linux'ie bywa dopełnienie polecenia klawiszem tab działa i nie trzeba uczyć się na pamięć poszczególnych nazw.

Mamy wybranego kernela mamy initrd pozostaje jeszcze wpisać boot.

Jak już jestem przy grub'ie i chcemy uruchomić system w jakimś innym trybie np. fastboot to na ekranie wyboru kernela wciskamy c najeżdżamy na wybrany kernel, wciskamy e dopisujemy na końcu wiersza fastboot i wciskamy enter. W ten sprytny sposób uruchamiamy system bez wykonania fsck.

Brak komentarzy:

Prześlij komentarz