Przywracanie GRUB’a

Przywracanie bootloadera GRUB za pomocą systemu systemu linux LiveCD na przykładzie Ubuntu.

Aby móc przywrócić nasz boot loader po pierwsze musimy zaopatrzyć się w jakąkolwiek wersję linuxa dostępną na LiveCD, najpopularniejszą i chyba najbardziej znaną jest Ubuntu. Najnowszą wersję tego systemu możemy pobrać tutaj. Jeżeli wolimy Ubuntu w ojczystym języku pobieramy go stąd.

Jeżeli już posiadamy wspomniany wcześniej system, uruchamiamy nasz komputer bootując go z płyty CD.

Po uruchomieniu systemu włączamy terminal i wpisujemy:

$ sudo fdisk -l

Polecenie to wylistuje wszystkie dostępne partycje w naszym komputerze. W wyświetlonej liście poszukujemy partycji, na której zainstalowaliśmy naszą dystrybucję systemu linux i zapamiętujemy, które do urządzenie. W moim przypadku będzie to /dev/sda1.

Kolejnym krokiem jest zamontowanie wybranej partycji w wybranym katalogu, co robimy poleceniem:

$ sudo mount /dev/sda1 /mnt

Jak widzimy montujemy naszą partycję linuksową w katalogu /mnt.

Jeżeli posiadamy katalog /boot na oddzielnej partycji musimy ją również zamontować (na przykład przyjmijmy, że katalog ten znajduje sie na /dev/sda2):

$ sudo mount /dev/sda2 /mnt/boot

Następnie montujemy pozostałe elementy, które będą nam potrzebne przy zmianie głównego katalogu systemu:

$ sudo mount –bind /dev /mnt/dev
$ sudo mount –bind /proc /mnt/proc
$ sudo mount –bind /sys /mnt/sys

Teraz możemy przystąpić do zmiany głównego katalogu w jakim będzie pracował system. Zmiany dokonujemy poleceniem chroot.

$ sudo chroot /mnt

Dzięki komendzie chroot możemy pracować na plikach zainstalowanej dystrybucji linuxa na naszej zamontowanej partycji.

Obecnie posiadamy prawa root’a w systemie i nie musimy już wywoływać polecenia sudo.

Możemy teraz przystąpić do naprawy naszego bootloadera. Edytujemy plik /etc/default/grub aby zmienić konfigurację GRUB’a.

$ nano /etc/default/grub

Kiedy skończymy edycję musimy wykonać polecenie:

$ update-grub

w celu stworzenia nowego pliku konfiguracyjnego.

Jeżeli chcemy dokonać instalacji GRUB 2 w MBR, musimy uruchomić polecenie grub-install i wskazać partycję, na której dokonujemy instalacji:

$ grub-install /dev/sda

Jeżeli podczas wykonywania powyższego polecenia wystąpią jakieś błędy możemy spróbować wykonać polecenie:

$ grub-install –recheck /dev/sda

Jeżeli wszystko przebiegło pomyślnie wciskamy Ctrl+D aby powrócić do wcześniejszego katalogu głównego systemu.

Przed zakończeniem pracy musimy odmontować wszystkie wcześniej zamontowane urządzenia zaczynając od:

$ sudo umount /mnt/dev
$ sudo umount /mnt/sys
$ sudo umount /mnt/proc

Teraz już możemy odmontować główny system plików, ale jeśli montowaliśmy oddzielną partycję bootującą (/boot) musimy ją pierwszą odmontować i dopiero potem główny system plików:

$ sudo umount /mnt

Gdy odmontujemy już wszystkie urządzenia możemy wyłączyć komputer i wyjąć płytę z Ubuntu. Po ponownym włączeniu komputera powinien ukazać się naszym oczom ekran wyboru systemu GRUB’a.

SuperGrubDisk

Alternatywnym rozwiązaniem jest wykorzystanie niedużej dystrybucji linuxa SuperGrubDisk umożliwia ona wykrywanie i bootowanie systemu, jak również przywrócenie i instalację GRUB’a. Na stronie projektu znajdziemy również wiele przydatnych informacji dotyczących problemów z bootowanie systemu i GRUB’em.


Tekst powstał na podstawie: Recover Grub 2 via LiveCD

GRUB rescue mode – bootowanie Windows

Jak zbootować system Windows z lini poleceń bootloadera GRUB w trybie “rescue mode”.

Logo GRUBPo dłuższym czasie nieużytkowania Debiana powróciłem do niego, jednak nie wiem co mnie pokusiło do aktualizacji całego systemu. Jak zwykle wszystko zaczęło się od błędów podczas instalacji. Czasu na grzebanie w systemu nie miałem więc postanowiłem zresetować system i sprawdzić czy w ogóle wstanie. Jak się okazało nie tyle system nie chciał wstać co w ogóle GRUB wywalił błąd i żadnego systemu nie dało rady zbootować.

No i pierwsza myśl jaka przyszła mi do głowy to Live CD i instalacja od nowa GRUB’a, ale jak sie okazało pod ręką nic nie było, a obraz ubuntu znajdował się na partycji windowsa. Ostatnią deską ratunku okazał się drugi PC na którym włączyłem ściąganie obrazu najnowszego Ubuntu.

W czasie ściągania zacząłem się zastanawiać jak włączyć bootowanie widnowsa z lini poleceń GRUB’a w trybie “rescu mode”, który był tylko dostępny.  Tryb rescue mode nie oferował za dużo, normalnie mamy dostępne tylko  komendy: instmode, ls, set, unset, jednak najciekawsze jest to, że polecenie help w tym trybie jest niedostępne. Próba włączenia  normalnego trybu w GRUB’ie zakończyła się fiaskiem.

grub rescue> insmod normal

Skoro GRUB odmawiał współpracy pozostał więc manual (GNU GRUB Manual)  i szukanie czegoś co by zasugerowało rozwiązanie.

Po bliższym zapoznaniu się z manualem [1] i [2] znalazłem odpowiednie polecenia które umożliwiają bootowanie systemu Windows z linii komend GRUB’a i to wszystko w trybie rescue:

grub rescue> insmod chain
grub rescue> insmod ntfs
grub rescue> set root=(hd0,1)
grub rescue> chainloader +1
grub rescue> boot

Jak nie trudno zauważyć są to po prostu opcje jakie ustawiamy w pliku konfiguracyjnym GRUB’a odpowiedzialne za bootowanie windowsa. Jedynym wyjątkiem jest poleceniem boot które bootuje system z partycji wskazanej poleceniem set root=(hd0,1).