So verwenden Sie GRUB Rescue, um Linux zu reparieren


Ubuntu Linux-Startbildschirm auf einem Laptop
Jordan Gloor / How-To Geek

Wenn Ihre GRUB-Shells eine „grub>“-Eingabeaufforderung anzeigen, können Sie die verwenden ls, set, linuxUnd initrd Befehle zum Reparieren Ihres Linux-Systems. Wenn Sie stattdessen die Eingabeaufforderung „Grub Rescue>“ sehen, verwenden Sie set, insmod, linuxUnd initrd Befehle zum Booten Ihres PCs.

Wenn Ihr Linux-Computer sein Betriebssystem nicht starten kann, werden Sie wahrscheinlich auf eine Eingabeaufforderung in der GRUB-Shell starren. Befolgen Sie diese Schritte, um Ihre defekten Boot-Prozesse zu reparieren.

Wenn Ihr Bootloader nicht startet

Es gibt nur sehr wenige Computerprobleme, die einem so tief ins Herz fallen wie das Scheitern Stiefel. Ohne ein funktionierendes Betriebssystem ist Ihr Computer kein wirklicher Computer.

Es kann sich um ein sehr undurchsichtiges Problem handeln, bei dem es keine einfache Möglichkeit gibt, der Ursache auf den Grund zu gehen. Ohne Zugriff auf Linux können Sie keine der üblichen Diagnosetools und -prozesse verwenden, die Sie zur Untersuchung des Problems verwenden würden. Und ohne herauszufinden, wo das Problem liegt, wie können Sie es beheben?

Unter Linux, RODEN ist die Software, die den Bootvorgang steuert. Wenn Sie mehrere Betriebssysteme installiert haben, können Sie das Betriebssystem auswählen, mit dem Sie booten möchten.

GRUB wird durch seine Konfiguration gesteuert. Um seine Funktionen auszuführen, ist es auch auf andere unterstützende Dateien angewiesen. Wenn eines davon fehlt oder beschädigt ist, funktioniert GRUB nicht. Änderungen an den Festplatten und Partitionen Ihres Computers müssen in der GRUB-Konfiguration berücksichtigt werden. Ist dies nicht der Fall, ergeben die Anweisungen von GRUB keinen Sinn und Ihr Bootvorgang funktioniert nicht.

Nebenbei bemerkt, das, was wir alle GRUB nennen, ist eigentlich GRUB 2. Dabei handelt es sich um eine erweiterte Version von GRUB, die bereits 2012 veröffentlicht wurde. Neben anderen Änderungen hat sie die Art und Weise geändert, wie die Datei „grub.cfg“ erstellt wurde, und ermöglicht es Ihnen Booten Sie von einem Wechselmedium.

Wenn GRUB ein Betriebssystem nicht laden kann, wird in der GRUB-Shell eine Eingabeaufforderung angezeigt. Dies ist eine minimalistische Umgebung, in der Sie eine Handvoll Aktionen ausführen können. Bei richtiger Ausführung können diese Schritte Ihren Computer jedoch wieder zum Leben erwecken.

Es gibt zwei verschiedene GRUB-Shells. Abhängig von der Grundursache des Problems werden Sie möglicherweise an einer GRUB-Shell-Eingabeaufforderung angezeigt:

grub>

oder bei einem GRUB Rettung Shell-Eingabeaufforderung:

grub rescue>

Die GRUB-Rettungsshell ist noch eingeschränkter als die GRUB-Shell, bietet aber immer noch genug Leistung, um Ihren Computer zum Booten zu bringen. Sobald Ihr Computer hochgefahren ist, können Sie die Grundursache viel besser beheben.

Verwenden der GRUB-Shell

Die GRUB-Shell ist eine Befehlszeilenschnittstelle, mit der Sie eine kleine Teilmenge von Linux-Befehlen verwenden können. Wenn Sie sich hier und nicht auf Ihrem üblichen Anmeldebildschirm befinden, bedeutet das, dass Ihr Startvorgang durcheinander ist.

Die GRUB-Shell-Eingabeaufforderung

Die Befehle, auf die Sie Zugriff haben, sind nicht die gleichen wie bei den üblichen Linux-Versionen. Zum Beispiel die GRUB-Shell ls Befehl ist nicht der Bash ls Befehl. Es hat damit sehr wenig gemeinsam. Wir können dies sehen, indem wir die verwenden --help Möglichkeit.

ls --help

Verwenden der Option --help mit der GRUB-Shell-Version von ls

Es werden nur fünf Optionen aufgeführt. Das ist weit davon entfernt Dutzende von Optionen werden unterstützt von ls in Bash. Dennoch können wir die Situation trotz unserer etwas gedämpften Befehlspalette noch verbessern.

Geben Sie an der Eingabeaufforderung Folgendes ein: ls und drücken Sie „Enter“.

ls

Die Ausgabe der GRUB-Shell-Version von ls mit Laufwerken und Partitionen

Auf diesem Computer werden drei Elemente aufgelistet.

  • (hd0) ist die erste Festplatte.
  • (hd0,gpt1) ist die erste Partition auf der ersten Festplatte.
  • (hd0,gpt2) ist die zweite Partition auf der ersten Festplatte.

Die Bezeichnung „gpt“ steht für GUID-Partitionstabelle. Wir müssen die Klammern einfügen „()” wenn wir auf eine Partition verweisen, aber wir können die Bezeichnung weglassen.

Um die Partitionen der Reihe nach zu betrachten, verwenden wir ls.

ls (hd0,1)
ls (hd0,2)

Verwenden der GRUB-Shell-Version von ls zur Identifizierung der Linux-Partition

Wir haben festgestellt, dass sich auf der zweiten Partition ein Linux-Dateisystem befindet. Wir werden die Sache etwas genauer untersuchen, indem wir uns das Stammverzeichnis dieser Partition ansehen.

ls (hd0,2)/

Verwenden der GRUB-Shell-Version von ls, um eine bestimmte Partition zu untersuchen

Dies ist eindeutig die Linux-Partition mit dem Boot-Verzeichnis darauf. Hier werden die GRUB-Dateien, Linux-Boot-Images und andere Boot-Dateien gespeichert.

Auf diesem Computer müssen wir auf die Partition verweisen (hd0,2) wenn wir unsere Befehle erteilen. Auf Ihrem Computer würden Sie die Partition verwenden, auf der Sie Ihre Linux-Installation finden.

Wir können das nutzen cat Befehl zum Durchsuchen von Textdateien, indem der Verzeichnispfad und der Dateiname an den Partitionsnamen angehängt werden, wie folgt:

cat (hd0,2)/etc/issue

Schauen Sie sich die Linux-Version mit dem Befehl cat in der GRUB-Shell an

Bei Multi-Boot-Installationen ist dies eine nützliche Methode, um zu überprüfen, ob Sie sich auf der richtigen Partition befinden. Es eignet sich auch hervorragend für den Blick in Konfigurationsdateien.

Hier verwenden wir die ls Befehl mit dem -l (lang und -h (für Menschen lesbare Größen) Optionen zum Auflisten der Dateien im Verzeichnis „/boot“.

ls -lh (hd0,2)/boot

Auflisten der Dateien im /boot-Verzeichnis mit der GURB-Version von ls

Um diesen Computer zum Booten zu bringen, müssen wir GRUB mitteilen, dass unsere neu entdeckte Linux-Partition die Bootdateien enthält.

set root=(hd0,2)

Wir müssen angeben, von welchem ​​Linux-Kernel gebootet werden soll. Wir machen das mit dem linux Befehl. Beachten Sie, dass wir auch das Stammverzeichnis mithilfe des üblichen Linux-Festplatten- und Partitionsbenennungsschemas bereitstellen müssen.

linux /boot/vmlinuz-6.2.0-20-generic root=/dev/sda2

Auf unserem Beispielcomputer verwenden wir (hd0) Das ist die erste Festplatte. Das nennt man sda in der üblichen Linux-Nomenklatur. Wir haben festgestellt, dass die zweite Partition die Linux-Partition ist, daher müssen wir sie angeben sda2.

Ihre Maschine könnte anders sein. Wenn Ihre Linux-Partition beispielsweise als gemeldet wird (hd2,1) das bedeutet Partition eins auf der dritten Festplatte, oder sdc1.

Wir müssen auch angeben, welches RAM-basierte Dateisystem-Image beim Booten des Computers verwendet werden soll. Dieser muss dieselbe numerische Komponente verwenden wie der von uns verwendete Linux-Kernel.

initrd /boot/initrd.img-6.2.0-20-generic

Festlegen der Boot-Parameter in der GRUB-Shell

Um nun unser System zu starten, geben Sie „boot“ ein und drücken Sie „Enter“.

Dadurch sollte Ihr Computer unter Linux gestartet werden. Das hat uns wieder zum Laufen gebracht, aber wir müssen GRUB noch reparieren, damit wir dies nicht jedes Mal tun müssen, wenn wir unseren Computer starten.

Wir werden rennen update-grub. Dadurch wird unser System gescannt, Betriebssysteme identifiziert und eine neue GRUB-Konfiguration erstellt. Wir müssen dies als Root-Benutzer ausführen.

sudo update-grub

Führen Sie update-grub aus, um die Datei grub.cfg neu zu erstellen

In seltenen Fällen müssen Sie möglicherweise auch den GRUB-Bootloader neu installieren grub-install.

sudo grub-install /dev/sda

Beachten Sie, dass Sie nicht angeben müssen, auf welcher Partition die Installation erfolgen soll, sondern nur auf dem Laufwerk. Bei normalen Installationen ist es dasselbe Laufwerk, auf dem sich Ihr Linux befindet.

Der Beweis für den Pudding kommt mit dem nächsten Neustart. Ihr Computer sollte normal neu starten.

VERWANDT: So konfigurieren Sie die Einstellungen des GRUB2-Bootloaders

Verwenden der GRUB Rescue Shell

Abhängig von der Art des Startproblems werden Sie möglicherweise nicht in die GRUB-Shell weitergeleitet. Möglicherweise bleiben Sie im GRUB Rettung Modus. In diesem Fall sieht Ihre Eingabeaufforderung folgendermaßen aus:

grub rescue>

Die Befehle, die wir in dieser Shell ausgeben müssen, sind unterschiedlich. Wir müssen es nutzen ls um die Linux-Partition zu finden, als ob Sie die GRUB-Shell verwenden würden. Nachdem Sie die Linux-Partition identifiziert haben, können Sie mit der Eingabe dieser Befehle fortfahren.

Denken Sie daran, die für Ihren Computer korrekten Laufwerkskennungen und Kernel-Versionsnummern zu verwenden. Der insmod Der Befehl lädt Kernelmodule.

set prefix=(hd0,2)/boot/grub
set root=(hd0,2)
insmod normal
insmod linux
linux /boot/vmlinuz-6.2.0-20-generic root=/dev/sda2
initrd /boot/initrd.img-6.2.0-20-generic

Festlegen der Boot-Parameter in der GRUB-Rettungs-Shell

Anschließend können Sie „boot“ eingeben und die Eingabetaste drücken, um Ihren Computer neu zu starten. Sobald es neu gestartet wurde und Sie sich angemeldet haben, aktualisieren Sie GRUB mit update-grub Befehl.

Andere mögliche Abhilfemaßnahmen

Wenn sich herausstellt, dass das Problem darin besteht, dass Startdateien wie die Dateien „vmlinuz“ und „initrd.img“ fehlen, können Sie Ihren Computer von einer Live-DVD oder starten Starten Sie ein bootfähiges Linux-USB-Flash-Laufwerk und kopieren Sie die fehlenden Dateien an ihren Platz.

Beachten Sie, dass die Dateien „vmlinuz“ und „initrd.img“. muss haben die gleichen Versionsnummern, da sie als übereinstimmendes Paar funktionieren.

VERWANDT: So erstellen Sie einen bootfähigen Linux Live USB auf Ihrem Mac



source-107

Leave a Reply