GRUB steht für gRand Unifiziert Bootloader. Es ist das erste Softwareprogramm, das beim Starten Ihres Computers ausgeführt wird. Der Bootloader ist für das Laden und Booten des Betriebssystemkernels verantwortlich. GRUB ist der Standard-Bootloader für Linux-Kernel-basierte Betriebssysteme.
In einigen Fällen müssen Sie sowohl Linux als auch Windows auf demselben Computer (Laptop oder PC) ausführen. Möglicherweise treten Probleme mit GRUB auf. Für example, wenn Sie Windows nach der Linux-Installation installieren, initiiert Windows seinen eigenen Bootloader auf dem MBR (Master Boot Record). GRUB ist also nicht mehr verfügbar und Sie können nicht in das Linux-Betriebssystem booten.
Dieses Tutorial wird einige Szenarien durchgehen, die GRUB nicht bootfähig machen und wie Sie GRUB-Befehle verwenden, um Ihr Linux-Betriebssystem vor dem Booten zu retten.
Wann werden die Grub-Rescue-Befehle verwendet?
Heutzutage verwenden die meisten Linux-Systeme GRUB2 (Grub-Version 2). GRUB2 ist ein Ersatz für den GRUB-Bootloader.
Wenn GRUB den Grub-Ordner nicht finden kann oder der Inhalt darin beschädigt ist, sieht die GRUB-Eingabeaufforderung so aus:
error: no such partition.
grub rescue > _
oder
error: unknown filesystem.
grub rescue > _
oder
grub > _
Dieser Fehler verhindert, dass Sie in Ihr Betriebssystem booten. In den folgenden Abschnitten wird erläutert, wie Sie dieses Problem beheben können.
General Node: Getting into grub mode is general a very common issue when you do a dual boot. Most of the time the fix is to boot using Live USB and chroot into your installed system, then use os-prober and grub install
Grub-Rettungsbefehle
Jeder der fehlgeschlagenen GRUB-Modi kann durch das Grub-Terminal oder das Live-CD-Installationsprogramm behoben werden.
Geben Sie an der Grub-Eingabeaufforderung ‘ls’ ein, um die Laufwerke und verfügbaren Partitionen anzuzeigen:
grub > ls
(hd0) (hd0,msdos2) (hd0,msdos1)
grub > _
Wo:
hd0: die Festplatte
msdos: der Partitionstyp
Normalerweise wird das Betriebssystem von der ersten Partition der Festplatte gebootet. Um in diesem Fall zu überprüfen, ob die bootfähige Partition ‘msdos1’ ist, führen wir den folgenden Befehl aus:
grub > ls (hd0,msdos1)/
Als nächstes erkunden wir das grub2-Verzeichnis, indem wir Folgendes ausführen:
grub > ls (hd0,msdos1)/grub2
Ausgabe:
device.map fonts grub.cfg grub.cfg.1590068449.rpmsave grubenv i386-pc locale
Wie Sie sehen, hat der Grub unter Linux seine eigene Konfigurationsdatei: ‘grub.cfg’.
Wenn Sie diese Datei nicht sehen, können Sie sie erstellen, indem Sie den folgenden Befehl ausführen:
grub2-mkconfig
Um Ihr System zu booten, geben wir Folgendes ein:
grub > set root=(hd0,msdos1)
Ausgabe:
linux (hd0,msdos1)/vmlinuz-3.10.0-1127.13.1.el7.x86_64 root=/dev/sda1
Das Ausführen von ‘set root’ definiert die bootfähige Partition. Der Standardkernel ist Linux v3.10.
Jetzt müssen wir den Pfad zum grub2-Verzeichnis definieren:
grub > set prefix=(hd0,msdos1)/grub2
grub > insmod normal
Dann:
initrd (hd0,msdos1)/initramfs-3.10.0-1127.13.1.el7.x86_64.img
Auch hier müssen Sie die Partition in Ihre Boot-Partition ändern.
Wenn Sie Ihr System nicht booten können (was möglicherweise auf ein fehlerhaftes Dateisystem oder eine fehlende GRUB-Konfigurationsdatei zurückzuführen ist), müssen Sie von einem anderen Medium booten. Sie können eine bootfähige Rettungs-CD oder die Live-CD Ihrer Distribution verwenden, falls verfügbar.
Nachdem Sie Ihr System gestartet haben, müssen Sie möglicherweise die GRUB-Konfigurationsdateien erstellen, falls diese fehlen oder falsch konfiguriert sind. Um diese Konfigurationsdateien zu erstellen, führen Sie Folgendes aus:
$ update-grub
Dieser Befehl benötigt Superuser-Rechte. Führen Sie diesen Befehl (und die folgenden Befehle in diesem Artikel) als Root aus.
Der nächste Schritt ist die Installation von GRUB auf dem MBR. Dadurch wird das von Windows verursachte Problem behoben, bei dem Windows nach der Installation von Windows über Linux seinen Bootloader auf MBR installiert. Hier gehe ich davon aus, dass Sie von der Live- oder Rescue-CD gebootet haben.
Bevor wir nun zu den Details der Installation von GRUB auf MBR gehen, müssen wir die Root-Partition von Linux mounten.
$ sudo mount /dev/sda1 /mnt
Hier wird angenommen, dass die Root-Partition ‘/dev/sda1’ ist. Diese Partition ist im Verzeichnis /mnt eingehängt. Sie können Ihren eigenen Einhängepunkt wählen, und Ihre Root-Dateisystempartition kann anders sein.
Jetzt können wir GRUB installieren. Führen Sie den folgenden Befehl aus:
$ sudo grub-install --root-directory=/mnt/ /dev/sda
Dadurch wird GRUB im Master Boot Record installiert. Wenn Sie es auf einer Partition installieren möchten, ersetzen Sie das letzte Argument des obigen Befehls durch die richtige Partition.
Grub-Rettung durch Boot-Repair
Eine andere Möglichkeit, den Grub auf Ubuntu und fast allen Linux-Distributionen zu retten, ist die Verwendung des Boot-Repair-Tools. Es ist ein grafisches Dienstprogramm, das den Grub2-Bootloader mit einigen Klicks reparieren kann.
Sie müssen ein Live-USB/DVD-Installationsprogramm vorbereiten und in die Live-Linux-Umgebung booten. Verbinden wir dann Ihr Live-Betriebssystem mit dem Internet, installieren Sie Boot-Repair, indem Sie die folgenden Befehle ausführen:
$ sudo add-apt-repository -y ppa:yannubuntu/boot-repair
$ sudo apt-get update
$ sudo apt-get install -y boot-repair && boot-repair
Das Boot-Reparatur-Tool wird gestartet und Sie können die Schaltfläche “Recommend Repair” auswählen und einige nächste Schritte ausführen, um Ihren Bootloader zu reparieren.
Fazit
In diesem Tutorial haben wir gelernt, wie man den Grub-Rescue-Befehl verwendet, um den Boot-Fehler des Betriebssystems zu beheben. Vielen Dank fürs Lesen und hinterlassen Sie bitte Ihren Vorschlag im Kommentarbereich unten.