
Ist es aus Neugier möglich, herauszufinden, welcher Bootloader zum Starten eines bestimmten Systems verwendet wurde? Wurde das System gebootet vonRODEN,LILOoder ein anderer Bootloader?
Ich nehme an, dass es dafür eine /sys
oder mehrere Variablen geben muss ?/proc
BEARBEITEN:
Zusammenfassung der Boot-Informationen: => Lilo ist im MBR von /dev/sda installiert
sda1: ___________________________________________________________________
File system: Boot sector type: Unknown Boot sector info: Mounting failed: mount: unknown filesystem type ''
/dev/sda
ist das einzige Gerät, das ich zum Booten habe.
Ich frage mich, wie der Bootvorgang funktionierte, wenn auf der einzigen verfügbaren Einzelpartition kein bekanntes Dateisystem vorhanden ist.
Antwort1
Ich glaube nicht, dass diese Informationen unter /sys
oder auf sinnvolle Weise verfolgt werden /proc
. Die einzige Möglichkeit, die ich mir vorstellen kann, wie Sie nach einem Bootvorgang darauf zugreifen können, besteht darin, das System abzufragen, indem Sie entweder nachsehen, ob eine GRUB- oder Lilo-Konfigurationsdatei vorhanden ist, oder indem Sie ein Skript wie verwenden:bootinfoscript
.
Beispiel: Startgerät prüfen
Wenn Sie wissen, mit welchem Gerät Ihr System gebootet wurde, können Sie dd
den Inhalt des Bootloaders und dann grep
entweder für GRUB oder LILO ausgeben.
Mit diesen Befehlen können Sie feststellen, ob Sie GRUB oder LILO verwenden:
$ sudo dd if=/dev/sda bs=512 count=1 2>&1 | grep GRUB
$ sudo dd if=/dev/sda bs=512 count=1 2>&1 | grep LILO
Der Bootloader, der diese Zeichenfolge zurückgibt, ist der von Ihnen verwendete Bootloader:
Binary file (standard input) matches
Beispiel: Verwenden von Bootinfoscript
$ sudo ./bootinfoscript --stdout
Boot Info Script 0.61 [1 April 2012]
============================= 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, but core.img can not be found at this
location.
sda1: __________________________________________________________________________
File system: ext4
Boot sector type: -
Boot sector info:
Operating System:
Boot files: /grub2/grub.cfg
...
Keiner dieser Ansätze ist jedoch „abschließend“, da mehrere Bootloader nebeneinander existieren können, aber er gibt Ihnen zumindest eine ungefähre Vorstellung von den Bootloadern, die „möglicherweise“ verwendet werden.
Verweise
Antwort2
SehenDas. Dieses Skript ist jedoch in Bash geschrieben. Wenn Sie es also auf einer eingebetteten Plattform ausführen möchten, müssen Sie es ändern. Ich habe dieses Skript getestet und es hat GRUB unter Ubuntu und LILO unter Slackware korrekt erkannt.
Antwort3
Um die Bootloader-ID zu erhalten, verwenden SieBootloadertyp
echo $((`cat /proc/sys/kernel/bootloader_type`>>4))
Finde deinenBootloader-ID