Fragen zu Grub, Master Boot Record (MBR), Partition Boot Record und Bootflag

07/09/2008 - 20:41 von Martin Mustermann | Report spam
Hallo,

ich möchte eine USB-HD auf möglichst vielen BIOSen zum Booten kriegen
und habe dazu einige Fragen:

Im Prinzip (und funktioniert bei den von mir gestesteten Rechnern auch,
möchte aber ungern andere BIOSe, die vielleicht anders verfahren vom
Starten abhalten) reicht es, den Kernel und eine Initramdisk in der
boot-Partition zu haben und dann grub-install /dev/sda aufzurufen.

Soweit ich das richtig verstanden habe, schreibt grub-install den
grub-bootloader, der den Kernel und die Initrd laedt in den MBR.

Schreibt grub dabei eigentlich auch auch einen Partition Boot Record in
/dev/sda1 (/boot) oder wuerde es statt wie bei "grub-install /dev/sda"
(nur?) in den MBR zu schreiben bei "grub-install /dev/sda1" nur in den
PBR schreiben ?

Falls Letzteres der Fall und damit nicht im Prinzip der selbe Schritt
zwei Mal ausgeführt wàre, machten beide Aufrufe, also sowohl einmal für
sda und einmal für sda1 Sinn, da es in mehr Szenarien funktionieren
könnte, richtig? - oder könnte es Probleme geben ?

Und noch etwas, weil es bei mir auch ohne funktioniert: Ist das
Boot-Flag bei der Boot-Partition ein historisches Überbleibsel für den
DOS/Windows Bootloader und co. oder gibt es auch BIOSe, die nicht anhand
des MBR oder PBR, sondern anhand dieses Flags bei einer der Partitionen
erkennen, ob es ein bootbares Laufwerk ist?

Gruesse
Martin
 

Lesen sie die antworten

#1 Heiko Nocon
07/09/2008 - 23:01 | Warnen spam
Martin Mustermann wrote:

Soweit ich das richtig verstanden habe, schreibt grub-install den
grub-bootloader, der den Kernel und die Initrd laedt in den MBR.



Ja. Nur sehr vereinfacht. Nicht das kleine Stückchen Code im MBR làdt
Kernel und initrd. Das Stückchen Code im Bootloader làdt erstmal eine
etwas größeres Stück Code nach (stage1.5), was ihm den Umgang mit dem
Filesystem rudimentàr beibringt, in dem sich /boot befindet. Erst dieser
Code làdt dann den Kernel und die initrd.

Schreibt grub dabei eigentlich auch auch einen Partition Boot Record in
/dev/sda1 (/boot) oder wuerde es statt wie bei "grub-install /dev/sda"
(nur?) in den MBR zu schreiben bei "grub-install /dev/sda1" nur in den
PBR schreiben ?



Grub schreibt dahin, wo du sagst, daß es hinschreiben soll. Wenn sda,
dann MBR, wenn sdaX, dann halt PBR von X.

machten beide Aufrufe, also sowohl einmal für
sda und einmal für sda1 Sinn, da es in mehr Szenarien funktionieren
könnte, richtig?



Nein, falsch. Wenn das BIOS von einer "Platte" bootet, dann führt es
immer den Code im MBR aus. Sitzt dort grub, dann reicht das völlig aus.

Grub im PBR hat nur in einer Situation einen Sinn: Wenn man im MBR einen
anderen Bootloader haben will oder haben muß.

oder gibt es auch BIOSe, die nicht anhand
des MBR oder PBR, sondern anhand dieses Flags bei einer der Partitionen
erkennen, ob es ein bootbares Laufwerk ist?



Das BIOS làdt, wie gesagt, immer den Code aus dem ersten Sektor, also
den MBR. Ob der sich dann um das Aktiv-Flag kümmert oder nicht, ist
allein seine Sache. Das BIOS hat damit überhaupt nichts zu tuen.

Ähnliche fragen