Gorodenkoff - stock.adobe.com
Probleme mit GRUB beim Boot von Linux lösen
Wenn GRUB den Start von Linux blockiert, hilft oft nur noch eine komplette Neu-Installation. Dieser Artikel zeigt, wie es geht und in welchen Fällen ein manueller Neustart genügt.
GRUB (Grand Unified Bootloader) ist eine notwendige Komponente, um Linux zu starten. Aber es kann Probleme verursachen, die den normalen Boot-Prozess stören. Es gibt im Wesentlichen zwei Möglichkeiten, Boot-Probleme bei Linux zu lösen: eine Neuinstallation von GRUB oder das erneute Einrichten über die Kommandozeile.
GRUB-Probleme können sich auf verschiedene Arten zeigen: Es erscheint lediglich ein blinkender Cursor, wenn Ihr Server startet. GRUB generiert eine allgemeine GRUB-Fehlermeldung. GRUB gibt an, dass es eine notwendige Datei nicht finden kann.
Neuinstallation von GRUB, um Linux-Boot-Probleme zu lösen
Haben Sie auf Ihrem Computer ein ernsthaftes Problem mit dem Master Boot Record (MBR), sehen Sie vielleicht nur einen blinkenden Cursor, wenn der Rechner startet.
Gibt es Probleme mit dem MBR, dann gibt es auch kein GRUB und Sie sehen keine GRUB-Fehlermeldungen. In so einer Situation ist es nicht möglich, den Computer zu starten. Sie brauchen eine Rettungs-CD, um ihn zu booten. Knoppix ist ein Werkzeug, mit dem Sie den Computer starten können.
Wollen Sie Linux-Boot-Probleme reparieren, stellen Sie sicher, dass alles auf der Festplatte gemountet ist. Verschaffen Sie sich mittels einer chroot-Umgebung Zugriff und führen Sie dann den Befehl grub-install aus, um GRUB neu zu installieren.
Möchten Sie GRUB im MBR installieren und die Festplatte ist in Ihrem Fall die Gerätedatei /dev/sda, dann lautet der Befehl entsprechend grub-install /dev/sda.
Der Befehl liest die Konfigurationsdatei von GRUB aus. Das ist bei den meisten Distributionen /boot/grub/menu.lst. Danach wird der neue GRUB Bootloader in den MBR geschrieben.
Hier die Ausgabe, die Sie sehen sollten, wenn Sie GRUB mithilfe von grub-install neu installieren:
root@Knoppix:/# grub-install /dev/sda You shouldn't call/sbin/grub-install. Please call /usr/sbin/grub-install instead!
Searching for GRUB installation directory ... found: /boot/grub Installation finished. No error reported. This is the contents of the device map /boot/grub/device.map.
Check if this is correct or not. If any of the lines is incorrect, fix it and re-run the script 'grub-install'. (hd0) /dev/sda
Manuelles booten mit GRUB
Sie müssen GRUB nicht immer neu installieren, um Probleme beim Booten mit Linux zu reparieren. Existiert der GRUB-Code weiterhin, aber kann wegen eines Problems in der Konfigurationsdatei von GRUB nicht starten, können Sie einen manuellen Neustart versuchen.
Das ist dann die beste Vorgehensweise, wenn GRUB eine Fehlermeldung auswirft und dann stoppt. Durch den manuellen Neustart gehen Sie dem Problem auf den Grund und finden wahrscheinlich Hinweise, um es zu lösen.
Für den Zugriff auf das GRUB-Boot-Menü beobachten Sie den Computer während des Starts. In den meisten Fällen bekommen Sie die Meldung, dass Sie die Taste Esc drücken müssen, sobald GRUB aufgerufen wird. Damit gelangen Sie zur Kommandozeile von GRUB.
Sie können auch den Boot mit einer Rettungs-CD starten und den Befehl grub eingeben, um die Kommandozeile von GRUB aufzurufen.
Praktischerweise hat die GRUB Shell eine Hilfefunktion. Deshalb müssen Sie sich nicht alle Befehle merken. Eine Übersicht aller möglichen Kommandos erhalten Sie, indem Sie den Befehl help ausführen.
Um GRUB manuell zu starten, müssen Sie alle Befehle aus der Datei /boot/grub/menu.lst eingeben. Am besten sehen Sie sich dafür den aktuellen Inhalt der Datei menu.lst an.
Sie können das via GRUB Shell erledigen, indem Sie den Befehl cat /boot/grub/menu.lst ausführen. In dieser Datei finden Sie alle Informationen, um den Start von Linux zu reparieren.
Anhand der Vorlage können Sie nun die richtigen Zeilen für GRUB alle manuell eingeben. Das heißt, Sie verwenden die Zeilen für root, kernel und initrd. Ein mögliches Beispiel sieht wie folgt aus:
root (hd0,0)
kernel /boot/vmlinuz-2.6.24-16-server root=/dev/sda2 ro splash
initrd /boot/initrd-2.6.24-16-server
Nachdem Sie die Befehle ausgeführt haben, erwartet der Computer weitere Instruktionen. Sie müssen nun den Boot-Befehl ausführen, um den Startprozess zu initiieren. Beobachten Sie die Situation und stellen Sie sicher, dass es keine Boot-Fehler gibt.
Möglicherweise bekommen Sie eine Fehlermeldung, wenn Sie die Zeilen von menu.lst manuell eingeben, um den Linux-Boot-Vorgang zu reparieren. Kommt es zu einer Fehlermeldung, suchen Sie Ihren Code nach möglichen Fehlerquellen ab und führen Sie gegebenenfalls GRUB im Anschluss erneut aus.