Jak przywrócić program ładujący Grub w systemie Linux

Jak przywrócić program ładujący Grub w systemie Linux

GNU Grand Unified Bootloader (GRUB) to potężne i elastyczne narzędzie, które łączy BIOS płyty głównej z jądrem systemu operacyjnego. Działa poprzez załadowanie małego programu do pamięci płyty głównej, którego używa do załadowania większego binarnego pliku binarnego.

Istnieją jednak przypadki, w których GNU GRUB nie ładuje jądra systemu operacyjnego. Na przykład konfiguracja podwójnego rozruchu z systemami Linux i Windows często powoduje, że ten ostatni usuwa program ładujący GNU. Ten samouczek pokazuje, jak możesz odzyskać system, ponownie instalując GRUB przy użyciu niektórych najpopularniejszych dystrybucji Linuksa.

Przywracanie GRUB-a na Ubuntu i Debianie

Jednym z najszybszych sposobów ponownej instalacji GNU GRUB w Ubuntu i Debianie jest uruchomienie działającej kopii dowolnej dystrybucji. W ten sposób możesz zamontować partycję główną systemu i użyć plików binarnych GRUB dystrybucji na żywo, aby odtworzyć program ładujący systemu.

Okno przedstawiające ekran powitalny Ubuntu Live.
  • Otwórz terminal w swoim środowisku dystrybucji na żywo.
Zrzut ekranu środowiska Ubuntu Live.
  • Znajdź nazwę urządzenia partycji głównej systemu. Możesz to zrobić, uruchamiając następujące polecenie:

sudo fdisk -l | grep "Linux filesystem$"

Okno pokazujące bieżący główny system plików dla maszyny.
  • Zamontuj partycję główną systemu w katalogu „/mnt” swojej dystrybucji na żywo:

sudo mount /dev/sda1 /mnt

Okno przedstawiające montowanie partycji głównej w sesji na żywo.
  • Ponownie zainstaluj pliki binarne GRUB:

sudo grub-install --force --boot-directory=/mnt/ /dev/sda1

Okno pokazujące proces ponownej instalacji GRUB dla Ubuntu.
  • Wyłącz komputer. Wyjmij dysk USB i uruchom go ponownie. Powinien uruchomić się w twoim systemie operacyjnym Linux.
  • Odśwież plik konfiguracyjny GRUB systemu, aby odzwierciedlić aktualny stan komputera:

sudo update-grub

Okno pokazujące proces aktualizacji GRUB dla Ubuntu.

Przywracanie GRUB w Arch Linux

Oprócz Ubuntu i Debiana możliwe jest również użycie żywej kopii Arch Linux do przywrócenia programu ładującego. Jedną z zalet tego jest to, że Arch Linux na żywo nie polega na żadnym wyświetlaczu graficznym, więc możesz łatwo przywrócić GRUB nawet na maszynach bezgłowych przez SSH.

Zrzut ekranu przedstawiający działające środowisko Arch Linux.
  • Określ partycję główną swojego systemu za pomocą lsblk :

lsblk

Zrzut ekranu przedstawiający wszystkie dostępne partycje w bieżącej sesji.
  • Zamontuj swój katalog główny w swoim środowisku na żywo:

mount /dev/sda1 /mnt

  • Powiąż proces systemu na żywo z katalogiem głównym systemu:

mount --bind /sys /mnt/sys
mount --bind /proc /mnt/proc
mount --bind /run /mnt/run
mount --bind /dev /mnt/dev

Zrzut ekranu przedstawiający proces montowania plików specjalnych.
  • Zmień katalog główny bieżącej sesji na swój system:

chroot /mnt /bin/sh -i

  • Zainstaluj ponownie pliki binarne programu ładującego system, wykonując następujące czynności:

/sbin/grub-install --target=i386-pc /dev/sda

Okno przedstawiające proces ponownej instalacji GRUB-a w Arch Linux.
  • Załaduj ponownie plik konfiguracyjny GRUB systemu:

/sbin/grub-mkconfig > /boot/grub/grub.cfg

  • Naciśnij Ctrl+ D, aby wylogować się z katalogu głównego systemu.
Zrzut ekranu przedstawiający program grub-mkconfig odtwarzający konfigurację systemu GRUB.
  • Przetestuj swój nowy program ładujący, ponownie uruchamiając system:

reboot

Zrzut ekranu przedstawiający polecenie ponownego uruchomienia w Arch Linux.

Przywracanie GRUB-a w Fedorze

Podobnie jak w przypadku Ubuntu i Debiana, przywracanie Gruba w Fedorze jest równie łatwe.

Zrzut ekranu domyślnej sesji na żywo Fedory.
  • Znajdź partycję główną swojego komputera:

sudo fdisk -l | grep "Linux filesystem$"

Okno pokazujące partycje systemu plików Linux w sesji na żywo.
  • Zamontuj partycję root swojego systemu i utwórz montowanie powiązania między nią a sesją na żywo:

sudo mount /dev/sda3 /mnt
sudo mount --bind /sys /mnt/root/sys
sudo mount --bind /proc /mnt/root/proc
sudo mount --bind /run /mnt/root/run
sudo mount --bind /dev /mnt/root/dev

  • Przenieś główny system plików do katalogu „/mnt”:

sudo chroot /mnt/root bashmount /dev/sd3 /mount /dev/sda2 /boot

Okno pokazujące chroot i dodatkowe montowania dla Fedory.
  • Usuń wszystkie istniejące pliki konfiguracyjne modułu ładującego w systemie:

rm -f /etc/grub.d/*rm -f /etc/sysconfig/grub

Okno przedstawiające proces usuwania domyślnych plików GRUB.
  • Utwórz nowy plik konfiguracyjny GRUB dla swojego systemu:

grub2-mkconfig -o /boot/grub2/grub.cfg

  • Zainstaluj GRUB na partycji rozruchowej komputera:

grub2-install --target=i386-pc /dev/sda

Okno przedstawiające proces ponownej instalacji GRUB-a dla Fedory.

FYI: Systemd-boot to binarny program ładujący nowej generacji dla systemu Linux. Dowiedz się, co czyni go wyjątkowym i jak systemd-boot wypada na tle czcigodnego GRUB .

Często Zadawane Pytania

Czy można przywrócić GRUB, jeśli mój system używa LVM?

Tak. Nadal możesz przywrócić GRUB, nawet jeśli twój system używa LVM. Aby to zrobić, uruchom ls /dev/mapper/*--vg-root, aby określić bezwzględną ścieżkę do pliku dla partycji głównej komputera. Użyj tej ścieżki bezwzględnej zamiast tradycyjnej „/dev/sda1”.

Czy przywrócenie GRUB-a usunie inne systemy operacyjne z mojego dysku?

Nie. Program ładujący z założenia wie tylko, gdzie znaleźć kilka pierwszych bajtów jądra systemu operacyjnego. Wymiana programu ładującego nie wpłynie na żaden istniejący system operacyjny na dysku.

Czy można ponownie zainstalować GRUB w systemie UEFI?

Tak. Aby to zrobić, musisz upewnić się, że prawidłowo zamontowałeś partycję „/ boot / efi” swojego systemu UEFI. Musisz także zmodyfikować wartość flagi --boot-directoryna grub-install„/boot/efi”.

W przypadku Fedory musisz także zmienić -oflagę grub2-mkconfigna
„/boot/efi/EFI/fedora/grub.cfg”.

Źródło obrazu: Unsplash . Wszystkie przeróbki i zrzuty ekranu autorstwa Ramces Red.

  • Facebook
  • Ćwierkać

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *