Was ist die Option "Bootable Flag" bei der Installation einer Distribution?

Antworten:

32

Das Boot-Flag stammt aus alten Zeiten, als Sie einen MBR- Partitionsdatensatz als bootfähig anzeigten, sodass Sie angeben konnten, wo sich der Bootloader befand .

Auf modernen Betriebssystemen ist dies weitgehend unbenutzt, da der MBR aus einem minimalen Stage Loader besteht, der entweder in seine eigene Partition bootet oder zu einem anderen Bereich auf der Festplatte springt, auf dem der Bootloader-Code gespeichert ist. (Ein MBR kann unter anderem ausführbaren Code oder die Startpartitionstabelle enthalten. Siehe auch diesen Link zu einem Artikel über den MBR. )

Als Beispiel wird GRUB in den MBR geschrieben und bootet die von Ihnen gewählte Partition.

Siehe auch diese (recht kleine) Wikipedia-Seite über die Boot-Flagge: en.wikipedia.org/wiki/Boot_flag

Polemon
quelle
GRUB muss jedoch nicht in den MBR geschrieben werden und kann vom älteren MBR geladen werden.
Ignacio Vazquez-Abrams
@ IgnacioVazquez-Abrams Richtig, alles, was es braucht, ist ein Bootsektor-Loader für jede Partition. Ich wollte nicht zu sehr in die GRUB-Funktionalität eintauchen, da diese Frage Boot-Flags und MBR betraf und nicht GRUB an sich.
Polemon
4

Zuerst dachte ich, dass es ein Fehler in grub2 ist. Einige BIOS scheinen zu testen, ob mindestens eine Partition als bootfähig markiert ist. Nach langer Recherche ist mir das aufgefallen, weil es überhaupt keine Möglichkeit gab, von Festplatte oder USB-Stick zu booten. Das heißt, auch wenn die magischen Bytes am Ende von mbr korrekt sind und der Bootcode in mbr gültig ist, ignoriert das BIOS dieses Gerät und überspringt es in der Bootsequenz, bis das Boot-Flag für mindestens eine Partition gesetzt wurde. Getestet auf Fujitsu P772 und HP Probook 6570b.

Thomas Lindner
quelle
1

Jedes Betriebssystem, das von einem PC abgeleitete Hardware verwendet, muss gestartet werden.

Dies beginnt mit einer alten, betriebssystemunabhängigen Bootstrap-Suche, die vom BIOS (Basic Input Output System) des PCs oder Servers initiiert wird.

Dieser BIOS-Code versucht, den MBR vom ersten geeigneten Startgerät zu laden. Die Suchreihenfolge für das Boot-Gerät ist im BIOS-Setup konfigurierbar: welches (Festplatten-) Gerät zuerst, welches als nächstes und so weiter.

Der "alte" MBR versucht, die erste primäre Partition zu finden, die als bootfähig markiert ist, und prüft, ob sich auf dieser Partition ein kurzer magischer Hex-Code befindet.

Wenn der Hex-Code gefunden wird, wird der Rest (der Bootstrap-Loader) vom BIOS ausgeführt. Hier beginnt das Booten des Betriebssystems - sei es DOS, Windows, Linux, ...

Nils
quelle
1
-1. Es ist nicht das BIOS, das prüft, ob eine Partition bootfähig ist.
Ignacio Vazquez-Abrams
Das BIOS versucht, den MBR zu laden (zeigt an, No Operating Systemob die richtige magische Nummer nicht gefunden wurde), und der MBR entnimmt sie dann von dort. Der Legacy-MBR sucht nach der aktiven Primärpartition, andere MBRs (grub, lilo usw.) können sich jedoch anders verhalten.
Ignacio Vazquez-Abrams