2016-06-14 8 views
4

Woher weiß ein Computer, wo sich der Bootloader im Dateisystem befindet? Gibt es eine gemeinsame Datei unter allen Betriebssystemen und allen Computern (möglicherweise nicht alle Computer, aber alle Architekturen), die auf den Bootloader zeigen? Ich weiß, Raspberry Pi lädt immer bootcode.bin von der ersten Partition der SD-Karte. Teilen PCs eine gemeinsame Datei wie diese?Woher weiß ein Computer, wo sich der Bootloader im Dateisystem befindet?

Antwort

3

Der Master Boot Record belegt die ersten 512 Byte der ersten Festplatte und wird als erstes vom BIOS geladen, um die Steuerung an ein Programm zu übergeben, das das gewünschte Betriebssystem booten kann. Im Allgemeinen wird ein Bootloader im MBR installiert und der vorherige Inhalt wird entfernt. Es ist (in Dual-Boot-Fällen) möglich, dass sie in Koexistenz leben, was als Multi-Boot-Modus bekannt ist.

2

Es unterscheidet sich zwischen verschiedenen Architekturen. Aber normalerweise gibt es ein Register, in dem die CPU nach dem Zurücksetzen ihre erste Anweisung liest, um mit der Ausführung zu beginnen. Dieses Register enthält oft die Bits für eine Assembly-Sprungoperation zu einer anderen Speicheradresse, die die Adresse des Boot-Codes ist. Im nächsten Taktzyklus wird die Operation an dieser Adresse abgerufen und so weiter.

Der Hardware-Designer muss festlegen, wie dies implementiert wird. Zum Beispiel könnte der erste Befehl sein, von einer Speicheradresse auf einem EEPROM-Chip zu lesen, der den Boot-Code enthält.

Soweit PC gehen das Motherboard hat einen eigenen Boot-Prozess, der den OS Bootloader geladen wird. Daher der Grund, warum Sie immer noch einen PC starten und das BIOS ohne ein Betriebssystem installiert sehen können

Oder zumindest das ist, was ich von meinem Comp erinnere. Bogen. Klasse für immer.