Ich habe kürzlich arch (hoffentlich erfolgreich) auf meinem Computer installiert. Als ich zum Neustart ging, hatte ich jedoch ein Problem. Ich habe einen schwarzen Bildschirm mit der Aufschrift
Grub loading.
Welcome to GRUB!
error: file '/grub/i386-pc/normal.mod' not found.
Entering rescue mode...
grub rescue>
Ich habe da gegoogelt und nach einer Antwort gesucht. Ich hätte hier in den Ubuntu-Foren beinahe einen gefunden , doch dann sah ich einen der Kommentare, der besagte, dass er falsch war. Es gibt auch eine andere Antwort, aber ich bin mir nicht sicher, ob ich von der Live-CD installieren möchte, aus Angst, Dinge durcheinander zu bringen.
Sie würden meine Befürchtung verstehen, wenn auch Sie 7 Stunden damit verbracht hätten, dies einzurichten, nachdem Sie ständig auf Partitionierungs-, Befehls-, Lernprogramm- und Systemprobleme gestoßen sind. Was für eine Freude.
Kennt jemand eine einfache Lösung, um Grub zum Laufen zu bringen?
grub-install
. Sie müssen keine der Schritte wiederholen, verwenden Sie sie nur als Leitfaden, um von einer Live-CD zu chrooten.Antworten:
Eine wirklich nervige Sache ...
Da anscheinend das Verzeichnis / boot / grub / i386-pc einfach nicht vorhanden war, löste ich das Problem, indem ich das gesamte Verzeichnis / usr / lib / grub / i386-pc nach / boot / grub kopierte. Das ist alles.
quelle
Ich bin in der Mitte eines ähnlichen Problems (übrigens auch auf Bogen)
Grub kann diese Datei nicht finden und ausführen, da sie ein falsches "Präfix" verwendet
Hier ist was du tust. Sie booten in den Grub-Rettungsmodus und finden dann einfach heraus, wie Sie ihn booten können.
Zuerst führen Sie set aus , um Variablen aufzulisten, zum Beispiel mine is
Das Präfix ist nun die Variable, in der grub nach der Datei normal.mod sucht. In meinem Fall ist hd1, msdos3 dasselbe wie / dev / sdb3 (ähnlich wäre hd0, msdos1 / dev / sda1). Möglicherweise möchten Sie eine Liste gültiger Partitionen anzeigen, indem Sie ls eingeben
In meinem Fall wurde grub nun wieder auf / dev / sdb1 installiert, das in meiner Arch-Partition als / boot eingebunden war, sodass das korrekte Präfix (hd1, msdos1) / grub lautete
Damit ich booten kann, muss ich Folgendes tun:
In Ihrem Fall müssen Sie sich entweder erinnern oder erraten, auf welcher Partition Sie grub installiert haben. Sie können falsch raten, es wird keinen Schaden anrichten, der Befehl insmod schlägt einfach fehl und Sie können es mit einer anderen Partition erneut versuchen.
Danach wird Grub wie gewohnt geladen und ich kann aus der Liste auswählen, was ich booten möchte. Normalerweise sollte eine Neuinstallation von grub auf Ihrem mbr (mit grub-install ) dieses Problem dauerhaft beheben, damit Sie dies nicht jedes Mal tun müssen, wenn Sie booten. Ich habe jedoch viele Schwierigkeiten herauszufinden, was zu tun ist, wenn es nicht so einfach ist, das Problem zu beheben (oder ich teile Ihnen mit, was Sie tun sollten).
Nur wenn dies fehlschlägt (z. B. wenn das Präfix korrekt ist, Sie aber immer noch nicht booten können), sollten Sie auf Live-CDs zurückgreifen oder CDs retten, um das Problem zu umgehen (dies sollte am besten vermieden werden).
quelle
ls
und dann nacheinander ausprobiert, bis ich die richtige Kombination getroffen habe :-)Ich hatte dieses Problem heute nach einer Neuinstallation von Mint 15.
Das Installationsprogramm hat
/boot/grub/x86_64-efi
Module erstellt , aber nicht die regulären/boot/grub/i386-pc
Module.Eine Neuinstallation von Grub von der Live-CD behebt das Problem.
Ersetzen Sie / dev / sda und / dev / sda1 durch Ihr Startgerät und Ihre Startpartition und führen Sie die folgenden Befehle von der Live-CD aus:
quelle
Danke für deinen Beitrag. Ich habe nach einer Neuinstallation von Linux CentOS 5.11 auf einem alten Dell Optiplex-Computer mit Windows Vista eine fast identische Fehlermeldung - "Datei '/grub2/i386-pc/normal.mod' nicht gefunden" - behoben, um ein Dual zu erstellen -Booten Sie das System.
Was meine Situation erschwerte, war, dass ich bereits versucht hatte, die neuere Fedora 20-Distribution, die GRUB2 anstelle von GRUB (LEGACY) verwendet, auf FEDORA-Standardpartitionen zu installieren. Dann habe ich versucht, CentOS direkt darüber zu installieren, die Windows-Partition beizubehalten und die FEDORA-Partitionen zu überschreiben.
Während der CentOS-Installation habe ich meine erste (Windows-) Partition alleine gelassen (hd0,0) und das Verzeichnis / boot auf einer zweiten (boot-) Partition (hd0,1) erstellt. Ich habe dann beschlossen, den MBR zu diesem Zeitpunkt nicht zu ändern, und stattdessen die andere Option (Bootloader auf einer anderen Partition) ausgewählt.
Nach einer anscheinend erfolgreichen Installation wurde der obige Fehler behoben.
Ich vermute, dass die Startinformationen auf der ersten Partition weiterhin auf den GRUB2-Speicherort verweisen. Die CPU konnte normal.mod nicht finden, möglicherweise weil die zuvor erstellten FEDORA00-Partitionen entfernt wurden.
Hier sind meine Schritte:
Booten Sie von meiner Centos 5-Installations-CD in den Rettungsmodus ("Linux Rescue").
Hängen Sie das lokale Laufwerk ein: chroot / mnt / sysimage
Wechseln Sie in den Einzelbenutzermodus: su
Aktualisieren Sie die CentOS-Installation: yum update
Verwenden Sie den Emacs-Editor, um "Microsoft Windows Vista" zur Datei grub.conf hinzuzufügen: emacs /boot/grub/grub.conf, und machen Sie Vista zum Standardbetriebssystem.
( HINWEIS: Siehe www.cyberciti.biz/faq/grubconf-for-windows-vista-or-xp-dual-boot/ und https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html.) /Installation_Guide/sn-medialess-editing-grub-conf.html .)
Versuchen Sie, den MBR zu aktualisieren: grub-install / dev / hda
Starten Sie zu einem nicht identifizierten GRUB-Fehler neu, bei dem die CPU nach dem Anzeigen von "GRUB" abgestürzt ist.
Starten Sie von der ursprünglichen Windows Vista-Installationsdiskette (oder einer anderen Windows-Wiederherstellungsdiskette) neu und wählen Sie die Option zum Reparieren der Diskette aus. Erhalten Sie die Nachricht, dass der MBR repariert wurde.
Starten Sie Windows Vista ordnungsgemäß neu.
Ich bin sicher, dass es elegantere Lösungen gibt, aber das hat bei mir funktioniert. Ich versuchte auch das GRUB GRUB2 Migrationspaket zum Herunterladen, wie bei beschrieben http://help.ubuntu.com/community/Grub2/Upgrading , indem sie versuchen:
Aber es konnte das Paket nicht finden. Vielleicht hätte ich es einfach versuchen sollen
yum install grub
.quelle
Zu Flittermäusen hinzufügen ...
Wenn Sie von einem USB-Stick booten und über den Ordner i386 verfügen, können Sie den Ordner i386 auf der defekten Partition als Root öffnen und anschließend den aktiven Ordner i386 vom USB-Stick kopieren.
quelle
Ich habe mich in zwei Schritten in mein CentOS 6.7-System eingearbeitet. Zuerst habe ich den Rat von flittermice oben befolgt, von der Live-CD gebootet, mein / dev / sda2 als / mnt gemountet und einfach den i386-pc-Ordner aus / mnt / usr / ... kopiert (Sie finden, wo sich Ihr befindet) durch
find /|grep i386
) nach / boot / grub und neu gestartet.Das gab mir Maden> anstatt Maden zu retten> ;-).
Dann habe ich hier eine Anleitung befolgt [ https://www.linux.com/learn/tutorials/776643-how-to-rescue-a-non-booting-grub-2-on-linux/] zum Auffinden und Booten verwendet meine Trennwand. Es war (hd0,2), weil (hd0,1) vom Swap genommen wurde.
Später habe ich herausgefunden, dass es nicht möglich war, diesen Boot "automatisch" zu machen, wahrscheinlich, weil mein / boot auf ext4 mit der Inode-Größe 256 war und der alte grub1 128 benötigt. Ich werde versuchen, einige Befehle von [ http: // kb.kristianreese.com/index.php?View=entry&EntryID=113] , um die Partition vor der Installation vorzubereiten.
quelle
Installieren Sie Ubuntu neu. Gehen Sie zu "etwas anderes tun". Wählen Sie Ihre Windows-Installationspartition als Speicherort für die Installation des Bootloaders aus.
Wenn Sie bereits eine Windows-Installation haben, müssen Sie grub auf derselben Partition installieren. Andernfalls wird das Problem in der Frage angezeigt.
Dies ist relevant für 14, 15, 16, 17 Ubuntu alle Versionen und wahrscheinlich frühere Versionen. Wenn Sie gefragt werden, wo der Bootloader installiert werden soll, erstellen Sie keine / boot-Partition und wählen Sie sie aus. Verwenden Sie stattdessen die Windows-Partition.
Vielen Dank.
quelle
Probieren Sie die Live-Grub-CD aus: http://ccm.net/faq/2677-super-grub-disk-live-cd Dann war das Terminal: cp -r / usr / lib / grub / i386-pc / boot / grub das Einzige Sache Diese Methode hat bei mir funktioniert.
quelle