Frage Wie würde ich den grub-efi Bootloader auf Fedora Linux neu installieren?


Ich habe vor kurzem Fedora 18 mit EFI-Boot installiert. Wie die anderen aktuellen Linux-Distributionen richtet es GRUB2 für mich ein.

Ich habe Erfahrung mit der Neuinstallation des BIOS Version von GRUB, wenn etwas schief läuft. Ich weiß z.B. Wie man eine Notfalldiskette bootet, chroot in das installierte System, laufe grub-install und möglicherweise update-grub / grubby / grub-mkconfig.

Wie würde ich das neu installieren? EFI Version von GRUB, wenn etwas schief läuft? (Ich weiß, dass Dinge schief gehen werden: Ich breche sie).


10
2018-05-16 13:27


Ursprung


Warum hast du eine vage Frage gestellt und dann sofort geantwortet? Obwohl die Antwort nützliche Informationen liefert, muss die Frage wirklich geklärt werden: Wissen, dass du dich verändert hast etwas ist nicht ausreichend. Es ist wirklich notwendig, genau zu verstehen, was geändert wurde, um eine gute Antwort auf die Frage zu geben. - Rod Smith
@RodSmith danke für die Antwort auf meine E-Mail über EFI früher :). Und um deinen Kommentar zu den downvotes hinzuzufügen. Die Frage, mit der ich angefangen habe, war dies buchstäblich. Ich habe Erfahrung mit der Neuinstallation von grub-pc. Ich möchte dasselbe Vertrauen haben, dass ich ein EFI-System wiederherstellen kann. Ich habe die Frage einmal bearbeitet, um zu betonen, dass es um die Neuinstallation von Grub ging ... Ich schätze, ich sollte es erneut versuchen und mein Motiv deutlicher machen. - sourcejedi
Warum benutzen Sie grub, wenn Sie UEFI haben? Welchen Vorteil bietet die Verkettung der beiden Bootloader? - Marco
@Marco UEFI ist nicht der Boot-Loader, der von irgendeiner Linux-Distribution unterstützt wird, die ich kenne! Fedora aktualisiert GRUB automatisch, wenn es einen neuen Kernel installiert, und installiert notwendige Boot-Optionen wie root =. Für EFI wird das nicht getan. ich könnte Vertriebsunterstützung aufgeben und verwenden REFINDs automatische Suche mit Kernel-Optionen in refind.conf, aber das wäre immer noch Bootloader / Manager verketten! Und Microsoft signiert GPL-Treiber nicht, also Secure Boot hat auf jeden Fall SHIM-> Bootloader-> Linux zu gehen, und Sie wollen wirklich ein Boot-Menü nach dem UEFI-> SHIM-Teil. - sourcejedi
Nach der Installation eines neuen Kernels einen einzigen Aufruf an efibootmgrreicht aus, um den Eintrag im UEFI-Menü zu aktualisieren. Ich weiß nicht über REFInd oder SHIM. Ich persönlich verkette nicht mehrere Bootloader. Alle Betriebssysteme werden dem UEFI-Startmenü hinzugefügt und es funktioniert einwandfrei. - Marco


Antworten:


Zunächst benötigen Sie eine EFI-gebootet Linux-System. Wenn Sie immer noch Ihr Original-Installationsmedium (CD / DVD / USB-Stick) haben, sollte dies normalerweise ein adäquates Rettungssystem beinhalten. Es könnte sogar eine Reparaturoption mit einem Klick haben :).

Alternativ bietet die Ubuntu-Community eine automatische Boot-Reparatur Bild. Es behauptet, Fedora zu unterstützen. Wenn Sie wissen wollen, was es tatsächlich tut, schlage ich vor, Sie lesen Diese Erklärung von Dritten im Voraus.

Allerdings habe ich ein allgemeines Rettungssystem mit Konsolen-Tools verwendet. Neben der Unterstützung von EFI Boot habe ich dafür gesorgt efibootmgr ist in der Liste der Pakete. Es wurde zufällig gerufen GRML und basierte auf Debian. Hier sind die Informationen zu den Konsolen-Tools und grub-efi, die ich bei der Rettung meines Fedora-Systems entdeckt habe:

  1. Wenn ein Fedora 18-System von EFI gestartet wird, renne nicht grub2-install. Es wird Erfolg beanspruchen, aber es bricht das Fedora grub-efi Boot-System.

    • Die Datei /boot/EFI/fedora/grub.efi wird vom grub-efi-Paket installiert. Wenn du machen möchte es neu installieren, verwenden yum reinstall grub-efi. (Um dies von einem generischen Rettungssystem zu tun, können Sie dies nachher tun mounting und chrootin Ihr installiertes Fedora-System). Fedora grub-efi verwendet die Konfigurationsdatei /boot/EFI/fedora/grub.cfg (vermutlich von schmuddelig erzeugt). Fedora auf EFI wird keine Datei bei erzeugen /boot/grub2/grub.cfg. Laufen grub2-install ersetzt grub.efi durch ein Bild, das versucht zu lesen /boot/grub2/grub.cfgund wird daher scheitern.

    • grub2-install installiert einen EFI-Boot-Eintrag für grub.efi. Wenn Sie Secure Boot in Ihrer Windows 8-zertifizierten Firmware jedoch nicht deaktiviert haben, kann dieser Eintrag nicht gestartet werden. Sie müssen booten shim.efi stattdessen (ignorieren shim-fedora.efiIch bin mir nicht sicher, was genau das ist). Siehe unten.

  2. Sie können Ihren EFI-Boot-Eintrag für Fedora verlieren, wenn Ihre Firmware-Einstellungen zurückgesetzt werden. (Manuell oder durch Firmware-Upgrade, oder weil Firmware fehlerhaft ist - letzteres wurde in der freien Wildbahn gemeldet). So erstellen Sie manuell einen EFI-Starteintrag für Fedora mit sicherem Start:

    $ sudo efibootmgr -c -L Fedora -d /dev/sda -p 100 -l \\EFI\\fedora\\shim.efi
    

    In diesem Beispiel wird die Partitionsnummer 100 auf der ersten von Linux erkannten Standardfestplatte verwendet. Sie sollten die Optionen anpassen -d /dev/sda und -p 100 um das Dateisystem zu identifizieren, auf dem Fedora startet /boot/efi. Dies ist eine EFI-Systempartition. Das Fedora-Installationsprogramm hat ein gewidmet ESP für Ihre Fedora-Installation zu verwenden, getrennt von den ESPs, die von anderen Betriebssystemen verwendet werden. (Dies unterscheidet sich von Ubuntu und OpenSUSE).

    Beachten Sie das efibootmgr Befehl erfordert, dass Sie es von einem EFI-gestarteten System ausführen.


8
2018-05-16 13:27



"Beachten Sie, dass der Befehl efibootmgr die Ausführung von einem EFI-gestarteten System erfordert." - Wie bootet ihr in diesem Fall ein EFI-gestartetes System? (Mein aktueller USB-Stick startet nicht, wenn ich die UEFI-Option auswähle) - jozxyqk
Installieren von Medien ist die unterstützte Methode, um Ihr System zu starten. Ich denke, Sie sollten auch in der Lage sein, ein EFI-System zu booten, ohne EFI-Firmware-Variablen zu installieren /EFI/boot/bootx64.efi (Annahme 64-Bit-UEFI). Genau so funktionieren USB-Installationsmedien (alles andere als CDs / DVDs). Es könnte ausreichen, shim.efi dorthin zu kopieren, aber ich bin mir nicht sicher, ob das funktioniert oder nicht. - sourcejedi


Wenn Sie mit UEFI Windows dual-booten, gibt es eine andere Möglichkeit. Das erfordert keine Wiederherstellungsdiskette.

Sie können in Windows starten, eine Befehlszeile mit Administratorrechten öffnen und den folgenden Befehl ausführen:

bcdedit /set {bootmgr} path \EFI\fedora\shim.efi

Dadurch wird der Windows-Starteintrag in UEFI durch einen Eintrag ersetzt, der in GRUB startet. Angenommen, Ihr GRUB-Menü enthält dann einen funktionierenden Eintrag für Windows, Sie haben nun Dual-Boot :-). Hoffentlich sollte das funktionieren, ohne Secure Boot zu deaktivieren.

Ich musste das nach einem Windows-Update selbst tun und es scheint, dass es den Trick getan hat.

Quelle und weitere Informationen: http://nwrickert2.wordpress.com/2013/05/13/notes-on-uefi-windows-and-linux/.


5
2017-09-08 10:55



Alternativ können Sie die beiden unter beschriebenen Lösungen lesen askubuntu.com/a/799734/462004 (mit EasyUEFI oder wie man die Startreihenfolge mit ändert bcdedit.exe anstelle des Windows-Eintrags wie Ihr Befehl). - phk


https://fedoraproject.org/wiki/GRUB_2?rd=Grub2#Updating_GRUB_2_configuration_on_UEFI_systems:

dnf reinstall grub2-efi grub2-efi-modules shim

(vorausgesetzt, Sie haben diese Pakete bereits installiert und eine vorherige Konfiguration ist vorhanden)


1
2018-02-02 03:00



Vielen Dank! "Erstelle einen Boot-Menü-Eintrag: TL; DR: Das sollte automatisch passieren" - yay. - sourcejedi
Oh ja, es tut: grub2-mkconfig -o /boot/grub2/grub.cfg (oder auf einem (U) EFI-System wäre es so ähnlich grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg. Hat nicht funktioniert?
Entschuldigung, ich meine, das Wiki impliziert, dass die Neuinstallation des grub-Pakets die EFI-Variablen neu erstellt, die zum Booten von GRUB notwendig sind (die unter Umständen neu erstellt werden müssen, wenn Sie die "BIOS" -Einstellungen aus irgendeinem Grund zurücksetzen). Ich glaube nicht, dass ich es versucht habe dnf reinstallund wenn es wahr ist, klingt es ziemlich gut. - sourcejedi


Um es hier einfach zu halten, ist alles, was Sie tun:

yum reinstall grub2-efi

Lassen Sie GRUB2-install NICHT laufen, es bricht Ihr System, indem es Ihnen ein leeres Grub-Boot-Menü präsentiert (dies liegt daran, dass grub2-install Ihnen eine fehlerhafte / generische .efi-Datei liefert, die versucht, grub.cfg vom falschen Ort zu laden.

Zusätzlich können Sie Ihre grub-config aktualisieren, wenn Sie auf neue Festplatten migriert haben oder Ihre Partition / Ihr Layout sich geändert hat mit:

grub2-mkconfig -o /boot/EFI/fedora/grub.cfg

0
2017-07-03 20:48



Schön, eine Bestätigung zu lesen :). Ich schlug eine Änderung vor, die zeigt, wie grub2-mkconfig verwendet werden muss -o. Ich bin mir nicht sicher, wie nützlich die einfache Antwort ist - nicht, dass meins strikt nützlicher ist, aber das setzt voraus, dass du das Fedora-System irgendwie noch irgendwie booten kannst oder du bemerkst, dass du einen Fehler gemacht hast Vor du bist heruntergefahren. (Meine Antwort Handwaves über generische Notfalldisketten, aber AFAIK müssen Sie in die Installation chroot, stellen Sie sicher, dass alles, was Dateisysteme benötigt mounten müssen ... das ist das Schöne über ein spezialisiertes Rettungssystem wie das Debian-Installationsprogramm, tut es die mount + chroot für dich). - sourcejedi