¿Es posible verificar la instalación de grub sin reiniciar?


24

Esto me ha mordido tantas veces, y hoy, después de las opensslactualizaciones en mi servidor, grub se quejó de que debería instalarlo nuevamente ya que "los discos duros que se instalaron anteriormente no existen".

Tengo una instalación de incursión 1 con la siguiente configuración (de acuerdo con bootinfoscript):

> ============================= Boot Info Summary: ===============================
> 
>  => Grub2 (v1.99) is installed in the MBR of /dev/sda and looks at
> sector 1 of the same hard drive for core.img. core.img is at this location and looks
>     for (mduuid/d2a04f98760e2b3cc23ba87845667605)/grub on this drive.  
>
> => Grub2 (v1.99) is installed in the MBR of /dev/sdb and looks at sector 1 of
>     the same hard drive for core.img. core.img is at this location and looks
>     for (mduuid/d2a04f98760e2b3cc23ba87845667605)/grub on this drive.

My mount points are:

> /dev/md2 on / type ext4 (rw) 

> /dev/md1 on /boot type ext3 (rw)

And mduuid seems to match the ones bootinfoscript mentions:

> ls -l /dev/disk/by-id/md-uuid-*
>
> lrwxrwxrwx 1 root root 9 Mar 19 11:37 /dev/disk/by-id/md-uuid-38048286:e3004e47:510ca3e1:2bae3f2e -> ../../md2 
>
> lrwxrwxrwx 1 root root 9 Mar 19 11:37 /dev/disk/by-id/md-uuid-d2a04f98:760e2b3c:c23ba878:45667605 -> ../../md1 
>
> lrwxrwxrwx 1 root root 9 Mar 19 11:37 /dev/disk/by-id/md-uuid-e099b695:0143bb58:e4ef7645:0f22ce0b -> ../../md0

Ejecutar grub-install funciona, pero quiero asegurarme de que después de reiniciar grub realmente arranque mis particiones correctamente.

¿Cómo puedo verificarlo?


1
No uso ni conozco realmente RAID, pero instalas grub en la raíz del RAID, no en el MBR de una unidad. Si ejecuta Boot-Repair, puede recibir un mensaje como este. No hay un cargador de arranque instalado en el MBR de / dev / mapper / isw_cdjacjeebj_VOLUME_0. Donde el mapeador es su volumen RAID.
oldfred

Respuestas:


19

No creo que pueda verificar si esto funcionará o no antes de intentar hacerlo, sino que puede obtener una vista previa de su GRUB al instante para asegurarse de que su nueva configuración se cargue correctamente en GRUB.

Esto podría lograrse usando una herramienta llamada grub-emu.

man grub-emu

NAME
       grub-emu - GRUB emulator

SYNOPSIS
       grub-emu [OPTION]...

DESCRIPTION
       GRUB emulator.

       -r, --root-device=DEV
              use DEV as the root device [default=guessed]

       -m, --device-map=FILE
              use FILE as the device map [default=/boot/grub/device.map]

       -d, --directory=DIR
              use GRUB files in the directory DIR [default=/boot/grub]

       -v, --verbose
              print verbose messages

Instale fácilmente grub-emuusando la línea de comando:

sudo apt-get install grub-emu

Para ejecutarlo solo use la terminal para ejecutar este comando:

grub-emu

1
¿Es esta una prueba confiable para las instalaciones de grub2? Además, la entrada del teclado no parece funcionar para el menú que aparece; ¿Hay algún truco para habilitarlo?
Michael Scheper

No puedo cerrar grub-emu, la única forma de detenerlo es pkill -SIGKILL -fe grub-emu, la entrada del teclado tampoco funciona
Aquarius Power

1
@MichaelScheper esto corrige la interactividad serverfault.com/a/847429/163750 :). Básicamente, ¡ xterm -e grub-emuy mantén el foco en xterm, no en la ventana grub-emu!
Acuario Power

4

Esta respuesta se utiliza file -s /dev/sdapara ver si GRUB MBR se ha instalado correctamente. Más allá de eso, definitivamente puedes /boot/grub/grub.cfgvolver a verificar los valores para asegurarte de que los UUID coincidan con los valores /dev/disk/by-uuid, y asegúrate de que todo se vea bien /boot/grub/device.map. Si ese archivo está mal, tendrá problemas con las especificaciones (hdX) en grub.cfg.

Sin embargo, no es necesario administrar estos archivos manualmente si lo está usando update-grubdespués de instalar grub en unidades de reemplazo. Los mayores inconvenientes en mi experiencia han sido no actualizar la configuración de GRUB, no instalar GRUB en todas las unidades o particiones inadecuadas que hacen que no pueda instalar GRUB sin usar --force.


2
Esa respuesta solo se usa file -spara grub1, para grub 2 hay una segunda respuesta que sugieredd bs=512 count=1 if=/dev/sda 2>/dev/null | strings|grep GRUB
rubo77

no hay "/boot/grub/device.map", ¡pero gracias por ese enlace!
Acuario Power
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.