Ist es möglich, die Installation von Grub ohne Neustart zu überprüfen?

24

Ich bin so oft davon gebissen worden und habe mich heute nach den opensslUpdates in meinem Server-Grub beschwert, dass ich es erneut installieren sollte, da die "zuvor installierten Festplatten nicht existieren".

Ich habe eine RAID 1-Installation mit folgendem Setup (laut 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

Das Ausführen von grub-install funktioniert, aber ich möchte sicherstellen, dass grub nach dem Neustart meine Partitionen tatsächlich korrekt bootet.

Wie kann ich das überprüfen?

mobius
quelle
1
Ich verwende noch nicht wirklich RAID, aber Sie installieren Grub im Stammverzeichnis des RAID, nicht im MBR eines Laufwerks. Wenn Sie Boot-Repair ausführen, wird möglicherweise die folgende Meldung angezeigt. Im MBR von / dev / mapper / isw_cdjacjeebj_VOLUME_0 ist kein Bootloader installiert. Wo der Mapper ist Ihr RAID-Volume.
Oldfred
related: serverfault.com/questions/61400/…
Ciro Santilli am

Antworten:

19

Ich glaube nicht, dass Sie einfach überprüfen können, ob dies funktioniert oder nicht, bevor Sie es versuchen, sondern Sie können sofort eine Vorschau Ihres GRUB erhalten, damit Sie sicher sein können, dass Ihre neue Konfiguration korrekt in GRUB geladen wurde.

Dies könnte mit einem Tool namens erreicht werden 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

Einfache Installation grub-emuüber die Befehlszeile:

sudo apt-get install grub-emu

Um es auszuführen, benutze einfach das Terminal, um diesen Befehl auszuführen:

grub-emu
Maythux
quelle
1
Ist dies ein zuverlässiger Test für grub2-Installationen? Außerdem scheint die Tastatureingabe für das angezeigte Menü nicht zu funktionieren. Gibt es einen Trick, um es zu aktivieren?
Michael Scheper
Ich kann es nicht schließen grub-emu, nur um es zu stoppen pkill -SIGKILL -fe grub-emu, funktioniert die Tastatureingabe auch nicht
Aquarius Power
1
@MichaelScheper dies behebt die Interaktivität serverfault.com/a/847429/163750 :). Grundsätzlich xterm -e grub-emuund behalten Sie den Fokus auf xterm und nicht auf das Grub-Emu-Fenster!
Aquarius Power
4

Diese Antwort prüft file -s /dev/sda, ob der GRUB-MBR erfolgreich installiert wurde. Danach können Sie die Werte auf jeden Fall noch einmal überprüfen /boot/grub/grub.cfg, um sicherzustellen, dass die UUIDs mit den Werten in übereinstimmen /dev/disk/by-uuid, und um sicherzustellen, dass alles richtig aussieht /boot/grub/device.map. Wenn diese Datei falsch ist, haben Sie Probleme mit den (hdX-) Spezifikationen in grub.cfg.

Das manuelle Verwalten dieser Dateien ist jedoch nicht erforderlich, wenn Sie update-grubgrub nach der Installation auf Ersatzlaufwerken verwenden. Meiner Erfahrung nach war es das größte Problem, die GRUB-Konfiguration nicht zu aktualisieren, GRUB nicht auf allen Laufwerken zu installieren oder durch eine falsche Partitionierung GRUB nicht ohne --force zu installieren.

jkt123
quelle
2
Diese Antwort wird nur file -sfür grub1 verwendet, für grub 2 gibt es eine zweite Antwort, die vorschlägtdd bs=512 count=1 if=/dev/sda 2>/dev/null | strings|grep GRUB
rubo77
es gibt kein "/boot/grub/device.map", aber danke für den link!
Aquarius Power