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.

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"


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.


O grub-installnão deve ser feito antes do update-grub?
danger89
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.