Absoluten Speicherort des GRUB-Ordners dauerhaft festlegen

Absoluten Speicherort des GRUB-Ordners dauerhaft festlegen

Ich bin vor kurzem auf ein relativ häufiges Problem gestoßen, bei dem das 16.04-Installationsprogramm den Speicherort des GRUB-Ordners falsch konfiguriert. In solchen Fällen bootet das System in eine Rettungsshell mit den folgenden Meldungen:

error: file '/grub/i386-pc/normal.mod' not found.
Entering rescue mode...
grub rescue>

Das bedeutet, dass GRUB zwar booten konnte, aber an der falschen Stelle nach seinen Modulen sucht.bekannte Lösungbesteht darin, GRUB spontan über den Speicherort seiner Module zu informieren. In meinem Fall ist das:

grub rescue> set prefix=(hd1,msdos2)/boot/grub
grub rescue> insmod normal
grub rescue> normal

Dadurch wird der Startvorgang erfolgreich fortgesetzt. Beim nächsten Systemstart greift GRUB jedoch wieder auf die Rettungskonsole zurück und muss erneut über den Speicherort seiner Module informiert werden. Ich habe GRUB neu installiert, aber das hat das Problem nicht behoben.

Wie kann GRUB dauerhaft der richtige Standort seiner Module mitgeteilt werden?

Aktualisieren: Ich folgteder Vorschlag von WinEunuuchs2Unixund versuchte dieBoot-ReparaturWerkzeug. Ich habe zuerst den GRUB-Speicherort überprüft und er ist anscheinend korrekt: /boot/grubauf sdg2.

Ich habe dann die Diagnose „Empfohlene Reparatur“ ausgeführt, die Folgendes ergab:diese AusgabeHier ist noch einmal der korrekte GRUB-Speicherort angegeben:

sdg2: __________________________________________________________________________

    File system:       ext4
    Boot sector type:  -
    Boot sector info: 
    Operating System:  Ubuntu 16.04.3 LTS
    Boot files:        /boot/grub/grub.cfg /etc/fstab 
                       /boot/grub/i386-pc/core.img

Allerdings befindet sich ganz am Ende des Berichts ein Fehler, der auf ein Problem mit Folgendem hinweist device.map:

grub-probe: error: cannot find a GRUB drive for /dev/sdi1.  Check your device.map.
Unhide GRUB boot menu in sdg2/boot/grub/grub.cfg

An error occurred during the repair.

Irgendwelche Vorschläge, was man dagegen tun kann?

Antwort1

Der Schlüssel zum Verständnis des Problems war die Notwendigkeit, GRUB anzuweisen hd1, . DieDas BIOS bootet standardmäßighd0, und auf dieser Arbeitsstation gab es Reste eines MBR, der versuchte, einen GRUB zu laden, nachdem er auf dieser Festplatte installiert worden war (daher der Verweis auf /grubanstelle von /boot/grub).

Die Lösung hierfür bestand darin, die Startreihenfolge der internen Festplatten im BIOS zu ändern. Mit „ hd1an erster Stelle“ wird der Startvorgang ohne menschliches Eingreifen erfolgreich abgeschlossen. In einigen BIOS ist es möglicherweise nicht möglich, die Startreihenfolge der internen Festplatten zu ändern. In solchen Fällen müssen die Festplatten neu mit der Platine verbunden werden.

verwandte Informationen