Madenrettungsaufforderung, Maden reparieren

30

Ich habe kürzlich meine Festplatte neu partitioniert und GRUB auf meinem System beschädigt. Beim Booten erhalte ich die GRUB-Rettungsaufforderung und muss die folgenden Schritte ausführen, um normal zu booten:

set root=(hd0,msdos6)
set prefix=(hd0,msdos6)/boot/grub
insmod normal
normal

(Diese Schritte wurden in einem anderen Beitrag hier gefunden!).

Ich bin es sehr leid, dies bei jedem Boot zu wiederholen. Wie behebe ich GRUB dauerhaft?

Codito ergo Summe
quelle
1
Zwei Möglichkeiten: (1) Boot-Repair (2) Super Grub Rescue Disk Siehe: http://linuxnorth.wordpress.com/2012/02/07/repairing-grub/
CentaurusA
1
Die in der Frage zum Booten aufgeführten Schritte haben bei mir funktioniert. Man sollte sich allerdings die Linux-Partition richtig merken.
TheCrazyProgrammer
1
Wie andere gesagt haben, löst update-grub und dann grub-install / dev / sda das Problem.
TheCrazyProgrammer
Siehe Karthiks Antwort für "Datei nicht gefunden": askubuntu.com/questions/443241/…
samis

Antworten:

11

Um die Madenrettung zu beheben, gehen Sie wie folgt vor:

  • Als erstes müssen wir unser Betriebssystem erst dann starten, wenn wir grub reparieren können.

    #to start OS-->
    error: unknown filesystem.
    Entering rescue mode...
    grub rescue>

    Wenn Sie einen solchen Fehler sehen, müssen wir zuerst prüfen, ob "Filesystem" ext2 ist. '

    grub rescue> ls        # type 'ls' and hit enter to see drive partition.
    (hd0) (hd0,msdos6) (hd0,msdos5) (hd0,msdos4) ...   # you will see such things 

Dies sind unsere Laufwerke. Jetzt müssen wir überprüfen, welches ext2 ist.

grub rescue>ls (hd0,msdos6)
error: disk 'hd,msdos6' not found.

Suchen Sie nach einem anderen Laufwerk, bis Sie "Filesystem is ext2" erhalten.

grub rescue>ls (hd0,msdos5)
error: disk 'hd,msdos5' not found.
grub rescue>ls (hd0,msdos2)
(hd0,msdos2): Filesystem is ext2        # this is what we want

Legen Sie jetzt den Pfad fest

grub rescue>set boot=(hd0,msdos2)
grub rescue>set prefix=(hd0,msdos6)/boot/grub
grub rescue>insmod normal
grub rescue>normal
  • Beheben Sie nun einfach grub, indem Sie dem Befehl auf einem Ubuntu folgen

    sudo grub-install /dev/sda
    sudo apt-get update
    # to update grub
    sudo apt-get upgrade

Stellen Sie sicher, dass Sie grub nach der Anmeldung am Betriebssystem aktualisieren müssen

Roshan Sherkure
quelle
1
Das OP weiß bereits, wie es in sein Betriebssystem bootet. Diese Antwort könnte prägnanter sein.
Elder Geek
1
Diese Antwort war hilfreich für mich. Mein Problem war nicht genau das gleiche wie die ursprüngliche Frage, so dass die zusätzlichen Informationen nützlich wurden.
Retroj
1
+1 Dies wurde durch Probleme bei einer fehlgeschlagenen KDE Neon-Installation behoben.
Darren Lewis
Fehler: Datei '/boot/grub/i386-pc/normal.mod' nicht gefunden Was soll ich tun?
BhushanDhamale
7

Ich würde versuchen zu rennen update-grub, um grub.conf/ grub.cfgwieder aufzubauen .

Sie können es auch mit versuchen grub-install, aber ich denke, das wird nicht helfen.

Wenn Sie mehr erfahren möchten, überprüfen Sie zuerst, welche Version Sie haben (GRUB 1 oder 2), indem Sie Folgendes ausführen:

dpkg -l | grep grub

Wenn Sie über GRUB 2 verfügen, können Sie das folgende Lernprogramm verwenden: http://www.dedoimedo.com/computers/grub-2.html

Seien Sie natürlich vorsichtig mit GRUB, da es sich um den Boot-Vorgang handelt, der ein sensibler Mechanismus ist.

idgar
quelle
2
grub-install <correct-drive, i.e. /dev/sda>und update-grub2tat es schließlich für mich auf Ubuntu 15.04
Greg Kramida
6

Es scheint mir, dass die update-grubzusammenbaut grub.cfg, aber Sie müssen auch (erneut) ausführen grub-install(oder grub-setup?), Um die MBR / Boot-Sektoren mit den grundlegenden Informationen zu aktualisieren - auf welcher Partition die grub.cfgDatei zu finden und anscheinend diese Module.

mmaruska
quelle
4

Wenn Sie eine GRUB-Rettungsaufforderung erhalten, bedeutet dies, dass der GRUB-Bootloader seine Module nicht in der Partition finden kann, in der sie enthalten sind /boot/grub. Der Grund dafür ist, dass der Code, der in den MBR- Datensatz des Laufwerks passt, winzig ist. Daher besteht sein Hauptzweck darin, den Rest des Bootloader-Codes zu lokalisieren und zu laden. Sobald die Module geladen sind, kann das GRUB-Menü angezeigt und der Rest des Startvorgangs ausgeführt werden. Wenn die Module nicht gefunden werden, wird eine sehr eingeschränkte Rettungsaufforderung angezeigt.

Was Sie also sehen, ist völlig normal, wenn Sie neu partitioniert haben, wodurch der Verweis, den der Bootloader auf die Partition mit den Bootmodulen hatte, unterbrochen wird.

Da Sie manuell booten können, besteht die einfachste Lösung darin, den Bootloader im MBR manuell zu booten und neu zu installieren, damit er den richtigen Verweis auf Ihre Partition enthält. Der Weg dazu ist:

sudo grub-install /dev/sda

Dies setzt voraus, dass Sie von booten /dev/sda(in den meisten Fällen, wenn nicht, ersetzen Sie es durch das richtige Laufwerk).

Diese Lösung ist viel einfacher als die Verwendung der boot-repair, aber wenn Sie sich nicht sicher sind, ist dies möglicherweise besser geeignet.

bcbc
quelle
1
+1 für leicht verständliche Erklärungen.
Monotasker
2

Der einfachste Weg wäre:

sudo apt-get purge grub-pc grub-pc-bin

Dann:

sudo apt-get install grub-pc grub-pc-bin
hyao
quelle
2
Dies ist ein Vorschlaghammer-Ansatz, der wahrscheinlich funktioniert, aber es ist einfacher, den Bootloader neu zu installieren, um den Verweis auf die Partition zu aktualisieren (die durch eine Neupartitionierung beschädigt wurde).
BBC
1

Lösen Sie den ultimativen Fall eines Grub-Rescue-Fehlers: Probleme: 1. i386-pc nicht gefunden **** normaler Modus funktioniert nicht, cp funktioniert nicht . Search.file funktioniert nicht . Alle können mit den folgenden Befehlen gelöst werden, funktioniert mit Ubuntu 18.04 auch. Schritt 1: Suchen Sie den Stammordner mit dem Verzeichnis.

ls

Wenn sich der Stammordner beispielsweise in (hd0, gpt4) befindet, geben Sie Folgendes ein

this is how it looks

ls (hd0, 4)/

Sie sehen einige Dateien oder Ordner:

my root file is in (hd0, gpt4)

Wenn Sie Glück haben, gehen Sie folgendermaßen vor:

set root=(hd0, 4)
set prefix=(hd0, 4)/boot/grub/
insmode normal
normal

Wenn Sie Glück haben, wird es Ihr Problem lösen. Manchmal haben Leute Probleme wie 1386-pc Ordner nicht finden können. In diesem Fall musst du schauen, wo sich dein Grub-Ordner befindet. Wenn Sie ein Problem haben wie:

boot/grub/i386-pc/normal.mod not found

In diesem Fall müssen Sie den Ordner grub2 finden. Wenn Sie grub2 haben und sich in diesem Ordner befinden, könnten Sie Ihren i386-pc-Ordner haben. Dann müssen Sie eingeben

prefix=(hd0, 4)/grub2/

es wird klappen. Wenn Sie grub2 nicht haben und den Ordner i386-pc nicht finden konnten, gehen Sie wie folgt vor:

grub rescue>set root=(hd0, 4)
grub rescue>set prefix=(hd0, 4)/usr/lib/grub
grub rescue>insmode normal
grub rescue>normal

Nachdem Sie diesen Befehl ausgeführt haben, wechselt Ihr Grub-Rettungsmodus in das Grub- Menü. Jetzt können Sie den Linux-Befehl ausführen.

Linux-Befehl

grub>set root =(hd0, 4)
grub>set prefix= (hd0, 4)/boot
grub>insmaod linux
grub>linux vmlinuz.....-generic
grub>intrd (hd0, 4)/boot/...-generic
grub>boot

Sie gelangen in den Wiederherstellungsmodus. Von dort aus können Sie aus den verschiedenen verfügbaren Wiederherstellungsoptionen auswählen. Wenn es nicht hilft, müssen Sie ein Ubuntu-Betriebssystem herunterladen, zum Beispiel Ubuntu 18.04. Sie können von folgendem Link herunterladen: Ubuntu Link

Erstellen Sie ein bootfähiges Laufwerk und öffnen Sie Ihren Computer mit dieser Live-CD. Es wird keinem Ihrer Dokumente schaden. Sehen Sie sich ein Video dazu an. Jetzt müssen Sie Ihren i386-pc-Ordner finden. Es wird in sein

rootContainingDirectory-usr-lib-grub

Kopieren Sie nun den i386-pc in das Verzeichnis boot / grub /. Möglicherweise haben Sie ein Berechtigungsproblem, um diesen Typ zu überwinden. Führen Sie dazu den folgenden Befehl aus:

sudo nautilus

Klicken Sie nun mit der rechten Maustaste auf dieses Verzeichnis und ändern Sie den Besitzer in Ubuntu Live Session-Benutzer

Folgen Sie dem Video: Berechtigungsänderung

Jetzt, nachdem Sie es in den boot / grub Ordner eingefügt haben, starten Sie es neu und entfernen Sie das USB Laufwerk. Verwenden Sie diesmal den ersten Befehlssatz, es wird funktionieren. Wenn der Befehl cp funktioniert, können Sie dies auch über das Menü grub tun.

Sanat
quelle