| Zeile 1: | Zeile 1: | ||
| − | Der '''Bootloader''' wird vom [[BIOS]] | + | Der '''Bootloader''' wird vom [[BIOS]] vom ersten Sektor ([[Bootsektor]] in den Speicher geladen und ausgeführt. Er hat die Aufgabe, das [[Betriebssystem]] zu starten, indem er den Kernel und ggf. weitere Module lädt und ausführt. |
| + | |||
| + | |||
| + | == Probleme == | ||
| + | Im Bootsektor ist meist nicht genügend Platz vorhanden, deshalb teilt man den Bootprozess in mehrere Stufen auf: In der ersten Stufe wird der Bootsektor vom BIOS ausgeführt. Dieser lädt wiederum den eigentlichen Bootloader, welcher dann den Rest des Bootprozesses übernimmt und den [[Kernel]] des Betriebssystems (und evtl. Treiber) lädt und ausführt. | ||
| + | |||
| + | == Ausgangssituation nach dem Laden == | ||
| + | Wenn das BIOS die Kontrolle an den Bootloader übergeben hat, gibt es einige Dinge, die jedes BIOS standardmäßig sicherstellen muss: | ||
| + | * das Register dl enthält die Nummer des Bootlaufwerks | ||
| + | * der Prozessor befindet sich im [[Real Mode]] | ||
| + | * Interrupts sind aktiviert | ||
| + | * CS:IP ist entweder 0x7C0:0x00 oder 0x00:0x7C00 | ||
| + | Andere Dinge sind allerdings nicht standardisiert: | ||
| + | * die Position des Stacks | ||
| + | * der Inhalt der Register (außer dl, siehe oben) | ||
== Bekannte Bootloader == | == Bekannte Bootloader == | ||
| Zeile 6: | Zeile 20: | ||
* NTLDR ([[Windows]] NT Loader) | * NTLDR ([[Windows]] NT Loader) | ||
* BOOTMGR (Windows Vista Loader) | * BOOTMGR (Windows Vista Loader) | ||
| + | |||
| + | == Weiterführende Artikel == | ||
| + | Obwohl davon abgeraten wird, kann man seinen Bootloader natürlich auch selbst programmieren: [[Eigener Bootloader]] | ||
[[Kategorie:Glossar]] | [[Kategorie:Glossar]] | ||
[[Kategorie:Betriebssystemkomponente]] | [[Kategorie:Betriebssystemkomponente]] | ||