Impossible de trouver le répertoire EFI: problème avec grub-install

14

J'essayais de sauver GRUB sous Linux. J'ai pu me connecter à l'OS après ce tutoriel:

https://www.lisenet.com/2014/grub2-rescue-mode-error-unknown-filesystem/

Je dois mettre à niveau GRUB pour résoudre le problème. Cependant, lorsque je cours grub-install, j'obtiens une erreur:

$ grub-install /dev/sda
grub-install: error: cannot find EFI directory.

Mon système de fichiers contient sda4, sda5et sda6pour le système EFI, Linux swap et Linux file system respectivement.

Je ne suis pas très expérimenté en utilisant mount ou d'autres commandes.

krishnakant
la source

Réponses:

11

Lorsque vous exécutez grub-install par défaut, cela suppose que le système EFI est monté en tant que / boot / efi

Cela dépend de votre distribution où le système EFI est monté et de certaines distributions, il n'est pas monté après le démarrage.

Vérifiez d'abord si / boot / efi est monté avec

mount | grep /boot/efi

Si cela ne fonctionne pas, essayez d'abord ce qui suit pour voir s'il est monté ailleurs.

mount | grep /dev/[efi device]

Si aucun de ces travaux ne fait:

mount /dev/[efi device] /mnt

Maintenant, lancez:

grub-install --efi-directory=[efi dir]
grub-mkconfig -o /boot/grub/grub.cfg

où [répertoire efi] est / boot / efi ou / mnt et [périphérique efi] est le périphérique avec la partition système EFI. Si vous ne savez pas, utilisez la commandelsblk -o NAME,PARTTYPE,MOUNTPOINT | grep -i "C12A7328-F81F-11D2-BA4B-00A0C93EC93B"

jdwolf
la source
2
Merci, Au grub-install --efi-directory=/boot/EFIfur et à mesure que je chroote /mnt.
krishnakant
Peut-être stupide Q mais je n'ai pas de répertoire EFI. Où en obtenir un? Je veux dire qu'il est censé contenir des fichiers, quelle commande peut le recréer?
Lennart Rolland
@LennartRolland Si vous avez un système compatible UEFI, votre lecteur système sera partitionné GPT et contient une "partition système UEFI". généralement la première partition et sera du type EF00. De nombreuses distributions le monteront par défaut sous / boot / efi pour permettre entre autres au chargeur de démarrage GRUB de mettre à jour ses fichiers. Sinon, vous devrez le monter vous-même et l'ajouter à fstab. Vous pouvez également avoir un système UEFI mais qui utilise le mode hérité, ce qui signifie que vos partitions seront de type msdos et que vous n'aurez pas / boot / efi. Des configurations plus étranges existent mais qui couvrent la majorité d'entre elles.
jdwolf
Vos instructions si l'EFI n'est pas monté sont fausses. Voir mon montage. mount | grep /dev/sda6ne fonctionne pas. Si EFI n'est pas monté, vous devez vérifier le type des partitions.
giusti
@giusti Probablement mieux de ne pas faire de références de nom de périphérique spécifiques.
jdwolf
1

Le mode de sauvetage Grub peut être traité comme

set root=(hd0,gpt6)
set prefix=(hd0,gpt6)/boot/grub
insmod normal
normal

Une fois connecté, entrez sudo update-grub && sudo grub-install /dev/sda.

defalt
la source
Ne doit-on grub-installpas le faire avant le update-grub?
danger89