Grub hat ein kleines Core-Image, das beim Booten geladen wird. Das Kernimage lädt dynamisch Module, die weitere Funktionen bereitstellen. i386-pc/normal.mod not found
gibt an, dass grub normal.mod nicht laden kann. Hierbei handelt es sich um ein Grub-Modul, das den normalen Befehl bereitstellt . Um normal.mod zu laden, musst du grub mitteilen, wo es ist. Verwenden Sie dazu die Befehlszeile von grub (auch bekannt als Rescue Console). Grub startet die Befehlszeile, wenn beim Booten ein Problem auftritt, oder Sie können sie manuell starten, indem Sie beim Start von Grub die Umschalttaste gedrückt halten (um das Grub-Menü zu erzwingen) und dann die Taste 'c' drücken.
Mit grub können Sie die Laufwerke, Partitionen und Dateisysteme erkunden. Du musst:
- Suchen Sie die Grub-Installation mit ls oder search.file
- Setze die Grub-Variablen $ prefix und $ root
- Laden Sie das normale Modul und führen Sie es aus
Beispiel
Das Folgende ist nur ein Beispiel. Sie müssen es an Ihr lokales Laufwerk und Ihre Partition anpassen.
wo ist normal.mod Sehen Sie sich einige wahrscheinliche Orte an
grub> search.file /i386-pc/normal.mod
error: no such device: /i386-pc/normal.mod
grub> search.file /grub/i386-pc/normal.mod
error: no such device: /grub/i386-pc/normal.mod
grub> search.file /boot/grub/i386-pc/normal.mod
hd0,msdos1
Wenn "Unknown command 'search.file'"
dies angezeigt wird, ist der Befehl search.file nicht verfügbar. Dies liegt wahrscheinlich daran, dass Sie an der grub rescue>
Eingabeaufforderung und nicht an der grub>
Eingabeaufforderung stehen. In diesem Fall können Sie weiterhin den ls
Befehl verwenden und Ihre Kenntnisse über das Partitionslayout ermitteln normal.mod
.
fand es um (hd0, msdos1)
grub> ls (hd0,msdos1)/boot/grub/i386-pc/normal.mod
normal.mod
warum hat grub es nicht gefunden?
check $ prefix - absoluter Speicherort des Grub-Verzeichnisses
(dies wird festgelegt, wenn Grub von Grub-Install installiert wird)
grub> echo $prefix
(hd0,msdos2)/boot/grub
check $ root - Standardgerät für Pfade, die keinen Geräte-
Grub enthalten, setzt dies zunächst auf das Gerät mit dem Präfix $
grub> echo $root
hd0,msdos2
root und prefix zeigen auf die falsche Partition (hd0, msdos2)
setze $ root und $ prefix auf die Partition, auf der wir normal.mod gefunden haben (hd0, msdos1)
grub> set root=(hd0,msdos1)
grub> set prefix=(hd0,msdos1)/boot/grub
Laden Sie das normale Modul und führen Sie es aus
grub> insmod normal
grub> normal
Einige andere Befehle, die hilfreich sein können
ls listet alle Geräte und Partitionen auf
grub> ls
(hd0) (hd0,msdos5) (hd0,msdos1)
ls Partition
grub> ls (hd0,msdos1)
Partition hd0,msdos1: Filesystem type ext* - Last modification time
2014-05-08 15:56:38 Thursday, UUID c864cbdd-a2ba-43a4-83a3-66e305adb1b6 -
Partition start at 1024KiB - Total size 6290432Kib
ls Dateisystem (Anmerkung / am Ende)
grub> ls (hd0,msdos1)/
lost+found/ etc/ media/ bin/ boot/ dev/ home/ lib/ lib64/ mnt/ opt/ proc/
root/ run/ sbin/ srv/ sys/ tmp/ usr/ var/ vmlinuz initrd.img cdrom/
Das
Vorhandensein des Verzeichnisses i386-pc in / boot / grub bedeutet, dass dies eine BIOS-Installation ist. Das
Vorhandensein des Verzeichnisses x86_64-efi weist auf eine EFI-Installation hin
grub> ls (hd0,msdos1)/boot/grub
i386-pc/ locale/ fonts/ grubenv grub.cfg
use your windows partition as your primary boot device
. Dieser letzte Schritt ist wichtig. NICHT BENUTZEN / booten. Möglicherweise gibt es eine andere Lösung: Versuchen Sie, das Startgerät während des Startvorgangs manuell zu ändern. Ich denke jedoch nicht, dass das funktionieren wird. Dies ist ein seit langem bestehendes Problem, das in Ubuntu bis einschließlich 17.10 weiterhin besteht. Danke.