Wie kann ich feststellen, ob grub auf einer Festplatte installiert ist und welche Einstellungen es hat (insbesondere welche für den root-Parameter)?
Ich muss viele Festplatten in Software-RAID1-Arrays überprüfen, um sicherzustellen, dass auf beiden Festplatten grub installiert ist, wobei die grub auf jeder Festplatte den entsprechenden Stammwert hat.
software-raid
grub
DrStalker
quelle
quelle
grub
0,9x oder niedriger gebräuchlich war und lange bevor es in umbenannt wurdegrub-legacy
. Wenn Sie das stört, schlage ich vor, eine neue Frage speziell zu stellengrub2
. Führen Sie alternativ eine Kampagne durch, in der alle Fragen und Antworten korrigiert werden, die im Laufe der Zeit veraltet sind.Antworten:
AKTUALISIEREN:
Diese Antwort stammt aus dem Jahr 2009 und gilt für Grub-Legacy, nicht für Grub2.
Sie können
file
damit GRUB in einem MBR identifizieren. z.BDer
root=
Parameter ist nicht im MBR gespeichert, sondern in dermenu.lst
Datei von GRUB, die auf einem Dateisystem gespeichert ist (normalerweise im Verzeichnis / boot / grub des Root-Dateisystems fs oder im Verzeichnis grub des Dateisystems / boot) könnte überall sein).Sie müssen die Ausgabe der obigen Datei analysieren, bestimmen, auf welcher Festplatte / Partition sich die
menu.lst
Datei befindet, sie mounten, einlesen und analysieren. Sie sollten auch die grub / default-Datei lesen, um herauszufinden, welcher grub-Menüeintrag der Standard ist, da dieser wahrscheinlich den root = -Parameter hat, an dem Sie am meisten interessiert sind.quelle
Alternative Methode
file -s
hat in Ubuntu Lucid nicht funktioniert, weil die Magic Files meines Dateibefehls veraltet waren . Eine andere Möglichkeit, dies zu tun, wenn Ihre Magic-Dateien nicht mit GRUB-Änderungen Schritt halten, besteht darin, die ersten 512 Byte des Geräts mit dem folgendendd
Befehl zu untersuchen :Dies sendet die Ausgabe des
dd
Befehls über denstrings
Befehl, wodurch nicht druckbare Zeichen entfernt werden (Übertragungsstatistiken werden verworfen/dev/null
).Wenn Sie Meldungen sehen, die GRUB bei einem Fehler anzeigen würde, ist GRUB installiert.
Hat Tipp an Louib auf ubuntuforums.org für die Beantwortung in diesem kennwortgeschützten Beitrag: http://ubuntuforums.org/showthread.php?t=363372
Für die Neugierigen ist das, was ich von
file -s
:Es gibt nichts spezielles über GRUB.
quelle
file -s
Befehl ursprünglich ausprobiert habe, verwendet grub-pc, anscheinend GRUB2, also klingt es, als ob Sie teilweise richtig sind. Ich habe jedochfile -s
auf einigen anderen Systemen mit GRUB 0.97 gearbeitet und auf einigen hat es funktioniert, auf anderen nicht. Der Unterschied zwischen diesen Systemen lag in den Zahlen in den Magic-Dateien, die mit dem Befehl file geliefert wurden. Durch das Austauschen von Magic Number-Dateien wurde bestätigt, dass die Definitionen des nicht funktionierenden Systems zum Fehlschlagen des funktionierenden Systems geführt haben.Mit können
grub-emu
Sie das Menü anzeigen, das Grub beim nächsten Neustart des Computers anzeigt.Auf meinem Desktop-Computer wurde das Menü wie erwartet angezeigt. Wenn ich jedoch vorgab, einen Kernel zu booten, wurde der Fehler "no such device" angezeigt. Ich denke, das ist erwartetes Verhalten.
Auf meinem DigitalOcean VPS wurden keine Einträge im Grub-Menü angezeigt, obwohl der Server tatsächlich gut neu gestartet wurde. (Dies ist ein 2013 VPS, daher kann Ihr Kilometerstand variieren.)
Einige Notizen beim Laufen
grub-emu
:c
dann eingebenexit
.reset
. (Keine Sorge, der Computer wird nicht neu gestartet. Das Terminal wird nur bereinigt.)quelle
c
gefolgt von,exit
hat bei mir nicht funktioniert.