Como posso descobrir qual bootloader está instalado onde?

6

Em uma caixa Debian Linux, estou correndo para uma situação muito estranha em que, após a ativação, o GRUB falha com o erro "nenhuma partição desse tipo", mas se eu pressionar o botão de reinicialização, ele inicializará normalmente. Estou tentando diagnosticar a situação e percebi que não sei quais versões de quais bootloaders estão instalados onde? Como posso descobrir? Ou seja, como descobrir qual bootloader está instalado no MBR de cada um dos meus discos e como descobrir quais bootloaders de segundo estágio estão instalados nos vários discos? partições?

Se eu não conseguir descobrir exatamente o que tenho, decidirei descobrir apenas qual versão do GRUB está instalada onde

.     
por Norman Ramsey 25.08.2012 / 03:35

2 respostas

11

Você pode ver se o GRUB (1 ou 2) está instalado no MBR com dd :

dd if=/dev/sda bs=512 count=1 2> /dev/null | grep -q GRUB && echo "GRUB found"

Se a assinatura do GRUB for encontrada, você poderá executar:

file -s /dev/sda

Se a saída for algo como:

/dev/sda: x86 boot sector; GRand Unified Bootloader, stage1 version 0x3...........

você tem o GRUB1 instalado no MBR. Se não houver menção do Grub, assim:

/dev/sda: x86 boot sector; partition 1: ID=0x83, active, starthead 32, startsector 2048........

então você tem o GRUB2 instalado no MBR desse disco.

Para encontrar os arquivos essenciais do GRUB ("estágios" para o GRUB1, "imagens" para o GRUB2):

GRUB1:

arquivo de configuração:

find / -name menu.lst

etapas:

find / -name stage1

ou

find / -name stage2

GRUB2:

arquivo de configuração:

find / -name grub.cfg

imagens:

find / -name core.img

ou

find / -name boot.img
    
por 25.08.2012 / 16:50
5

Você pode usar o link que fornece informações detalhadas sobre o status de inicialização e informa qual bootloader está instalado onde, combinado com vários detalhes outras informações relevantes para a inicialização. Está disponível no debian como package boot-info-script.

    
por 01.03.2013 / 10:26