2012-01-09 16:37:51 +0000 2012-01-09 16:37:51 +0000
56
56

Wie installiere ich GRUB2 EFI neu?

Nachdem ich mein Bios erfolgreich aktualisiert hatte, etwas ging schief und ich landete mit einem blinkenden Cursor in der linken oberen Ecke eines schwarzen Bildschirms. Keine Fehler, nichts. Das Bios listete jetzt nur noch eine SATA: <disc name>-Boot-Option anstelle der üblichen UEFI ubuntu auf. Ich verwende ein GPT-Partitionierungsschema.

Schließlich fand ich heraus, daß die funktionierende Lösung darin bestand, grub-efi-amd64 ordnungsgemäß neu zu installieren. Also, wie mache ich das ?

PS: Eigentlich ist es mir gelungen, GRUB2 EFI auf eigene Faust neu zu installieren, und ich werde meine Antwort hier veröffentlichen, da ich keine vollständige Anleitung dazu finden konnte.

Antworten (5)

87
87
87
2012-01-09 16:39:36 +0000
  • Starten Sie Ihren Computer mit einer Live-USB/CD im UEFI-Modus. Ich hatte zwei Boot-Optionen <flash_drive> und UEFI: <flash_drive>, die zweite wird benötigt, um die efi-Variablen in /sys/firmware/efi/ freizulegen, damit efibootmgr später nicht ausfällt. Beim Booten mit der ersten Option erhalte ich folgenden Fehler:

  • chroot in das kaputte System (ähnlich wie die ubuntu grub2 help , aber mit efi-Besonderheiten):

  • Je nach Linux-Distribution machen Sie jetzt unterschiedliche Dinge.

  • Geben Sie jetzt Strg+D ein, um chroot zu beenden, alles zu unmounten und neu zu starten:

Möglicherweise müssen Sie dies an Ihre Bedürfnisse anpassen (andere Partitionstabelle, separate /boot-Partition usw.), und es ist vielleicht nicht die einzige Option, aber bei mir hat das ganz gut funktioniert.

Ein geeignetes Live-System zum Reparieren von Dingen ist grml . Es gibt auch eine ausführliche Anleitung zum Einrichten eines bootfähigen USB-Geräts, von denen der Mac-Abschnitt eigentlich der nützlichste ist (einfach eine FAT32-Partition erstellen, die Dateien kopieren, neu starten, fertig).

5
5
5
2014-03-20 00:27:02 +0000

Wie bei Maxine stellte ich fest, dass meine UEFI-Einstellungen im BIOS beschädigt wurden und mein Rechner nicht mehr startete.

In meinem Fall ist es ein Lenovo ThinkServer RD430 mit Linux Mint Debian und es schien alles, was ich gegen Update-Grub oder das Ändern von Festplatten im Server tun würde, würde dazu führen, dass er nicht mehr startet. Das Betriebssystem in meinem Fall ist linuxmint-201403-mate-dvd-64bit, installiert über USB. (siehe unten für eine vollständige Beschreibung der Ereignisse, die dazu führen würden, dass UEFI nicht funktioniert)

Genau die gleichen Schritte auf einem ThinkServer TS140 durchlaufen zu haben, hat nicht ein einziges Mal dazu geführt, dass UEFI den Verstand verloren hat. Ich habe mir die RD430-Treiberseite angesehen und mein Bios ist zwei Versionen alt. Ich habe noch nie ein Bios auf einer Hauptplatine aktualisieren müssen, daher bin ich keiner, der automatisch aktualisiert, wenn neue Versionen verfügbar sind. Nach dem Aktualisieren des Bios funktionierte Maxines obige Antwort, nur mit einer Verdrehung…

# efibootmgr -c --disk /dev/sdX --part Y
# efibootmgr -v
BootCurrent: 0004
Timeout: 1 seconds
BootOrder: 0002,0000,0003,0001,0004
Boot0000* linuxmint HD(1,800,1f4000,829f6cc9-5b17-479c-b3ea-61e43faecbf7)File(\EFI\linuxmint\grubx64.efi)
Boot0001* LMDE Linux Mint Debian HD(1,800,15d505800,934c598c-fe3c-fd43-84a1-fa38e4f72552)File(\EFI\linuxmint\grubx64.efi)
Boot0002* Linux HD(1,800,1f4000,829f6cc9-5b17-479c-b3ea-61e43faecbf7)File(\elilo.efi)
Boot0003* UEFI: Built-in EFI Shell Vendor(5023b95c-db26-429b-a648-bd47664c8012,)AMBO
Boot0004* UEFI: VerbatimSTORE N GO 1.00 ACPI(a0341d0,0)PCI(1a,0)USB(1,0)USB(4,0)HD(1,80,1d70780,00000000)AMBO
mint / #

Der Befehl efibootmgr -c fügte zwei Einträge 0000 und 0002 hinzu! Der Eintrag Boot0002* Linux HD zuerst in der Boot-Reihenfolge ist nicht korrekt. Der Eintrag 0000 ist korrekt.

Um dies zu testen, versuchte ich ohne jede Unterbrechung zu booten, was der Eintrag 0002 ist. Wie erwartet, hat es nicht funktioniert. Also startete ich den Server neu, drückte F12 und wählte linuxmint. Wie erhofft, wurde meine LMDE-Installation gebootet.

Der Weg, unerwünschte Einträge über efibootmgr zu entfernen, ist:

# efibootmgr -b 2 -B

Ich habe diesen Befehl benutzt, um die Einträge 0001 und 0002 zu entfernen. Die Option 0001 stammt aus dem letzten meiner vielen Versuche, das Betriebssystem wiederherzustellen.


UEFI-Hinweise

Wenn Sie das hier lesen und genauso frustriert von UEFI sind wie ich/war, hier sind einige Hinweise und Ressourcen: “ Das Booten auf der UEFI-Shell gleicht der Verwendung einer DOS-Shell. ” Intel hat ein PDF-Referenzhandbuch für efi Shell-Befehle erstellt.
“ Lenovo’s UEFI_on_TS430 document ist die einzige Ressource, die ich gesehen habe, die die Benutzung der efi-Shell erklärt. ” Eine weitere Uefi-Shell-Referenz aus dem nPartition Administrator’s Guide. “ Sie können versuchen, von der efi-Shell auf eine Partition zu booten, indem Sie zum Loader navigieren und diesen ausführen.
” UEFI möchte, dass die Platte eine GPT-Partitionstabelle hat, nicht eine msdos-Partitionstabelle. “ UEFI möchte, dass die erste Partition auf Ihrer Platte fat32 oder vfat formatiert ist. ” Für ein “generisches” Booten muss es ein Verzeichnis /EFI/boot im Stammverzeichnis geben, in dem sich bootx64.efi befindet. “ Manche Leute kopieren ihre grubx64.efi von dort, wo sie installiert wurde, nach /EFI/boot/bootx64.efi, und dieser Cheat hat bei ihnen funktioniert.
” Wann immer Sie Grub-Änderungen vornehmen, benutzen Sie efibootmgr -v davor und danach, um sicherzustellen, daß Ihr Neustart in Ordnung ist.


Meine RD430-Erfahrung

Ich habe das OS in der vergangenen Woche mehr als 10 Mal neu installiert und versucht, dies zu klären und den Server einzurichten. Meine Konfiguration ist eine SSD auf diesem RAID-Controller im PCIe 2.0-Steckplatz mit darauf installiertem LMDE. AOC-S3008L-L8i RAID-Controller zurück in den IT-Modus geflasht ) im zweiten PCIe 3.0-Steckplatz mit 6x 3TB-Laufwerken. RAM: 12GB ECC (3x 4GB).

Hier sind Änderungen, die ich vornehmen würde, die dazu führten, daß mein System nicht startete: “ S3008L-L8i pci-Steckplätze ändern (die SSD+Karte in Ruhe lassen).
” Deaktivieren Sie den LSi-Software-Raid-Bios-Prompt für den Onboard-Controller. “ Fügen Sie meine alte HighPoint-RocketRaid-Karte in einen offenen PCIe-Steckplatz ein. ” Ändern Sie /etc/default/grub und führen Sie dann update-grub aus. (vielleicht muss auch grub-install ausgeführt werden?)

3
3
3
2012-03-01 11:08:40 +0000

Ich würde dem zustimmen, aber anscheinend habe ich nicht genug Vertreter bei SuperUser. Ich bin froh, dass ich endlich eine Antwort darauf gefunden habe, nachdem ich tagelang gegen Klone gekämpft habe, die zwar funktionierten, aber nicht booten wollten. Ich denke, es hat alles mit UEFI und einer Art “sicherem Boot-Mechanismus” oder so zu tun… 002

Ich arbeite offline, also war apt-get keine Option. Was ich getan habe, war, den Ubuntu-Desktop auf einen USB-Stick zu legen, die Pakete grub-efi und grub-efi-amd64 zum Root des USB-Sticks hinzuzufügen (grub-efi_1.99~rc1-13ubuntu3_amd64.deb und grub-efi-amd64_1.99~rc1-13ubuntu3_amd64.deb für Ubuntu 11. 04 - je nach Distro und Architektur ändern), und schreiben Sie Folgendes in ein Skript auf den USB-Stick:

#! /bin/bash
sudo mount /dev/sda2 /mnt
sudo mount /dev/sda1 /mnt/boot/efi
dir=`dirname $0`
sudo cp $dir/grub-efi*.deb /mnt/tmp
for i in /dev /dev/pts /proc /sys; do sudo mount -B $i /mnt$i; done
sudo chroot /mnt /bin/sh -c "dpkg -i /tmp/grub-efi*.deb"
sudo shutdown -r now

Booten Sie den Live-USB-Stick, öffnen Sie ein Terminal, führen Sie den Befehl aus, und der Job ist ein gutes ‘un! Das einzige gelegentlich auftretende Problem ist, dass die UEFI manchmal in der Boot-Prioritätsreihenfolge nach unten unter die Festplatte verschoben wurde. An diesem Punkt müssen Sie ins BIOS gehen und die Boot-Reihenfolge ändern, um zu verhindern, dass sie es mit SATA: drive versucht (und scheitert).

Sie können auch dpkg-reconfigure anstelle von dpkg -i verwenden, aber das stellt einige Fragen zum Bootloader.

[Bearbeiten] Ich habe auch nicht genug Rep für einen Kommentar, so dass das, was ich für einen Kommentar zu einer Antwort hielt, sich als Antwort herausstellt.

1
1
1
2015-01-21 11:38:23 +0000

Auf meinem 32-Bit-Ubuntu 14. 10 auf Lenovo Yoga 2 Pro habe ich auf UEFI-Boot wie folgt umgestellt:

  • Ordner

anlegen

  • “EFI System”-Partition in /etc/fstab mounten

  • grub-efi-amd64-bin installieren und grub-efi-ia32-bin

deinstallieren - Ubuntu im efi-Modus neu booten

  • testen, ob es gut bootet, dann habe ich grub-efi-amd64 installiert und grub-pc grub-gfxpayload-lists mit

deinstalliert, wenn ich gefragt werde, /boot nicht zu entfernen.


Vielleicht habe ich es kompliziert gemacht und es hätte einfach gut funktioniert:

apt-get install --reinstall grub-efi
update-grub
0
0
0
2018-08-08 01:32:05 +0000

Dieser Eintrag entspricht eher der Vorbereitung Ihres Computers zur Neuinstallation der efi-Einträge. Vielleicht finden Sie darin auch eine effektive und einfache Möglichkeit, nach der Installation des Systems auf einem internen Medium (SSD, HDD) eine Rettungsdiskette zu erstellen.

Mit Linux Mint Tara (eine Linux-Variante, die eng mit Ubuntu Bionic Beaver verwandt ist), hat diese Methode meine Installation sowohl gestört als auch ermöglicht, sie später zu speichern. Sie entstand aus dem Wunsch heraus, einen Live-USB mit Persistenz zu haben, und da die Zeit für die Installation eines Dienstprogramms wie Unetbootin für eine persistente Installation ungefähr die gleiche ist wie für eine Neuinstallation, habe ich einfach dieselbe Live-Distribution für eine Installation auf dem USB verwendet, die auch für die Installation des Betriebssystems auf der internen SSD verwendet wurde.

Natürlich handelt es sich hierbei nicht um RAID oder eine andere spezielle Einrichtung, aber es erforderte eine vorbereitete Volumepartition auf dem USB-Laufwerk und eine Installation auf diesem USB mit der verfügbaren Methode der Distribution unter Umgehung des internen Laufwerks für eine Installation auf dem Root-(/)-Mount einer einzelnen Partition.

Hier hat sich die neue Grub-Installation mit dem internen Laufwerk verheddert. Als ich über USB neu startete, schienen die internen UEFI grub-Einträge verschwunden zu sein, so dass nur noch das grub-Menü übrig blieb, wenn ich versuchte, das Laufwerk über die Einträge im BIOS-Menü auszuwählen.

Stattdessen zeigte das Booten von USB, dass die Methode der Distro ein fertiges grub-Menü mit einer Auflistung für /dev/sda2, die Partition mit dem /boot/efi-Mount, erzeugt hatte. Bei den meisten primären internen Laufwerksinstallationen ist der Grub-Name der Partition hd0, gpt1.

Unter ‘advanced’ war mehr als eine Kernel-Rettung verfügbar. Führen Sie von dort aus das grub-Dienstprogramm aus und booten Sie dann normal.

Führen Sie von diesem Punkt aus das Betriebssystem auf dem internen Laufwerk aus, auf das früher nicht zugegriffen werden konnte, ziehen Sie den USB-Stecker und führen Sie dann sudo grub-install aus.

Wenn Sie ohne den USB-Stecker neu booten, sollten Sie in der Lage sein, wieder einzusteigen. Zu diesem Zeitpunkt ist der USB so konfiguriert, dass das interne Laufwerk in den Normal- oder Rettungsmodus gestartet wird, und das Laufwerk hat sein eigenes Menü.