So stellen Sie den Grub-Bootloader unter Linux wieder her
Der GNU Grand Unified Bootloader (GRUB) ist ein leistungsstarkes und flexibles Dienstprogramm, das das BIOS Ihres Motherboards mit dem Kernel Ihres Betriebssystems verbindet. Es funktioniert, indem es ein kleines Programm in den Speicher Ihres Motherboards lädt, das es verwendet, um eine größere Multiboot-Binärdatei zu booten.
Es gibt jedoch Fälle, in denen GNU GRUB den Kernel Ihres Betriebssystems nicht laden kann. Beispielsweise führt ein Dual-Boot-Setup mit Linux und Windows häufig dazu, dass letzteres den GNU-Bootloader auslöscht. Dieses Tutorial zeigt Ihnen, wie Sie Ihr System wiederherstellen können, indem Sie GRUB mit einigen der beliebtesten Linux-Distributionen neu installieren.
Wiederherstellen von GRUB auf Ubuntu und Debian
Eine der schnellsten Möglichkeiten, GNU GRUB in Ubuntu und Debian neu zu installieren, besteht darin, eine Live-Kopie einer der beiden Distributionen zu booten. Auf diese Weise können Sie die Root-Partition Ihres Systems mounten und die GRUB-Binärdateien der Live-Distribution verwenden, um den Bootloader Ihres Systems neu zu erstellen.
- Öffnen Sie ein Terminal in Ihrer Live-Distributionsumgebung.
- Suchen Sie den Gerätenamen der Root-Partition Ihres Systems. Sie können dies tun, indem Sie den folgenden Befehl ausführen:
sudo fdisk -l | grep "Linux filesystem$"
- Hängen Sie die Root-Partition Ihres Systems in das Verzeichnis „/mnt“ Ihrer Live-Distribution ein:
sudo mount /dev/sda1 /mnt
- Installieren Sie Ihre GRUB-Binärdateien neu:
sudo grub-install --force --boot-directory=/mnt/ /dev/sda1
- Fahren Sie den PC herunter. Entfernen Sie das USB-Laufwerk und starten Sie es erneut. Es sollte in Ihr Linux-Betriebssystem booten.
- Aktualisieren Sie die GRUB-Konfigurationsdatei Ihres Systems, um den aktuellen Zustand Ihres Computers widerzuspiegeln:
sudo update-grub
Wiederherstellen von GRUB unter Arch Linux
Neben Ubuntu und Debian ist es auch möglich, eine Live-Kopie von Arch Linux zu verwenden , um Ihren Bootloader wiederherzustellen. Ein Vorteil davon ist, dass Live-Arch-Linux nicht auf eine grafische Anzeige angewiesen ist, sodass Sie GRUB auch auf Headless-Maschinen über SSH problemlos wiederherstellen können.
- Bestimmen Sie die Root-Partition Ihres Systems mit lsblk :
lsblk
- Mounten Sie Ihr Root-Verzeichnis in Ihrer Live-Umgebung:
mount /dev/sda1 /mnt
- Binden Sie den Prozess des Live-Systems in das Stammverzeichnis Ihres Systems:
mount --bind /sys /mnt/sys
mount --bind /proc /mnt/proc
mount --bind /run /mnt/run
mount --bind /dev /mnt/dev
- Ändern Sie das Stammverzeichnis Ihrer aktuellen Sitzung auf Ihr System:
chroot /mnt /bin/sh -i
- Installieren Sie die Bootloader-Binärdateien Ihres Systems neu, indem Sie Folgendes ausführen:
/sbin/grub-install --target=i386-pc /dev/sda
- Laden Sie die GRUB-Konfigurationsdatei Ihres Systems neu:
/sbin/grub-mkconfig > /boot/grub/grub.cfg
- Drücken Sie Ctrl+, Dum sich vom Root Ihres Systems abzumelden.
- Testen Sie Ihren neuen Bootloader, indem Sie Ihr System neu starten:
reboot
Wiederherstellen von GRUB auf Fedora
Ähnlich wie bei Ubuntu und Debian ist die Wiederherstellung von Grub auf Fedora ebenso einfach.
- Suchen Sie die Root-Partition Ihres Computers:
sudo fdisk -l | grep "Linux filesystem$"
- Mounten Sie die Root-Partition Ihres Systems und erstellen Sie eine Bind-Mount zwischen ihr und Ihrer Live-Sitzung:
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
- Verschieben Sie das Root-Dateisystem in Ihr „/mnt“-Verzeichnis:
sudo chroot /mnt/root bashmount /dev/sd3 /mount /dev/sda2 /boot
- Entfernen Sie alle vorhandenen Bootloader-Konfigurationsdateien in Ihrem System:
rm -f /etc/grub.d/*rm -f /etc/sysconfig/grub
- Erstellen Sie eine neue GRUB-Konfigurationsdatei für Ihr System:
grub2-mkconfig -o /boot/grub2/grub.cfg
- Installieren Sie GRUB auf der Bootpartition Ihres Computers:
grub2-install --target=i386-pc /dev/sda
FYI: Systemd-boot ist eine Bootloader-Binärdatei der nächsten Generation für Linux. Erfahren Sie, was es besonders macht und wie sich systemd-boot gegen das ehrwürdige GRUB schlägt .
Häufig gestellte Fragen
Ist es möglich, GRUB wiederherzustellen, wenn mein System LVM verwendet?
Ja. Sie können GRUB auch dann wiederherstellen, wenn Ihr System LVM verwendet. Führen Sie dazu aus, ls /dev/mapper/*--vg-root
um den absoluten Dateipfad für die Root-Partition Ihres Computers zu ermitteln. Verwenden Sie diesen absoluten Pfad anstelle des traditionellen „/dev/sda1“.
Werden durch die Wiederherstellung von GRUB andere Betriebssysteme auf meiner Festplatte gelöscht?
Nein. Ein Bootloader weiß konstruktionsbedingt nur, wo er die ersten paar Bytes des Kernels eines Betriebssystems finden kann. Das Ersetzen Ihres Bootloaders wirkt sich nicht auf vorhandene Betriebssysteme auf Ihrer Festplatte aus.
Ist es möglich, GRUB auf einem UEFI-System neu zu installieren?
Ja. Dazu müssen Sie sicherstellen, dass Sie die „/boot/efi“-Partition Ihres UEFI-Systems ordnungsgemäß gemountet haben. Sie müssen auch den Wert des --boot-directory
Flags in grub-install
„/boot/efi“ ändern.
-o
Für Fedora müssen Sie auch das Flag für grub2-mkconfig
„ /boot/efi/EFI/fedora/grub.cfg“ ändern
.
Bildnachweis: Unsplash . Alle Änderungen und Screenshots von Ramces Red.
- Twittern
Schreibe einen Kommentar