W tym artykule omówię jak odzyskać program rozruchowy GRUB, który jest uruchamiany jako drugi w kolejności program zaraz po BIOSie, odpowiadający za załadowanie systemu operacyjnego do pamięci operacyjnej. Pozwala on także dokonać wyboru systemu do uruchomienia

Do odzyskiwania posłużymy się płytą LiveCD z systemem Ubuntu. LiveCD to system operacyjny (zazwyczaj zawiera także inne oprogramowanie) przechowywany na bootowalnym CD-ROMie, z którego jest uruchamiany w pamięci RAM bez potrzeby instalowania go na dysku twardym.

Zakładam, że użytkownik zna układ partycji na swoim dysku twardym, Należy pamiętać że partycja hda1 dla GRUBa to hd(0,0).

Zaczynamy

Uruchamiamy system z LiveCD a następnie wydajemy polecenia:

sudo mkdir /mnt/root

sudo mount -t ext3 /dev/hdax /mnt/root

gdzie x oznacza partycję, na której zainstalowany jest Linux. Ponieważ system nasz był zainstalowany na systemie plików ext3 podaliśmy parametr -t ext3. Jeżeli nie wiadomo jaki jest system plików należy wpisać -t auto. Jeśli posiadamy dysk SATA zamiast /dev/hdax wpisujemy /dev/sdax.

Wydając te polecenia stworzymy katalog /mnt/root, w którym następnie zamontujemy naszą partycję z systemem Linux tak, aby mieć do niej dostęp. Teraz czas na przygotowanie środowiska pracy, w którym zainstalujemy ponownie nasz GRUB:

sudo mount -t proc none /mnt/root/proc
sudo mount -o bind /dev /mnt/root/dev
sudo chroot /mnt/root /bin/bash
sudo grub

Jeżeli wszystko wykona się poprawnie powinniśmy zobaczyć znak zachęty grub>. Następnie wydamy polecenie, które wyszuka partycji z Linuksem:

find /boot/grub/stage1

W moim przypadku otrzymałem (hd0,2). Następnie musimy ustawić partycję główną za pomocą polecenia:

root (hd0,x)

W miejsce x wstawiamy wartość, którą otrzymaliśmy po poprzedniej komendzie. Ostatnie polecenie zainstaluje nam ponownie GRUBa na dysku.

setup (hd0)
quit

Od tej chwili możemy cieszyć się GRUBem przy uruchamianiu komputera.

Super Grub Disk

Aby odzyskać GRUBa możemy posłużyć się narzędziem Super Grub Disk, można je pobrać ze strony supergrub.forjamari.linex.org. Następnie nagrywamy zawartość obrazu na płytkę, po czym uruchamiamy z niej komputer. Po uruchomieniu wybieramy język, a następnie GNU/Linux. W następnym menu mamy kilka opcji:

GRUB

  • Fix Boot of Gnu/Linux (GRUB) – odzyskujemy GRUBa
  • Fix Boot of Gnu/Linux (Lilo) – odzyskujemy Lilo
  • Boot Gnu/Linux – Uruchamiamy Linuksa

Jeżeli po wybraniu pierwszej opcji nie odzyskamy GRUBa wybieramy “Boot Gnu/Linux” i uruchamiamy system. Po uruchomieniu Linuksa, w konsoli jako root wykonujemy:

grub-install /dev/hda

I po tym możemy już cieszyć się GRUBem przy uruchamianiu komputera.

Podobne artykuły

Konsola

przez -
12 1086
Konsola

przez -
0 753
  • romus

    Zadziałało – wielkie dzięki :)

  • SamuG

    Niestety nie działa z windows 7 :(

  • aso

    Jakim cudem ma nie działać z Win 7, skoro Win nie wpłynie na wynik tych poleceń?

    Chyba że GRUB nie wykrywa Windows 7, ale to już nie związane z odzyskiwaniem bootloader-a.

  • Pingback: Zmartwychwstanie Gruba - cojack blog()

  • oko

    gdzie mam te komendy wpisać? jak włoże płyte to nie ma miejsca na komendy

  • Greg

    W konsoli GRUBA.

  • Michdem

    Mam nadzieje że zadziała z Windows 8 Beta

  • A co? Popsułeś GRUBa? :D

  • Szalony Lelo

    Ładnie napisane tylko szkoda że po raz kolejny z kolei porady dla systemu linux w ogóle nie działają… Jedynie co to wyskakują mi komunikaty o błędach :( szkoda czasu – prędzej zrobię reinstalkę systemu i skonfiguruje go tak ja przedtem miałem niż naprawię gruba:(

  • A jaki błąd?

  • bajo

    error 21 : selected disk does not exist

  • <code>grub-install –recheck /dev/hda</code>

  • Michał

    Witam. W terminalu UBUNTU 10.10 wpisuje "sudo gedit /boot/grub/menu.lst." i otwiera się okno "menu list " ale nic w nim nie pisze albo jest ukryte. A chce zmienic kolejność uruchomiania systemów: najpierw XP potem UBUNTU 10.10. Czy jest na to jakas rada ??

  • Michał

    Witam. W terminalu UBUNTU 10.10 wpisuje „sudo gedit /boot/grub/menu.lst.” i otwiera się okno „menu list ” ale nic w nim nie pisze albo jest ukryte. A chce zmienic kolejność uruchomiania systemów: najpierw XP potem UBUNTU 10.10. Czy jest na to jakaś rada ??

    Informacje na: budczem@gmail.com

  • <code>/boot/grub/menu.lst.</code> <– a po co ta kropka na końcu?

  • Michał

    OK. Panie Kamilu rzeczywiście kropka tu jest przez nieuwagę pisania. Natomiast w terminalu jest wpisywane bez kropki bo inaczej by się nie otworzyło okno menu.list.

    W Ubuntu 8.xx nie było tych problemów. A w Ubuntu 10.10 menu.list – otwiera się białe okno bez wpisów bo wpis jest jakoś ukryty. Co robić dalej.

    Pozdrawiam.