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/grub
en 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 /grub
en lugar de /boot/grub
).
La solución a esto fue cambiar el orden de arranque de los discos internos en el BIOS. En hd1
primer 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.