[How To] Naprawa / Odzyskiwanie GRUB2 z użyciem LiveCD
: 11 kwie 2010, 22:49
Czasami zdarza się, instalując inny system operacyjny (np. Windows), że nasz program rozruchowy (boot loader) zostanie zastąpiony przez inny, uniemożliwiając uruchomienie wszystkich systemów. W takim przypadku musimy przywrócić pierwotny program rozruchowy. Poniższy opis przedstawia odzyskanie domyślnego boot loadera Ubuntu (GRUB2) z wykorzystaniem płyty Ubuntu Desktop CD.
Opracowane na podstawie https://wiki.ubuntu.com/Grub2#Recover%2 ... a%20LiveCD
Uruchom płytę Ubuntu LiveCD.
Otwórz Terminal (Programy / Akcesoria / Terminal) i wykonaj polecenie:
Wyświetli się coś na wzór:
Odnajdź i zapamiętaj ścieżkę do urządzenia, gdzie znajduje się główna partycja Linuksa. W moim przypadku jest to /dev/sda1 i poniższe polecenia odwołują się do takiego przykładu. Upewnij się jaka ścieżka jest poprawna w twojej konfiguracji!
Zamontuj główny system plików.
Jeżeli używałeś oddzielnej partycji dla /boot musisz ją także zamontować. Jako przykład zostanie użyta ścieżka do urządzenia /dev/sda2. Upewnij się jaka jest poprawna dla twojej konfiguracji. Jeżeli nie używałeś oddzielnej partycji dla /boot pomiń ten krok.
Zamontuj resztę urządzeń
Chrootuj się na swój system
Powinieneś teraz mieć zmieniony katalog główny. Wszystkie poniższe polecenia wykonujesz już jako administrator (root) więc nie ma potrzeby używania sudo.
Jeżeli potrzebujesz dokonać ustawień w opcjach GRUBa wykonaj polecenie:
CTRL+O - zapisuje ustawienia; CTRL+X wychodzi z edytora
Następnie zaktualizuj plik konfiguracyjny GRUBa poleceniem:
Jeżeli na dysku masz zainstalowane inne systemy operacyjne, przy wykonywaniu polecenia może wyskoczyć komunikat "Cannot find list of partitions!". Zignoruj go i kontynuuj.
Aby zainstalować GRUB 2 w MBR wykonaj:
Jeżeli napotkasz jakieś błędy spróbuj wykonać:
Naciśnij CTRL+D, aby opuścić chroota.
Następnie odmontuj zamontowane uprzednio urządzenia:
Jeżeli nie montowałeś oddzielnej partycji /boot opuść drugie polecenie.
Dokonaj restartu i uruchom Linuksa z dysku twardego.
Jeżeli na dysku masz zainstalowane inne systemy operacyjne, po uruchomieniu Linuksa otwórz Terminal (Programy / Akcesoria / Terminal) i wykonaj:
Opracowane na podstawie https://wiki.ubuntu.com/Grub2#Recover%2 ... a%20LiveCD
Uruchom płytę Ubuntu LiveCD.
Otwórz Terminal (Programy / Akcesoria / Terminal) i wykonaj polecenie:
Kod: Zaznacz cały
sudo fdisk -l
Kod: Zaznacz cały
$ sudo fdisk -l
Dysk /dev/sda: 30.1 GB, bajtów: 30060527616
głowic: 255, sektorów/ścieżkę: 63, cylindrów: 3654
Jednostka = cylindrów, czyli 16065 * 512 = 8225280 bajtów
Rozmiar sektora (logiczny/fizyczny) w bajtach: 512 / 512
Rozmiar we/wy (minimalny/optymalny) w bajtach: 512 / 512
Identyfikator dysku: 0x316f8b07
Urządzenie Rozruch Początek Koniec Bloków ID System
/dev/sda1 1 1044 8385898+ 83 Linux
/dev/sda2 1045 3654 20964825 83 Linux
Dysk /dev/sdb: 80.0 GB, bajtów: 80026361856
głowic: 255, sektorów/ścieżkę: 63, cylindrów: 9729
Jednostka = cylindrów, czyli 16065 * 512 = 8225280 bajtów
Rozmiar sektora (logiczny/fizyczny) w bajtach: 512 / 512
Rozmiar we/wy (minimalny/optymalny) w bajtach: 512 / 512
Identyfikator dysku: 0x6877f7e6
Urządzenie Rozruch Początek Koniec Bloków ID System
/dev/sdb1 * 1 9729 78148161 7 HPFS/NTFS
Zamontuj główny system plików.
Kod: Zaznacz cały
sudo mount /dev/sda1 /mnt
Kod: Zaznacz cały
sudo mount /dev/sda2 /mnt/boot
Kod: Zaznacz cały
sudo mount --bind /dev /mnt/dev
Kod: Zaznacz cały
sudo chroot /mnt
Jeżeli potrzebujesz dokonać ustawień w opcjach GRUBa wykonaj polecenie:
CTRL+O - zapisuje ustawienia; CTRL+X wychodzi z edytora
Kod: Zaznacz cały
nano /etc/default/grub
Kod: Zaznacz cały
update-grub
Aby zainstalować GRUB 2 w MBR wykonaj:
Kod: Zaznacz cały
grub-install /dev/sda
Kod: Zaznacz cały
grub-install --recheck /dev/sda
Następnie odmontuj zamontowane uprzednio urządzenia:
Jeżeli nie montowałeś oddzielnej partycji /boot opuść drugie polecenie.
Kod: Zaznacz cały
sudo umount /mnt/dev
sudo umount /mnt/boot
sudo umount /mnt
Jeżeli na dysku masz zainstalowane inne systemy operacyjne, po uruchomieniu Linuksa otwórz Terminal (Programy / Akcesoria / Terminal) i wykonaj:
Kod: Zaznacz cały
sudo update-grub
sudo grub-install /dev/sda