È possibile verificare l'installazione di grub senza riavviare?


24

Sono stato morso da così tante volte, e oggi dopo gli opensslaggiornamenti nel mio server Grub mi sono lamentato che avrei dovuto installarlo di nuovo poiché i "dischi rigidi che era precedentemente installato non esistono".

Ho un'installazione raid 1 con la seguente configurazione (secondo 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

L'esecuzione di grub-install funziona, ma voglio assicurarmi che dopo il riavvio grub avvierà correttamente le mie partizioni.

Come posso verificarlo?


1
Non uso né conosco veramente RAID, ma installi grub sulla radice del RAID non sull'MBR di un'unità. Se esegui Boot-Repair, potresti ricevere un messaggio come questo. Nessun boot loader è installato nell'MBR di / dev / mapper / isw_cdjacjeebj_VOLUME_0. Dove il mapper è il tuo volume RAID.
oldfred

Risposte:


19

Non penso che tu possa semplicemente verificare se funzionerà o meno prima di provare a farlo, ma invece puoi ottenere immediatamente un'anteprima di GRUB in modo da poter essere sicuro che la tua nuova configurazione sia caricata correttamente in GRUB.

Ciò potrebbe essere ottenuto utilizzando uno strumento chiamato 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

Installa facilmente grub-emuutilizzando la riga di comando:

sudo apt-get install grub-emu

Per eseguirlo basta usare il terminale per eseguire questo comando:

grub-emu

1
È un test affidabile per le installazioni di grub2? Inoltre, l'immissione da tastiera non sembra funzionare per il menu visualizzato; c'è un trucco per abilitarlo?
Michael Scheper,

Non riesco a chiudere grub-emu, l'unico modo per fermarlo è pkill -SIGKILL -fe grub-emu, l'input da tastiera non funziona neanche
Aquarius Power

1
@MichaelScheper questo risolve l'interattività serverfault.com/a/847429/163750 :). Fondamentalmente, xterm -e grub-emue concentrati su xterm e non sulla finestra di grub-emu!
Aquarius Power

4

Questa risposta serve file -s /dev/sdaper vedere se l'MBR di GRUB è stato installato con successo. Oltre a ciò, puoi sicuramente ricontrollare i valori /boot/grub/grub.cfgper assicurarti che gli UUID corrispondano ai valori in /dev/disk/by-uuid, e assicurarti che tutto appaia bene /boot/grub/device.map. Se quel file è sbagliato avrai problemi con le specifiche (hdX) in grub.cfg.

La gestione manuale di questi file non è necessaria se si utilizza update-grubdopo l'installazione di grub su unità sostitutive. I più grandi gotcha della mia esperienza non sono stati l'aggiornamento della configurazione di GRUB, l'installazione di GRUB su tutte le unità o il partizionamento improprio che lo rende quindi impossibile installare GRUB senza usare --force.


2
Quella risposta usa solo file -sper grub1, per grub 2 c'è una seconda risposta che suggeriscedd bs=512 count=1 if=/dev/sda 2>/dev/null | strings|grep GRUB
rubo77,

non esiste "/boot/grub/device.map", ma grazie per quel link!
Aquarius Power
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.