Encontre o bootloader

5

Por curiosidade, é possível descobrir qual bootloader foi usado para iniciar um determinado sistema? O sistema foi inicializado pelo GRUB, pelo Lilo ou por qualquer outro carregador de inicialização?

Suponho que exista alguma variável /sys ou /proc para o mesmo?

EDITAR:

Boot Info Summary: => Lilo is installed in the MBR of /dev/sda

sda1: _______________________________________________________________

File system:       
Boot sector type:  Unknown
Boot sector info:
Mounting failed: mount: unknown filesystem type ''

/dev/sda é o único dispositivo com o qual tenho que inicializar. Eu me pergunto, se não houver nenhum sistema de arquivos conhecido na única partição disponível, então como ele consegue inicializar?

    
por SHW 17.06.2014 / 11:51

2 respostas

3

Não acredito que essa informação seja rastreada de maneira significativa em /sys ou /proc . Sobre a única maneira que eu posso entender isso seria acessível a você depois de uma inicialização é interrogando o sistema, quer olhando para ver se um arquivo de configuração GRUB ou Lilo estava presente, ou fazendo uso de um script como bootinfoscript .

Exemplo - verifique o dispositivo de inicialização

Se você souber com qual dispositivo o sistema foi inicializado, use dd para despejar o conteúdo do gerenciador de inicialização e, em seguida, grep para o GRUB ou LILO.

VocêpodeusaressescomandosparadeterminarseestáusandooGRUBouoLILO:

$sudoddif=/dev/sdabs=512count=12>&1|grepGRUB$sudoddif=/dev/sdabs=512count=12>&1|grepLILO

Oquejáretornaessastringéogerenciadordeinicializaçãoquevocêestáusando:

Binaryfile(standardinput)matches

Exemplo-usandobootinfoscript

$sudo./bootinfoscript--stdoutBootInfoScript0.61[1April2012]=============================BootInfoSummary:================================>Grub2(v1.99)isinstalledintheMBRof/dev/sdaandlooksatsector1ofthesameharddriveforcore.img,butcore.imgcannotbefoundatthislocation.sda1:__________________________________________________________________________Filesystem:ext4Bootsectortype:-Bootsectorinfo:OperatingSystem:Bootfiles:/grub2/grub.cfg...

Nenhumadessasabordagensé"conclusiva", no entanto, já que vários gerenciadores de inicialização podem coexistir, mas pelo menos dá uma idéia aproximada dos carregadores de inicialização que "podem" estar em uso.

Referências

por 17.06.2014 / 12:49
1

Veja este . Este script é escrito em Bash, no entanto, se você precisar executá-lo em uma plataforma incorporada, terá que modificá-lo. Eu testei esse script e ele reconheceu corretamente o GRUB no Ubuntu e no LILO no Slackware.

    
por 17.06.2014 / 12:39