web-dev-qa-db-fra.com

Comment pourrais-je réinstaller le chargeur de démarrage grub-efi sous Fedora Linux?

J'ai récemment installé Fedora 18 à l'aide du démarrage EFI. Comme les autres distributions linux actuelles, il configure GRUB2 pour moi.

J'ai de l'expérience dans la réinstallation de la version BIOS de GRUB lorsque les choses tournent mal. Je sais par exemple comment démarrer un disque de secours, chroot dans le système installé, exécutez grub-install et éventuellement update-grub/grubby/grub-mkconfig.

Comment pourrais-je réinstaller la version EFI de GRUB en cas de problème? (Je sais que les choses iront mal: je les casse).

11
sourcejedi

Tout d’abord, vous aurez besoin d’un système linux démarré par EFI . Si vous avez toujours votre support d'installation d'origine (CD/DVD/clé USB), cela devrait généralement inclure un système de secours adéquat. Il pourrait même avoir une option de réparation en un clic :).

Alternativement, la communauté Ubuntu fournit une image automatique boot-repair . Il prétend soutenir Fedora. Si vous voulez savoir ce qu'il fait réellement, je vous suggère de lire cette explication fournie par une tierce partie à l'avance.

Cependant, j'ai utilisé un système de secours à usage général avec des outils de console. En plus de supporter le démarrage EFI, je me suis assuré que efibootmgrest dans la liste des packages . Il s’est avéré être appelé GRML et était basé sur Debian. Voici les informations sur les outils de la console et sur grub-efi que j'ai découvertes lors de la récupération de mon système Fedora:

  1. Lorsque vous exécutez un système Fedora 18 démarré par EFI, ne lancez pas grub2-install. Il va prétendre au succès, mais il casse le système de démarrage Fedora grub-efi.

    • Le fichier /boot/EFI/Fedora/grub.efi est installé par le paquet grub-efi. Si vous faites voulez le réinstaller, utilisez yum reinstall grub-efi. (Pour ce faire, à partir d'un système de secours générique, vous pouvez le faire après mountname__ing et chrootname__ing dans votre système Fedora installé). Fedora grub-efi utilise le fichier de configuration /boot/EFI/Fedora/grub.cfg (probablement généré par grubby). Fedora sur EFI ne générera pas de fichier à /boot/grub2/grub.cfg. Exécuter grub2-install remplacera grub.efi par une image essayant de lire /boot/grub2/grub.cfg et échouera donc.

    • grub2-install installe une entrée de démarrage EFI pour grub.efi. Toutefois, si vous n'avez pas désactivé Secure Boot dans votre micrologiciel certifié Windows 8, cette entrée ne parviendra pas à démarrer. Vous devez démarrer shim.efi à la place (ignorez shim-Fedora.efi, je ne sais pas exactement ce que c'est). Voir ci-dessous.

  2. Vous pouvez perdre votre entrée de démarrage EFI pour Fedora si les paramètres de votre microprogramme sont réinitialisés. (Manuellement, ou par la mise à niveau du microprogramme, ou parce que le microprogramme est défectueux - ce dernier a été signalé à l'état sauvage). Voici comment créer manuellement une entrée de démarrage EFI pour Fedora avec un démarrage sécurisé:

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

    Cet exemple utilise la partition numéro 100 sur le premier disque standard reconnu par Linux. Vous devez ajuster les options -d /dev/sda et -p 100 pour identifier le système de fichiers que Fedora monte à /boot/efi. Ceci est une partition système EFI. Le programme d’installation de Fedora aura créé un dédié ESP à utiliser par votre installation Fedora, distinct des ESP utilisés par tout autre système d’exploitation. ( Ceci est différent d'Ubuntu et d'OpenSUSE ).

    Notez que la commande efibootmgrnécessite que vous l'exécutiez à partir d'un système démarré par EFI.

9
sourcejedi

Si vous double-amorcez avec UEFI Windows, il existe une autre possibilité. qui ne nécessite pas de disque de récupération.

Vous pouvez démarrer Windows, ouvrir une ligne de commande avec les privilèges d'administrateur et exécuter la commande suivante:

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

Cela remplacera l'entrée de démarrage Windows dans UEFI, par une entrée qui démarre dans GRUB. En supposant que votre menu GRUB inclue alors une entrée de travail pour Windows, vous avez maintenant le double démarrage :-). Espérons que cela devrait fonctionner sans désactiver le démarrage sécurisé.

Je viens de le faire moi-même après une mise à jour de Windows et il semble avoir fait le tour.

Source et informations supplémentaires: http://nwrickert2.wordpress.com/2013/05/13/notes-on-uefuewindows-and-linux/ .

5
ternaryOperator

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

dnf reinstall grub2-efi grub2-efi-modules shim

(en supposant que ces packages soient déjà installés et qu'une configuration précédente existe déjà)

1
user552724

Simplement pour simplifier les choses, voici tout ce que vous faites:

yum reinstall grub2-efi

NE LANCEZ PAS grub2-install, cela endommagera votre système en vous présentant un menu de démarrage grub vide (ceci est dû au fait que grub2-install vous donnera un fichier .efi incorrect/générique qui tente de charger grub.cfg à partir du mauvais emplacement.

De plus, vous voudrez peut-être mettre à jour votre configuration grub si vous avez migré vers de nouveaux disques ou si votre partition/disposition a été modifiée avec:

grub2-mkconfig -o /boot/EFI/Fedora/grub.cfg
0
Areeb Soo Yasir