Ein Upgrade von 13.10 auf 14.04 brach Grub

11

Ich habe ein Dual-Boot-Ubuntu + Windows 8 auf einem UEFI-System. Alles war in Ordnung, bis ich von 13.10 auf Ubuntu 14.04 aktualisiert habe.

Was ich jetzt bekomme, wenn ich den PC boote, ist ein Grub-Rettungsbildschirm wie dieser mit folgendem:

Failed to open \EFI\Microsoft\Boot\grubx64.efi - 800000000000000E
Failed to load image
Failed to open \EFI\Microsoft\Boot\MokManager.efi.efi - 800000000000000E
Failed to load image
Welcome to GRUB!

error: symbol 'grub_term_highlight_color' not found.
grub rescue> 

Wenn Sie die Boot-Reparatur von einer Live-CD (entweder 13.10 oder 14.10) verwenden, wird ein Fehler gemeldet und dieser Bericht erstellt: http://paste2.org/Y8mDwa0M

(Boot Repair sagt, dass es Pakete von Ubuntu 13.10 installieren wird)

aber nichts ändert sich.

Wenn ich beim Booten f12 drücke, komme ich zu einem BIOS-Bildschirm (Boot-Menü), auf dem ich zwischen Festplatte, USB und DVD-Reader wählen kann. Wenn ich auf die Festplatte klicke, habe ich drei Möglichkeiten:

Wählen Sie ein Gerät zum Booten aus:

Windows Boot Manager 
ubuntu
Ubuntu

Die Windows-Option bringt mich zurück zur Grub-Rettung.

Mit den anderen beiden Optionen komme ich zu einem Grub-Menü, in dem ich Ubuntu starten kann, aber die Fensteroption funktioniert nicht

Ich weiß nicht mehr was ich tun soll

Update :

Vielen Dank für die Antworten, ich habe tatsächlich alle ausprobiert (grub mehr als 5 Mal von verschiedenen Versionen von Ubuntu auf USB-Sticks neu installiert und oft Boot-Reparaturen verwendet, aber nichts hat funktioniert)

Am Ende verwende ich rEFInd ( http://www.rodsbooks.com/refind/getting.html ), wodurch ich zu Grub komme, von dem aus ich Ubuntu (aber nicht Windows) starten und Windows selbst starten kann mit dem Menü rEFInd.

Aber natürlich ist es nicht die ideale Lösung

Update 2:

Ich habe nur eine Festplatte:

Geben Sie hier die Bildbeschreibung ein

Update 3:

Dies ist der Fehler, der auftritt, wenn ich versuche, grub zu installieren oder grub-install auszuführen:

Installing for i386-pc platform. 
grub-install: Warning: This GPT partition label has no BIOS Boot Partition, the embed is not possible. 
grub-install: Warning: This embed is not possible. GRUB can only be installed in this configuration using blocklist. The blocklist however, are not reliable and it is not recommended to use ..
Installation completed, no errors reported.
Generating grub configuration file ... 
Found linux image: / boot/vmlinuz-3.13.0-24-generic 
Found initrd image: / boot/initrd.img-3.13.0-24-generic 
Found linux image: / boot/vmlinuz-3.11.0-19-generic 
Found initrd image: / boot/initrd.img-3.11.0-19-generic 
Found linux image: / boot/vmlinuz-3.11.0-7-generic 
Found initrd image: / boot/initrd.img-3.11.0-7-generic 
Found linux image: / boot/vmlinuz-3.11.0-5-generic 
Found initrd image: / boot/initrd.img-3.11.0-5-generic 
Found linux image: / boot/vmlinuz-3.11.0-4-generic 
Found initrd image: / boot/initrd.img-3.11.0-4-generic 
Found linux image: / boot/vmlinuz-3.11.0-3-generic 
Found initrd image: / boot/initrd.img-3.11.0-3-generic 
Found linux image: / boot/vmlinuz-3.11.0-2-generic 
Found initrd image: / boot/initrd.img-3.11.0-2-generic 
Found Windows Boot Manager on / dev/sda2 @ / EFI / Microsoft / Boot / Bootmgfw.efi 
Adding boot menu entry for the EFI firmware configuration 
done

(übersetzt aus dem Italienischen)

Matteo Pagliazzi
quelle
Ich habe diese Befehle ausprobiert, stecke aber bei chroot fest. Ich erhalte eine Fehlermeldung: "chroot:
Habe den gleichen Fehler bis 14.04 bekommen, das hilft mir: wiki.ubuntuusers.de/GRUB_2/Reparatur , fast das gleiche wie die Antwort von freeseek
1
@ Larry Siehe Beitrag unten, Methode 3 # 1 ist Ihr Problem. Sie können kein 32-Bit-Änderungsstammverzeichnis verwenden, um ein 64-Bit-System zu reparieren.
eyoung100

Antworten:

7

Ich habe dies in 14.04 nicht mit einem kaputten Grub getestet, aber ich habe nie Probleme bekommen, wenn ich die folgenden Anweisungen verwendet habe:
https://wiki.ubuntu.com/Grub2#Recover

Zunächst müssen Sie Ihr System von einer Live-CD oder einem USB-Stick aus starten. Dann

" Methode 3 - Wurzel

Diese Installationsmethode verwendet den Befehl chroot, um Zugriff auf die Dateien des defekten Systems zu erhalten. Sobald der Befehl chroot ausgegeben wurde, behandelt die LiveCD das / des defekten Systems als sein eigenes. Befehle, die in einer Chroot-Umgebung ausgeführt werden, wirken sich auf die fehlerhaften Systemdateisysteme und nicht auf die der LiveCD aus.

1) Starten Sie den LiveCD-Desktop (Ubuntu 9.10 oder höher). Bitte beachten Sie, dass die Live-CD mit dem System identisch sein muss, das Sie reparieren - entweder 32-Bit oder 64-Bit (wenn nicht, schlägt die Chroot fehl).

2) Öffnen Sie ein Terminal (Anwendungen> Zubehör> Terminal).

3) Bestimmen Sie Ihre normale Systempartition - (der Schalter ist ein Kleinbuchstabe "L")

sudo fdisk -l

Wenn Sie sich nicht sicher sind, laufen Sie

df -Th  

Suchen Sie nach der richtigen Festplattengröße und dem richtigen ext3- oder ext4-Format.

4) Mounten Sie Ihre normale Systempartition:

Ersetzen Sie die richtige Partition: sda1, sdb5 usw.

sudo mount /dev/sdXX /mnt  

Beispiel: sudo mount / dev / sda1 / mnt

5) Nur wenn Sie eine separate Bootpartition haben: sdYY ist die Bezeichnung / boot partition (zum Beispiel sdb3)

sudo mount / dev / sdYY / mnt / boot 
6) Mounten Sie die kritischen virtuellen Dateisysteme:
sudo mount --bind / dev / mnt / dev
sudo mount --bind / dev / pts / mnt / dev / pts
sudo mount --bind / proc / mnt / proc
sudo mount --bind / sys / mnt / sys 
7) Chroot in Ihr normales Systemgerät:

sudo chroot / mnt 

8) Wenn es kein /boot/grub/grub.cfg gibt oder es nicht korrekt ist, erstellen Sie eines mit

Update-Grub 

9) Installieren Sie GRUB 2 neu:

Ersetzen Sie das richtige Gerät - sda, sdb usw. Geben Sie keine Partitionsnummer an.

grub-install / dev / sdX 

10) Überprüfen Sie die Installation (verwenden Sie das richtige Gerät, z. B. sda. Geben Sie keine Partition an):

sudo grub-install --recheck / dev / sdX 

11) Beenden Sie chroot: STRG-D auf der Tastatur

12) Virtuelle Dateisysteme aushängen:

sudo umount / mnt / dev / pts
sudo umount / mnt / dev
sudo umount / mnt / proc
sudo umount / mnt / sys 

13) Wenn Sie eine separate / boot-Partition gemountet haben:

sudo umount / mnt / boot 

14) Hängen Sie das Verzeichnis / usr der LiveCD aus:

sudo umount / mnt / usr 

15) Letztes Gerät aushängen:

sudo umount / mnt 

16) Starten Sie neu.

sudo neu starten 
""

Dies sind auch andere Möglichkeiten, um Maden zu reparieren: Wie kann ich Maden reparieren? (Wie bekomme ich Ubuntu nach der Installation von Windows zurück?)

Desgua
quelle
1
Schritt 3,4 und 9 haben den Job für mich erledigt. Danke
ezdazuzena
1
Boot-Reparatur fehlgeschlagen kläglich - aber das funktionierte einwandfrei für mich
Jon Skarpeteig
2

Hatte den gleichen Fehler "Symbol 'grub_term_highlight_color' nicht gefunden", steckte bei Grub Rettung. Versuchte Boot-Reparatur (empfohlene Option), hat aber nicht funktioniert!

Lösung: Die bootfähige boot -paratur.iso ( http://sourceforge.net/projects/boot-repair-cd/ ) wurde heruntergeladen und eine bootfähige USB-Festplatte erstellt. Von dort gebootet und mit dem Internet verbunden und "Recommended Repair" gestartet, dann den Anweisungen in wenigen Schritten gefolgt (Grub gelöscht / deinstalliert und dann eine neue Version neu installiert), was für mich funktioniert hat! Ich denke in Ihrem Fall sollte grub deinstalliert und dann auf sda8 anstelle von sdb1 neu installiert werden.

user191413
quelle
Das funktioniert bei mir: Ich habe das Boot-Reparatur-CD-Image heruntergeladen - ich habe x64 verwendet, da die Ubuntu-Installation x64 ist. Dann ISO über Unetbootin installiert . Regelmäßige Reparatur und Bratsche durchgeführt!
Meta
Die bootfähige Festplatte (64 Bit 14.04 Desktop-Version) mit der Boot-Reparatur hat nach dem Upgrade von 13.10 auf 14.04 auch bei mir funktioniert. Ich für meinen Teil folgte den Anweisungen hier (die 2. Option) und klickte im Werkzeug auf "Empfohlene Reparatur" und dann funktionierte der Maden plötzlich wieder!
Krøllebølle
2

Ich hatte das gleiche Problem. Ich vermute, da ich zwei Festplatten habe, versucht das System, von der falschen Festplatte zu starten, auf der eine alte Version von GRUB installiert ist. Meine Lösung bestand darin, Ubuntu mit einem USB-Stick zu starten (egal welche Version). Sobald Sie beginnen, werden diese Befehle als root ausgeführt:

mkdir /tmp/drive
sudo mount /dev/sdX1 /tmp/drive
sudo mount --bind /dev /tmp/drive/dev
sudo mount --bind /proc /tmp/drive/proc
sudo mount --bind /sys /tmp/drive/sys
sudo chroot /tmp/drive
dpkg-reconfigure grub-pc

Wobei sdX1 das Laufwerk sein muss, auf dem Ihr System installiert ist. Wenn Sie den letzten Befehl ausführen, sollten Sie das SDX-Laufwerk auswählen. Wenn Sie es jedoch mehrmals ausführen, wird die neue Version von Grub auf jedem Laufwerk installiert und Sie können sich ein wenig Gedanken machen.

freeseek
quelle
Ich bekomme mount: mount point / tmp / drive / dev existiert nicht
alemur
1
@Akmur hast du vergessen - möglicherweise binden oder das falsche Laufwerk montieren? --bind nimmt das Dateisystem in das USB-Laufwerk und ersetzt / dex / sdX1 / dev durch usedevice / dev
eyoung100
@Akmur Sie haben wahrscheinlich die falsche Partition gemountet. Wenn ich sdX1 erwähnte, muss sich dies auf Ihre Boot-Partition beziehen, die bereits die Verzeichnisse dev, proc, sys enthalten sollte. Wenn diese nicht vorhanden sind, mounten Sie höchstwahrscheinlich die falsche Partition. Wenn Sie glauben, die richtige Partition gemountet zu haben, können Sie diese fehlenden Verzeichnisse einfach mit mkdir erstellen.
Freeseek
1

Ich hatte den gleichen Fehler beim Upgrade von 13.10 auf 14.04. Diese Anweisungen sahen für mich etwas entmutigend aus.

Am Ende habe ich ein bootfähiges USB-Laufwerk mit Super Grub Disk erstellt. http://www.supergrubdisk.org/

Davon gebootet. Beim Booten wurde es angewiesen, installierte Betriebssysteme zu erkennen. Es hat meine Ubuntu 14.04-Installation gefunden, also habe ich ihm gesagt, dass er das booten soll. Kein Problem gestartet.

Ich hatte bereits Boot Repair auf meinem System installiert. https://sourceforge.net/p/boot-repair

Lief das und akzeptierte die Standardänderungen.

Herunterfahren. Nahm das USB-Laufwerk aus dem Steckplatz, drückte die Stromversorgung und wartete mit angehaltenem Atem.

System normal gestartet! Problem gelöst.

Alan
quelle
Das OP gab an, dass die Boot-Reparatur nicht funktioniert hat, daher ist dies wahrscheinlich keine Antwort.
Mike, was auch immer
1

Ich vermute, Sie haben veraltete EFI-Dateien in Ihrer EFI-Partition. Es gibt einen Launchpad-Fehler speziell für die EFI-Situation, von dem ich vermute, dass er Ihren Fall behebt . Es hat bei mir funktioniert, nachdem alle anderen Vorschläge es nicht getan haben. Das Update besteht darin, EFI-Dateien manuell zu aktualisieren . Unten ist ein Durchgang. Beachten Sie, dass Sie Ihre EFI-Partition anstelle von ersetzen müssen /dev/sda1.

  1. Booten Sie zur Live-CD
  2. Öffnen Sie xterm
  3. Verwenden Sie parted, um Ihre EFI-Partition zu bestimmen: sudo parted -l(Ersetzen Sie im nächsten Schritt / dev / sda1)
  4. Mounten Sie Ihre EFI-Partition: sudo mount /dev/sda1 /mnt
  5. Aktualisieren Sie die Boot-EFI-Datei: sudo cp /mnt/EFI/ubuntu/grubx64.efi /mnt/EFI/Boot/bootx64.efi
jrennie
quelle