Reparar permanentemente la ubicación absoluta de la carpeta GRUB

Reparar permanentemente la ubicación absoluta de la carpeta GRUB

Recientemente encontré un problema relativamente común cuando el instalador 16.04 configura mal la ubicación de la carpeta GRUB. En tales casos, el sistema arranca en un shell de rescate con los siguientes mensajes:

error: file '/grub/i386-pc/normal.mod' not found.
Entering rescue mode...
grub rescue>

Esto significa que GRUB pudo arrancar, pero está buscando sus módulos en el lugar equivocado. Elsolución bien conocidaes instruir a GRUB sobre la marcha sobre la ubicación de sus módulos. En mi caso este es:

grub rescue> set prefix=(hd1,msdos2)/boot/grub
grub rescue> insmod normal
grub rescue> normal

Esto reanuda el proceso de arranque exitosamente. Sin embargo, la próxima vez que se inicia el sistema, GRUB vuelve a recurrir a la consola de rescate y se le debe indicar nuevamente la ubicación de sus módulos. Reinstalé GRUB pero no solucionó el problema.

¿Cómo se puede informar permanentemente a GRUB de la correcta ubicación de sus módulos?

Actualizar: Seguíla sugerencia de WinEunuuchs2Unixy probé elReparación de botasherramienta. Primero verifiqué la ubicación de GRUB y aparentemente es correcta: /boot/gruben sdg2.

Luego ejecuté el diagnóstico de reparación recomendada, que produjoesta salida. Aquí se informa nuevamente la ubicación correcta de GRUB:

sdg2: __________________________________________________________________________

    File system:       ext4
    Boot sector type:  -
    Boot sector info: 
    Operating System:  Ubuntu 16.04.3 LTS
    Boot files:        /boot/grub/grub.cfg /etc/fstab 
                       /boot/grub/i386-pc/core.img

Sin embargo, hay un error al final del informe que apunta a un problema con device.map:

grub-probe: error: cannot find a GRUB drive for /dev/sdi1.  Check your device.map.
Unhide GRUB boot menu in sdg2/boot/grub/grub.cfg

An error occurred during the repair.

¿Alguna sugerencia sobre qué se puede hacer al respecto?

Respuesta1

La clave para comprender qué estaba mal fue la necesidad de instruir a GRUB para que solucionara el problema hd1. ElEl BIOS arranca de forma predeterminada parahd0, y en esta estación de trabajo había restos de un MBR que intentaba cargar un GRUB una vez instalado en ese disco (de ahí la referencia a /gruben lugar de /boot/grub).

La solución a esto fue cambiar el orden de arranque de los discos internos en el BIOS. En hd1primer lugar, el proceso de arranque concluye exitosamente sin intervención humana. En algunas BIOS puede que no sea posible modificar el orden de arranque de los discos internos; en tales casos, los discos deben volver a cablearse a la placa.

información relacionada