[How To] Naprawa / Odzyskiwanie GRUB2 z użyciem LiveCD

Awatar użytkownika
Echinos
Serdeczny Borsuk
Serdeczny Borsuk
Posty: 237
Rejestracja: 15 maja 2005, 09:48
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: GNOME
Architektura: x86_64
Kontaktowanie:

[How To] Naprawa / Odzyskiwanie GRUB2 z użyciem LiveCD

Postautor: Echinos » 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%20Grub%202%20via%20LiveCD

Uruchom płytę Ubuntu LiveCD.
Otwórz Terminal (Programy / Akcesoria / Terminal) i wykonaj polecenie:

Kod: Zaznacz cały

sudo fdisk -l

Wyświetli się coś na wzór:

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

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.

Kod: Zaznacz cały

sudo mount /dev/sda1 /mnt


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.

Kod: Zaznacz cały

sudo mount /dev/sda2 /mnt/boot


Zamontuj resztę urządzeń

Kod: Zaznacz cały

sudo mount --bind /dev /mnt/dev


Chrootuj się na swój system

Kod: Zaznacz cały

sudo chroot /mnt


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

Kod: Zaznacz cały

nano /etc/default/grub


Następnie zaktualizuj plik konfiguracyjny GRUBa poleceniem:

Kod: Zaznacz cały

update-grub

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:

Kod: Zaznacz cały

grub-install /dev/sda


Jeżeli napotkasz jakieś błędy spróbuj wykonać:

Kod: Zaznacz cały

grub-install --recheck /dev/sda


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.

Kod: Zaznacz cały

sudo umount /mnt/dev
sudo umount /mnt/boot
sudo umount /mnt


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:

Kod: Zaznacz cały

sudo update-grub
sudo grub-install /dev/sda

Wróć do „Instalacja i konfiguracja systemu”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 3 gości