¿Cómo puedo saber si grub está instalado en un disco y si es la configuración que tiene (notablemente, qué tiene para el parámetro raíz)
Necesito verificar muchos discos en las matrices RAID1 de software para asegurarme de que ambos discos tengan instalado grub, con el grub en cada disco con el valor raíz apropiado.
software-raid
grub
DrStalker
fuente
fuente
grub
0.9x o menos era de uso común y mucho antes de que se le cambiara el nombregrub-legacy
. Si esto le molesta, sugiero hacer una nueva pregunta específicamente sobregrub2
. alternativamente, realice una campaña corrigiendo cada pregunta y respuesta que se haya vuelto obsoleta con el paso del tiempo.Respuestas:
ACTUALIZAR:
Esta respuesta es de 2009 y se aplica a grub-legacy, no a grub2.
Puede usar
file
para identificar GRUB en un MBR. p.ejEl
root=
parámetro no se almacena en el MBR, se almacena en elmenu.lst
archivo de GRUB que se almacena en un sistema de archivos (generalmente en el directorio / boot / grub de la raíz fs o el directorio grub del sistema de archivos / boot, pero no siempre es así) podría estar en cualquier lugar).Tendrá que analizar la salida del archivo anterior, determinar en qué disco / partición está el
menu.lst
archivo, montarlo, leerlo y analizarlo. También querrá leer en el archivo grub / default para descubrir qué entrada de menú grub es la predeterminada, porque esa es probablemente la que tiene el parámetro root = que más le interesa.fuente
Metodo alternativo
file -s
no funcionó para mí en Ubuntu Lucid porque los archivos mágicos de mi comando de archivo estaban desactualizados . Otra forma de hacer esto si sus archivos mágicos no se han puesto al día con los cambios de GRUB es examinar los primeros 512 bytes del dispositivo con eldd
comando siguiente:Esto envía la salida del
dd
comando a través delstrings
comando, eliminando los caracteres no imprimibles (las estadísticas de transferencia se descartan/dev/null
).Si ve algún mensaje que GRUB mostrará cuando encuentre una falla, entonces tendrá instalado grub.
Hat tip to louib en ubuntuforums.org para responder en esta publicación protegida con contraseña: http://ubuntuforums.org/showthread.php?t=363372
Para los curiosos esto es lo que obtuve de
file -s
:No hay nada sobre GRUB allí específicamente.
fuente
file -s
comando utiliza grub-pc, que aparentemente es GRUB2, por lo que parece que estás parcialmente correcto. Sin embargo, ejecutéfile -s
algunos otros sistemas con GRUB 0.97 y en algunos funcionó mientras que en otros no. La diferencia entre estos sistemas estaba en los números en los archivos mágicos que vienen con el comando de archivo. El intercambio de archivos de números mágicos confirmó que las definiciones del sistema que no funcionaba hicieron que el sistema de trabajo fallara.Puede usar
grub-emu
para ver el menú que mostrará grub la próxima vez que la máquina se reinicie.En mi máquina de escritorio, el menú se mostraba como se esperaba, aunque si realmente fingí arrancar un kernel, recibí el error "no existe tal dispositivo". Creo que ese es el comportamiento esperado.
En mi DigitalOcean VPS no se mostraban entradas en el menú de grub, aunque el servidor se reinició bien. (Este es un VPS 2013, por lo que su kilometraje puede variar).
Algunas notas cuando se ejecuta
grub-emu
:c
luego escribiendoexit
.reset
. (No se preocupe, no reiniciará su máquina. Simplemente limpiará su terminal).fuente
c
seguidoexit
no funcionó para mí.