Standard-Bootprozess
Der übliche Bootprozess (ohne Bootmanager) verläuft wie folgt: Nach dem
Einschalten des Rechners versucht das BIOS automatisch den ersten Sektor
des Bootlaufwerks (C: oder A:) von dem betreffenden Laufwerk einzulesen.
Falls das Einlesen erfolgreich war, wird dieser Sektor in den Speicher
geladen und gestartet. Bei einem Lesefehler (z.B. Booten von A: ohne
Diskette im Laufwerk) versucht das BIOS von dem nächsten angegebenen
Bootlaufwerk zu booten.
Beim Booten von C: liest das BIOS des Rechners also den ersten
Sektor --- den Master Boot Record (MBR) --- von der ersten Festplatte und
startet den darin befindlichen Bootlader-Code. Dieses kleine Programm
(Grösse 200 - 300 Byte) sucht in der Partitionstabelle nach der
aktiven Partition. Der betreffende Partitionseintrag enthält die Position
des zugehörigen Bootsektors. Falls eine aktive Partition gefunden wurde,
lädt das Bootlader-Programm diesen Bootsektor (von der ersten Festplatte)
und startet das in ihm befindliche Bootprogramm. Dieses Bootprogramm startet
schliesslich das betreffende Betriebssystem.
Da der Standard-Bootlader nur die Partitionstabelle der ersten Festplatte
durchsucht, gestattet er auch nur das Booten eines Betriebssystems von der
ersten Festplatte. Ausserdem ist das Booten von einem
logischen Laufwerk mit dem Standard-Bootlader nicht möglich.
Auf Disketten gibt es keinen MBR. Vielmehr enthält der physikalisch erste
Sektor der Diskette direkt den Bootsektor des Betriebssystems, sofern die
Diskette bootfähig ist, bzw. ein kleines Programm das den Benutzer auffordert,
die Diskette zu entfernen und eine Taste zu drücken.
Allgemeines Prinzip:
Diesen soeben dargestellten mehrstufigen Ladeprozess trifft man häufig an.
Im ersten Schritt des Prozesses wird nur ein einzelner Sektor geladen und
gestartet. Dieser Sektor enthält die notwendigen Anweisungen um weitere
Sektoren zu laden und zu starten. Erst diese nachgeladenen Sektoren enthalten
das eigentlich auszuführende Programm. Damit lässt sich ein umfangreiches
Programm (Betriebssystem) nur durch Laden eines einzigen Sektors (Bootsektor)
starten.
|