Não é possível encontrar o diretório EFI: problema com o grub-install

14

Eu estava tentando resgatar o GRUB no Linux. Consegui fazer login no sistema operacional seguindo este tutorial:

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

Eu tenho que atualizar o GRUB para corrigir o problema. No entanto, quando executo grub-install, recebo um erro:

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

Meu sistema de arquivos contém sda4, sda5e sda6para o sistema EFI, troca Linux e sistema de arquivos Linux, respectivamente.

Eu não sou muito experiente usando mount ou outros comandos.

Krishnakant
fonte

Respostas:

11

Quando você executa o grub-install por padrão, ele assume que o sistema EFI está montado como / boot / efi

Depende da sua distribuição onde o sistema EFI está montado e, em algumas distribuições, não é montado após a inicialização.

Primeiro verifique se / boot / efi está montado com

mount | grep /boot/efi

Se isso não funcionar, tente o seguinte para ver se está montado em outro lugar.

mount | grep /dev/[efi device]

Se nenhum desses trabalhos fizer:

mount /dev/[efi device] /mnt

Agora execute:

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

onde [efi dir] é / boot / efi ou / mnt e [efi device] é o dispositivo com a partição do sistema EFI. Se você não sabe, use o comandolsblk -o NAME,PARTTYPE,MOUNTPOINT | grep -i "C12A7328-F81F-11D2-BA4B-00A0C93EC93B"

jdwolf
fonte
2
Obrigado, no momento em grub-install --efi-directory=/boot/EFIque eu chroot /mnt.
precisa
Talvez Q estúpido, mas eu não tenho um dir EFI. Onde consigo um? Quero dizer que é suposto conter arquivos, qual comando pode recriá-lo?
Lennart Rolland
@LennartRolland Se você possui um sistema compatível com UEFI, sua unidade de sistema será particionada por GPT e conterá uma "partição de sistema UEFI". geralmente a primeira partição e será do tipo EF00. Muitas distribuições montam isso por padrão como / boot / efi para, entre outras coisas, permitir que o carregador de inicialização GRUB atualize seus arquivos. Caso contrário, você precisará montá-lo e adicioná-lo ao fstab. Você também pode ter um sistema UEFI, mas que está usando o modo legado, o que significa que suas partições serão do tipo msdos e você não terá um / boot / efi. Existem configurações mais estranhas, mas que cobrem a maioria delas.
jdwolf
Suas instruções se o EFI não estiver montado estão erradas. Veja minha edição. mount | grep /dev/sda6não funciona Se o EFI não estiver montado, você deverá verificar o tipo de partição.
giusti
@giusti Provavelmente é melhor não fazer referências específicas ao nome do dispositivo.
Jdwolf 19/10/19
1

O modo de recuperação do Grub pode ser tratado como

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

Depois de fazer o login, insira sudo update-grub && sudo grub-install /dev/sda.

desfigurar
fonte
O grub-installnão deve ser feito antes do update-grub?
danger89