¿Qué puedo hacer para corregir este error en grub-efi?


15

Tengo una configuración de sistema de arranque dual con Windows 10 y Ubuntu 16.04, cuando enciendo mi grub de PC se muestra correctamente, Windows y Ubuntu son reconocidos, no hay problemas allí. Cada vez que hay una actualización o tengo que instalar algo, sigo recibiendo este error:

Errors were encountered while processing:
 grub-efi-amd64-signed
 shim-signed
Setting up shim-signed (1.12+0.8-0ubuntu2) ...
Installing for x86_64-efi platform.
grub-install: errore: cannot find EFI directory.
dpkg: error processing package shim-signed (--configure):
 subprocess installed post-installation script returned error exit status 1
Setting up grub-efi-amd64-signed (1.66+2.02~beta2-36ubuntu3) ...
grub-install: errore: /usr/lib/grub/i386-pc/modinfo.sh doesn't exist. Please specify --target or --directory.
dpkg: error processing package grub-efi-amd64-signed (--configure):
 subprocess installed post-installation script returned error exit status 1

¿Puedo ignorarlo o hacer algo para solucionarlo?


¿Es este un sistema UEFI? ¿Su / etc / fstab monta la partición EFI en / boot / efi? ¿El / boot / efi contiene un directorio EFI?
ubfan1

Sí, es un sistema UEFI, / boot / efi contiene el directorio EFI, no entiendo el bit / etc / fstab
BressanFranco

Parece que una actualización podría haberse interrumpido en algún momento antes de que los paquetes terminen de configurarse por completo, pruebe dpkg --configure -a
MttJocy

@MttJocy lo intentó, me da el mismo error con el paquete grub-efi-amd64 -igned y shim
-igned

Respuestas:


4

La referencia a /usr/lib/grub/i386-pc/modinfo.shindica una instalación de GRUB en modo BIOS, específicamente, la i386-pcsección de esa ruta identifica la versión de GRUB en modo BIOS. (Para una instalación en modo EFI en AMD64 / x86-64, la ruta equivalente es /boot/grub/x86_64-efi/modinfo.sh). OTOH, los nombres de paquete indican claramente una instalación de GRUB en modo EFI. Los dos no deben mezclarse, pero de alguna manera eso sucedió en su caso. Tal vez tenga un archivo de configuración GRUB sobrante de una instalación anterior en modo BIOS, en cuyo caso rastrearlo y actualizarlo debería solucionar el problema. Quizás Boot Repair podría solucionar el problema automáticamente. Sin embargo, tenga en cuenta que un intento de reparación corre el riesgo de empeorar las cosas al hacer que su sistema no se pueda arrancar. Por lo tanto, ¡recomiendo proceder con extrema precaución!

Si no puede solucionarlo fácilmente, puede considerar reemplazar GRUB por otra cosa: hay varias alternativas disponibles, como se describe en esta página web mía. GRUB 2 es el gestor de arranque más difícil de ajustar una vez que se sale "de los rieles", como el suyo, por lo que reemplazarlo puede ser una buena opción. Es probable que mi propio gestor de arranque rEFInd sea ​​fácil de instalar, con la advertencia de que hay un error de Ubuntu 16.04 que complica la instalación desde el PPA con el arranque seguro activo. (Eso está cubierto en la documentación). Tenga en cuenta también que simplemente instalar un nuevo paquete no resolverá su problema; necesitaría desinstalar el paquete GRUB que le causa dificultades para hacerlo. Cubro ese tema específicamente aquí,ya que no es tan fácil como podrías pensar. (Ubuntu sigue intentando volver a instalar GRUB si lo elimina).


Boot-Repair en opciones avanzadas tiene una desinstalación / reinstalación completa de grub. Eso puede solucionar el problema de configuración. Asegúrese de arrancar en modo UEFI si instala UEFI.
oldfred

@oldfred, ¿cómo me aseguro de arrancar en modo UEFI? si es una configuración de BIOS, debería (en realidad estoy seguro de que lo está) ya debería estar habilitada
BressanFranco

Usted elige del menú de arranque UEFI. Por lo general, la unidad flash se muestra dos veces. Una vez como UEFI: unidad flash y otra vez como unidad flash, que es el arranque del BIOS. También puede saber si obtiene el menú de grub es UEFI, si obtiene la pantalla de accesibilidad (iconos pequeños en la parte inferior) es BIOS. Instala programas con capturas de pantalla. Tanto la pantalla de accesibilidad púrpura del BIOS como la pantalla del menú de grub negro UEFI help.ubuntu.com/community/UEFI
oldfred

probé el disco en vivo de reparación de arranque y realicé la reparación automática, todo parece estar bien ahora, no obteniendo los mismos errores que antes, update-grub volvió a agregar la partición de Windows. Todo parece estar bien
BressanFranco

40

Tratar

sudo apt-get purge grub\*
sudo apt-get install grub-efi
sudo apt-get autoremove
sudo update-grub

arreglar.


lo arregló con el disco en vivo de reparación de arranque
BressanFranco

Estos comandos funcionaron como un encanto Xubuntu 16.04
guyfromfl

44
¿Esto es seguro de hacer?
Pithikos

1
Es seguro en ambos sentidos. Puede usar los comandos anteriores o el disco en vivo de reparación de arranque.
John

1
Actualicé Ubuntu 17.04 a 18.04 y luego recibí el error: Errors were encountered while processing: grub-efi-amd64 grub-efi-amd64-signed shim-signed E: Sub-process /usr/bin/dpkg returned an error code después de hacerlo sudo apt upgrade. Tu solución también funcionó conmigo. Gracias.
Mario ir

4

En caso de que alguien esté buscando configurar un disco USB de arranque múltiple para manejar mbr y grub:

Si su sistema actual es EFI, entonces se perderá esto:

sudo apt install grub-pc-bin

Si su sistema actual es MBR, entonces se perderá esto:

sudo apt install grub-efi-amd64-bin
# You may also need grub-efi-amd64-signed

1

tratar:

sudo apt-get -f install

Paso 1: inicia la desinstalación de la cuña

entonces: este comando de terminal eliminará el archivo firmado con shim

paso 2: desinstalar la cuña

después: con el archivo shim eliminado con éxito

paso 3: cuña quitada

finalmente: al menos las actualizaciones de software de Ubuntu deberían comenzar a funcionar nuevamente si todo va bien (como en mi caso)

Paso 4: solicitud de actualizaciones del sistema

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.