É possível verificar a instalação do grub sem reiniciar?

24

Fui mordido por isso tantas vezes e hoje, depois que as opensslatualizações no meu servidor grub reclamaram que eu deveria instalá-lo novamente, pois os "discos rígidos que foram instalados anteriormente não existem".

Eu tenho uma instalação do RAID 1 com a seguinte configuração (de acordo com o 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

A execução do grub-install funciona, mas quero garantir que, após a reinicialização, o grub realmente inicialize corretamente minhas partições.

Como posso verificar isso?

mobius
fonte
1
Eu não uso nem realmente conheço o RAID, mas você instala o grub na raiz do RAID e não no MBR de uma unidade. Se você executar o Boot-Repair, poderá receber uma mensagem como esta. Nenhum carregador de inicialização está instalado no MBR de / dev / mapper / isw_cdjacjeebj_VOLUME_0. Onde o mapeador é o seu volume RAID.
oldfred
relacionado: serverfault.com/questions/61400/…
Ciro Santilli adicionou

Respostas:

19

Eu não acho que você pode apenas verificar se isso funciona ou não antes de tentar fazê-lo, mas em vez disso, você pode obter uma visualização instantânea do seu GRUB instantaneamente, para ter certeza de que sua nova configuração foi carregada corretamente no GRUB.

Isso pode ser conseguido usando uma ferramenta chamada 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 facilmente grub-emuusando a linha de comando:

sudo apt-get install grub-emu

Para executá-lo, use terminal para executar este comando:

grub-emu
Maythux
fonte
1
Este é um teste confiável para instalações do grub2? Além disso, a entrada do teclado parece não funcionar para o menu exibido; existe um truque para habilitá-lo?
Michael Scheper 26/04
Não consigo fechar grub-emu, a única maneira de impedir é que a pkill -SIGKILL -fe grub-emuentrada do teclado também não funcione
Aquarius Power
1
@MichaelScheper corrige a interatividade serverfault.com/a/847429/163750 :). Basicamente, xterm -e grub-emue mantenha o foco no xterm e não na janela do grub-emu!
Aquarius Power
4

Esta resposta é usada file -s /dev/sdapara verificar se o GRUB MBR foi instalado com sucesso. Depois disso, você pode definitivamente verificar /boot/grub/grub.cfgnovamente os valores para garantir que os UUIDs correspondam aos valores /dev/disk/by-uuide garantir que tudo esteja correto /boot/grub/device.map. Se esse arquivo estiver errado, você terá problemas com as especificações (hdX) no grub.cfg.

O gerenciamento desses arquivos manualmente não é necessário, se você estiver usando update-grubapós instalar o grub em unidades de substituição. As maiores dicas da minha experiência não foram atualizar a configuração do GRUB, não instalar o GRUB em todas as unidades ou particionar de forma inadequada, o que faz com que você não possa instalar o GRUB sem usar --force.

jkt123
fonte
2
Essa resposta só usa file -spara grub1, para o grub 2 há uma segunda resposta sugerindodd bs=512 count=1 if=/dev/sda 2>/dev/null | strings|grep GRUB
rubo77
não existe "/boot/grub/device.map", mas thx para esse link!
Aquarius Power