Czy można zweryfikować instalację GRUB-a bez ponownego uruchamiania?


24

Byłem przez to ugryziony tyle razy, a dziś po opensslaktualizacjach na moim serwerze grub skarżył się, że powinienem zainstalować go ponownie, ponieważ „dyski twarde, które były wcześniej zainstalowane, nie istnieją”.

Mam instalację RAID 1 z następującą konfiguracją (zgodnie z 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

Uruchamianie grub-install działa, ale chcę się upewnić, że po ponownym uruchomieniu grub faktycznie uruchomi poprawnie moje partycje.

Jak mogę to zweryfikować?


1
Nie używam ani nie znam RAID, ale instalujesz grub w katalogu głównym RAID, a nie w MBR dysku. Jeśli uruchomisz Boot-Repair, możesz otrzymać taki komunikat. Żaden moduł ładujący nie jest zainstalowany w MBR / dev / mapper / isw_cdjacjeebj_VOLUME_0. Gdzie maperem jest wolumin RAID.
oldfred

Odpowiedzi:


19

Nie sądzę, że możesz po prostu sprawdzić, czy to zadziała, czy nie, ale zamiast tego możesz natychmiast uzyskać podgląd GRUB-a, aby mieć pewność, że nowa konfiguracja jest poprawnie załadowana do GRUB-a.

Można to osiągnąć za pomocą narzędzia o nazwie 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

Łatwa instalacja grub-emuza pomocą wiersza polecenia:

sudo apt-get install grub-emu

Aby go uruchomić, użyj terminalu do uruchomienia tego polecenia:

grub-emu

1
Czy to niezawodny test dla instalacji grub2? Ponadto klawiatura wydaje się nie działać w wyświetlonym menu; czy jest jakiś sposób na włączenie?
Michael Scheper

Nie mogę się zamknąć grub-emu, jedynym sposobem, aby to zatrzymać pkill -SIGKILL -fe grub-emu, klawiatura też nie działa
Aquarius Power

1
@MichaelScheper to naprawia interaktywność serverfault.com/a/847429/163750 :). Zasadniczo, xterm -e grub-emui skup się na Xterm, a nie na oknie grub-emu!
Wodnik Moc

4

Ta odpowiedź wykorzystuje file -s /dev/sdasię do sprawdzenia, czy GRUB MBR został pomyślnie zainstalowany. W przeszłości można zdecydowanie sprawdzić wartości w, /boot/grub/grub.cfgaby upewnić się, że UUID są zgodne z wartościami w /dev/disk/by-uuid, i upewnić się, że wszystko wygląda poprawnie /boot/grub/device.map. Jeśli ten plik jest nieprawidłowy, będziesz mieć problemy ze specyfikacjami (hdX) w grub.cfg.

Ręczne zarządzanie tymi plikami nie jest konieczne, jeśli używasz update-grubpo instalacji gruba na dyskach zastępczych. Największe problemy z moim doświadczeniem to brak aktualizacji konfiguracji GRUB, nie instalowanie GRUB-a na wszystkich dyskach lub niewłaściwe partycjonowanie, które sprawia, że ​​nie możesz zainstalować GRUB-a bez użycia --force.


2
Ta odpowiedź ma zastosowanie tylko file -sdla grub1, dla grub 2 jest druga odpowiedź sugerującadd bs=512 count=1 if=/dev/sda 2>/dev/null | strings|grep GRUB
rubo77

nie ma „/boot/grub/device.map”, ale dziękuję za ten link!
Wodnik Moc
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.