No se puede encontrar el directorio EFI: problema con grub-install

14

Estaba tratando de rescatar a GRUB en Linux. Pude iniciar sesión en el sistema operativo siguiendo este tutorial:

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

Tengo que actualizar GRUB para solucionar el problema. Sin embargo, cuando ejecuto grub-install, aparece un error:

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

Mi sistema de archivos contiene sda4, sda5y sda6para el sistema EFI, el intercambio de Linux y el sistema de archivos de Linux, respectivamente.

No tengo mucha experiencia usando mount u otros comandos.

Krishnakant
fuente

Respuestas:

11

Cuando ejecuta grub-install de forma predeterminada, se supone que el sistema EFI está montado como / boot / efi

Depende de su distribución donde se monta el sistema EFI y en algunas distribuciones no se monta después del arranque.

Primero verifique si / boot / efi está montado con

mount | grep /boot/efi

Si eso no funciona, primero intente lo siguiente para ver si está montado en otro lugar.

mount | grep /dev/[efi device]

Si ninguno de esos trabajos lo hace:

mount /dev/[efi device] /mnt

Ahora ejecuta:

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

donde [efi dir] es / boot / efi o / mnt y [efi device] es el dispositivo con la partición del sistema EFI. Si no sabe, use el comandolsblk -o NAME,PARTTYPE,MOUNTPOINT | grep -i "C12A7328-F81F-11D2-BA4B-00A0C93EC93B"

jdwolf
fuente
2
Gracias, en el grub-install --efi-directory=/boot/EFIcomo me cruzo /mnt.
Krishnakant
Tal vez Q estúpido pero no tengo un directorio EFI. ¿Dónde consigo uno? Quiero decir que se supone que contiene archivos, ¿qué comando puede recrearlo?
Lennart Rolland
@LennartRolland Si tiene un sistema compatible con UEFI, la unidad del sistema estará particionada GPT y contiene una "Partición del sistema UEFI". generalmente la primera partición y será del tipo EF00. Muchas distribuciones montarán esto por defecto como / boot / efi para permitir, entre otras cosas, que el gestor de arranque GRUB actualice sus archivos. Si no, tendrá que montarlo usted mismo y agregarlo a fstab. Es posible que también tenga un sistema UEFI pero que esté usando el modo heredado, lo que significa que sus particiones serán del tipo msdos y no tendrá un / boot / efi. Existen configuraciones más extrañas, pero eso cubre la mayoría de ellas.
jdwolf
Sus instrucciones si EFI no está montado son incorrectas. Mira mi edición. mount | grep /dev/sda6no funciona Si EFI no está montado, debe verificar el tipo de particiones.
Giusti
@giusti Probablemente sea mejor no hacer referencias específicas de nombres de dispositivos.
jdwolf
1

El modo de rescate de Grub se puede tratar como

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

Una vez que inicie sesión, ingrese sudo update-grub && sudo grub-install /dev/sda.

desalinear
fuente
¿Debería el grub-installno hecho antes del update-grub?
peligro89