Erhalten Sie nach dem Update "Fehler: Datei nicht gefunden", gefolgt von "grub rescue> _".

23

Ich habe gerade eine ganze Reihe von 12.10-Updates installiert, wurde zum Neustart aufgefordert und stellte dann fest, dass ich nicht booten konnte.

8128
quelle
Da ich wegen meiner schlechten Reputation noch keine Kommentare hinzufügen darf, füge ich den Kommentar auf diese Weise hinzu ... Ich habe 8128s Answer wit Boot-repair verwendet, aber ich musste diese Zeile hinzufügen, bevor das apt-get update sudo sed's / trusty ausgeführt wird / saucy / g '-i /etc/apt/sources.list.d/yannubuntu-boot-repair-trusty.list wie Sie in dem Link sehen, den er zur Antwort hinzugefügt hat
Dominik

Antworten:

28

Verwenden Sie Boot Repair, um Ihren Bootloader zu reparieren.

  1. Booten Sie Ubuntu von einer Live-CD oder einem Live-USB
  2. Mit dem Internet verbinden
  3. Öffnen Sie ein Terminal und fügen Sie die Startreparatur-PPA hinzu

    sudo add-apt-repository ppa:yannubuntu/boot-repair && sudo apt-get update

  4. Installieren Sie Boot Repair

    sudo apt-get install -y boot-repair && boot-repair

  5. Starten und verwenden Sie das Programm. Weitere Informationen finden Sie unter https://help.ubuntu.com/community/Boot-Repair#Using_Boot-Repair

8128
quelle
Ich musste 3. als root (sudo su) ausführen, anstatt nur sudo zu machen
David Brossard
1
DANKE DIR!! Ich habe meinen Server nach einem Stromausfall gespeichert. Zeit, eine UPS zu kaufen!
Domenic D.
mit Kubuntu 13.10 verwendet und funktioniert. Vielen Dank.
David
9
  1. Geben Sie ein ls, um eine Liste der Partitionen abzurufen
  2. Geben set prefix=(hd0,msdos6)/boot/grubSie ein [Sie müssen mit ziemlicher Sicherheit ein anderes Laufwerk / eine andere Partition in die Klammern eingeben. Möglicherweise müssen Sie nur alle von aufgelisteten versuchen, lsbis Sie die gefunden haben, die funktioniert.
  3. Art insmod normal
  4. Geben normalSie ein und Sie erhalten Ihre Boot-Eingabeaufforderung zurück!

Siehe auch: Der hilfreiche Ort, an dem ich das gefunden habe. Ich bezweifle, dass dies für alle funktionieren wird, die auf diesen Fehler stoßen, aber ich habe es hier in der Hoffnung aufgeführt, dass es jemandem hilft.

Sobald Sie Ubuntu geladen haben, starten Sie sudo grub-install /dev/sdaund sudo update-grubso bald wie möglich. Dies bedeutet, dass Sie diesen mühsamen Vorgang nicht jedes Mal ausführen müssen, wenn Sie Ihren Computer starten.

8128
quelle
9
wenn ich insmod normal laufen lasse, heißt es wieder datei nicht gefunden
tovmeod
1
Sie können den Befehl auch verwenden ls (hd0,msdos1)/, um den Inhalt der Partition zu überprüfen. Dies ist schneller, wenn Sie über viele Partitionen verfügen.
Jonathan
Dies funktionierte für mich, außer dass ich eine separate Boot-Partition habe. Das Format war also set prefix=(hd0)/grub, da Sie das grubVerzeichnis relativ zur Partition auf dem Laufwerk referenzieren müssen , nicht relativ zum Mount-Punkt während des normalen Betriebs.
Nick Coons
4

Ich hatte genau das gleiche Problem - normal.mod not found, lsder Startpartition eine Leerzeile erzeugen würde. Nach einer Woche der Fehlerbehebung, damit das System ordnungsgemäß bootet, habe ich die folgenden Schritte ausgeführt.

  1. Habe eine Kopie von SuperGrub bekommen und eine Boot-CD erstellt. Ich konnte mich jetzt wieder bei meinem System anmelden. Ich habe eine Kopie von BootRepair erhalten und hatte kein Glück, dass das System direkt von der Festplatte gebootet wurde, und musste die CD weiterhin verwenden. BootRepair hat sich etwas seltsam verhalten, da der Speicherort von Grub und die Optionen für Grub ausgegraut waren. Es wurde eine erfolgreiche Installation gemeldet.

  2. Festplatte wurde ursprünglich eingerichtet:
    sda1 ext4 root with boot
    sda2 linux swap
    sda3 ext4 used as a spare drive(enthält VMs für Virtual Box).

  3. Benutzte eine Kopie von Ubuntu 10.10 Live-CD. Ran gpartedInstallieren Sie gparted , um die sda1Partition zu verkleinern, und erstellte eine sda4ext4-Boot-Partition an der Vorderseite des Laufwerks und setzte den Mount-Punkt /bootnach dem Löschen des Boot-Verzeichnisses von auf /. BootRepair bietet jetzt Optionen an. Wird auf der Startpartition installiert und kann jetzt von der Festplatte gestartet werden.

  4. Da ich neugierig war, beschloss ich, weiter nachzuforschen. Das Boot-Reparatur-Protokoll hatte einen besonderen Eintrag für meine sda1ext4-Partition, es wurde als gemeldet DOSund hatte eine kurze 8-stellige UUID anstelle der von blkid gemeldeten UUID. grub-probehat das Dateisystem als vfat gemeldet.

  5. Nach vielen anderen Versuchen habe ich die ersten 440 Bytes des sda1Partitionsdatensatzes gelöscht . Grub-probeJetzt meldet Dateisystem als ext2. Ran update-grubund die richtige UUID für die sda1Partition wird angezeigt.

Das Problem scheint zweierlei zu sein:
1. Es scheint Installationen zu betreffen, bei denen der Partitionsdatensatz Verweise auf MSDOS enthält.
2. grub-probeversucht nicht, Konflikte zwischen fs-Typ und Inhalt im Partitionsdatensatz zu beheben.

Mark Milakovic
quelle
1

Eine andere zu überprüfende Sache ist die Startreihenfolge in Ihrem BIOS. Anscheinend hatte ich grub auf allen meinen Festplatten installiert (vielleicht nachdem ich 8128s Antwort befolgt hatte), aber dies brach ab, als ich meine Linux-Distribution (Debian) aktualisierte. Das Ändern der ersten Bootdiskette als mein Linux-Betriebssystem hat es behoben.

Jonathan
quelle
0

Ich bin auf diesen Fehler beim Upgrade auf Kubuntu 13.10 gestoßen. Ich hatte während des Dist-Upgrades einen Memory Stick in den USB-Port gesteckt. Nach dem Neustart ging ich direkt zu Grub Rescue. Das Trennen des USB-Laufwerks und der Neustart haben das Problem behoben.

David Walker
quelle
-1

In meinem Fall hatte ich ein Downgrade auf GRUBv1 durchgeführt und nach dem Upgrade auf 12.10 konnte grub2 seine Dateien (* .mod, etc ...) nicht finden, obwohl die Datei grub.cfg vorhanden war.

Ich habe ein umfassenderes Handbuch zur Grub-Rettung gefunden: https://help.ubuntu.com/community/Grub2/Troubleshooter#grub_rescue.3E-1

Siehe auch die Befehlsliste am Anfang der Seite. Thx Flöte Flöte.

iceburn_pt
quelle