Bootloader — Änderungen 5280 → 7451

Zeile 1: Zeile 1:
−
Der '''Bootloader''' wird vom [[BIOS]] oder einem [[Bootsektor]] in den Speicher geladen und ausgeführt. Er hat die Aufgabe, ein [[Betriebssystem]] zu starten. 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.
+
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]]