web-dev-qa-db-fra.com

Comment puis-je réinstaller GRUB sur la partition EFI?

Je souhaite réinstaller GRUB 2 et j'ai trouvé les instructions suivantes: Comment réparer, restaurer ou réinstaller Grub 2 à l'aide d'un CD ou d'une clé USB Ubuntu Live . Dans mon cas, le chargeur de démarrage est installé dans la partition EFI. Si j'utilise les commandes fournies dans ce guide, GRUB sera-t-il automatiquement réinstallé sur la partition EFI ou sera-t-il installé dans la partition racine sur laquelle Ubuntu est installé? De toute évidence, je ne veux pas que cela se produise.

27
Generoso

Réinstallez le chargeur de démarrage GRUB sur votre installation Ubuntu en mode EFI de cette façon ...

Démarrez à partir du support d'installation Ubuntu et sélectionnez "Essayer Ubuntu sans installer".
(Lancez votre support d'installation en mode EFI, sélectionnez l'entrée Ubuntu avec UEFI devant.)

Une fois sur le bureau Live, ouvrez un terminal et exécutez les commandes suivantes:

Sudo mount /dev/sdXXX /mnt
Sudo mount /dev/sdXX /mnt/boot/efi
for i in /dev /dev/pts /proc /sys /run; do Sudo mount -B $i /mnt$i; done
Sudo chroot /mnt
grub-install /dev/sdX
update-grub  

Remarque: sdX = disk | sdXX = partition efi | sdXXX = partition système

Pour identifier les partitions utilisant GParted, l'outil est inclus dans le support d'installation.
Après avoir exécuté les commandes GRUB sera installé dans la partition EFI séparée.

44
cl-netbox

c'est la seule façon qui a fonctionné pour moi: (Système: sdb8, boot: sdb6, efi: sdb2)

Sudo mount /dev/sdb8 /mnt 
Sudo mount /dev/sdb6 /mnt/boot 
Sudo mount /dev/sdb2 /mnt/boot/efi

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

Sudo chroot /mnt

grub-install --target=x86_64-efi /dev/sdb

grub-install --recheck /dev/sdb

exit &&
Sudo umount /mnt/sys &&
Sudo umount /mnt/proc &&
Sudo umount /mnt/dev/pts &&
Sudo umount /mnt/dev &&
Sudo umount /mnt
2
Chilu Pereira

Merci à @ cl-netbox pour les instructions!

Après la mise à niveau (Linux Mint 18.2 Sonya à 18.3 Sylvia), mon système ne démarre pas. J'ai donc suivi les instructions ci-dessus, mais toujours sans succès. J'ai remarqué cependant que ma machine a/boot dans une partition séparée (peut-être parce que j'utilise LVM) alors mon processus légèrement modifié était:

Sudo mount /dev/sdXXX /mnt
Sudo mount /dev/sdXY /mnt/boot
Sudo mount /dev/sdXX /mnt/boot/efi
for i in /dev /dev/pts /proc /sys /run; do Sudo mount -B $i /mnt$i; done
Sudo chroot /mnt
grub-install /dev/sdX
update-grub 

Remarque: sdX = disque | sdXX = partition efi | sdXY = partition de démarrage | sdXXX = partition système

2
Rob Pearman

De plus, si vous démarrez à partir d’un cd en direct pour le récupérer, il peut arriver que le paquet grub-efi-AMD64-bin soit manquant, puis que la ligne

"grub-install --target=x86_64-efi /dev/sdb" 

échoue avec le message d'erreur: "grub-install: erreur: /usr/lib/grub/x86_64-efi/modinfo.sh n'existe pas. Veuillez spécifier --target ou --directory."

Dans ce cas, exécutez-le en dehors de chroot

Sudo apt get grub-efi-AMD64-bin

puis ajoutez/usr/lib/grub/x86_64-efi aux chrootages.

Le paramètre "/ dev/sdb" de BTW est obsolète et est ignoré.

1
mprot

Si vous perdez la partition EFI, il est facile de la récupérer. Vous pouvez utiliser fdisk ou parted pour créer une nouvelle partition GPT de type "partition EFI (1)" et la formater avec:

Sudo mkfs.msdos /dev/sdX

puis montez-le et vous pouvez suivre run:

Sudo grub-install /dev/sdX

comme dans d'autres solutions.

0
cengique

en plus de la réponse ci-netbox.
Si la version de votre système d'exploitation pendrive ne correspond pas à celle qui est installée sur le disque, l'installation de grub risque d'avoir du mal à identifier la bonne installation:

$ Sudo chroot /mnt
# grub-install /dev/sdX
grub-install: error: /usr/lib/grub/i386-pc/modinfo.sh doesn't exist. 
Please specify --target or --directory.

Essayez d'identifier manuellement l'installation à utiliser

# ls /usr/lib/grub/
grub-mkconfig_lib  x86_64-efi  x86_64-efi-signed

Puis redémarrez grub-install:

# grub-install --target=x86_64-efi /dev/sdX 
Installing for x86_64-efi platform.
Installation finished. No error reported.
0
Emmanuel

donc je suppose que la raison du problème est que l'installation d'Ubuntu ne monte pas la partition efi si fstab. et met à jour grub. sur mise à jour.

0
Shimon Doodkin