Estaba intentando rescatar 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, obtengo un error:

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

Mi sistema de archivos contiene sda4, sda5 y sda6 para el sistema EFI, el intercambio de Linux y el sistema de archivos de Linux, respectivamente.

No tengo mucha experiencia en el uso de mount u otros comandos.

Responder

Cuando ejecuta grub-install por defecto asume que el sistema EFI está montado como / boot / efi

Depende de su distribución donde el sistema EFI está montado y en algunas distribuciones no está montado 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 los dos funciona:

mount /dev/[efi device] /mnt 

Ahora ejecute:

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

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

Comentarios

  • Gracias, en el grub-install --efi-directory=/boot/EFI mientras hago un chroot en /mnt.
  • Tal vez Q estúpido, pero no ' t tiene un directorio EFI. ¿Dónde puedo conseguir uno? Quiero decir que se supone que contiene archivos, ¿qué comando puede recrearlo?
  • @LennartRolland Si tiene un sistema compatible con UEFI, entonces el disco del sistema tener particiones GPT y contiene una " partición del sistema UEFI. " normalmente es la primera partición y será del tipo EF00. Se montarán muchas distribuciones esto por defecto como / boot / efi para, entre otras cosas, permitir que el cargador de arranque GRUB actualice sus archivos. De lo contrario, ' tendrá que montarlo usted mismo y agregarlo a fstab. también podría tener un sistema UEFI, pero eso está usando el modo heredado, lo que significa que sus particiones serán del tipo msdos y no ' a / boot / efi. Existen configuraciones más extrañas, pero eso cubre la mayoría de ellas.
  • Sus instrucciones si EFI no está montado son incorrectas. Ver mi edición. mount | grep /dev/sda6 no ' no funciona. Si EFI no está montado, debe verificar el tipo de las particiones.
  • @giusti Probablemente sea mejor no hacer referencias específicas al nombre del dispositivo.

Respuesta

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.

Comentarios

  • Si el grub-install no está hecho antes del update-grub?
  • cuando escribí el primer comando, obtuve " bash: error de sintaxis token casi inesperado `(' "
  • @ Another.Chemist: los comandos dados deben ir a la consola interactiva de GRUB, creo. Eso sería antes de que arranque el kernel. Su error parece que ha escrito los comandos en Bash.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *