Por curiosidad, ¿es posible saber qué gestor de arranque se utilizó para iniciar un sistema determinado? ¿El sistema fue iniciado porCOMIDA,LILO¿O cualquier otro gestor de arranque?
¿Supongo que debe existir alguna /sys
variable /proc
para lo mismo?
EDITAR:
Resumen de información de arranque: => Lilo está instalado en el MBR de /dev/sda
sda1: ___________________________________________________________________
File system: Boot sector type: Unknown Boot sector info: Mounting failed: mount: unknown filesystem type ''
/dev/sda
es el único dispositivo con el que tengo para arrancar.
Me pregunto, si no hay ningún sistema de archivos conocido en la única partición disponible, ¿cómo logró arrancar?
Respuesta1
No creo que esta información se rastree de manera significativa en cualquiera de los dos /sys
o /proc
. La única forma en que puedo imaginar que esto sería accesible para usted después de un arranque es interrogando al sistema, ya sea mirando para ver si un archivo de configuración de GRUB o Lilo estaba presente, o haciendo uso de un script comobootinfoscript
.
Ejemplo: comprobar el dispositivo de arranque
Si sabe con qué dispositivo se inició su sistema, puede usarlo dd
para volcar el contenido del cargador de inicio y luego grep
para GRUB o LILO.
Puede utilizar estos comandos para determinar si está utilizando GRUB o LILO:
$ sudo dd if=/dev/sda bs=512 count=1 2>&1 | grep GRUB
$ sudo dd if=/dev/sda bs=512 count=1 2>&1 | grep LILO
El que devuelve esta cadena es el cargador de arranque que estás usando:
Binary file (standard input) matches
Ejemplo: usar bootinfoscript
$ sudo ./bootinfoscript --stdout
Boot Info Script 0.61 [1 April 2012]
============================= 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, but core.img can not be found at this
location.
sda1: __________________________________________________________________________
File system: ext4
Boot sector type: -
Boot sector info:
Operating System:
Boot files: /grub2/grub.cfg
...
Sin embargo, ninguno de estos enfoques es "conclusivo", ya que pueden coexistir varios cargadores de arranque, pero al menos le da una idea aproximada de los cargadores de arranque que "podrían" estar en uso.
Referencias
Respuesta2
Vereste. Sin embargo, este script está escrito en Bash, por lo que si necesita ejecutarlo en una plataforma integrada tendrá que modificarlo. Probé este script y reconoció correctamente GRUB en Ubuntu y LILO en Slackware.
Respuesta3
Para obtener el ID del gestor de arranquetipo_cargador de arranque
echo $((`cat /proc/sys/kernel/bootloader_type`>>4))
Encuentra tuidentificación del gestor de arranque