![]() ![]() ![]() |
![]() ![]() |
Die nachfolgenden Aussagen differieren bei den verschiedenen Distributionen. Zwar sind die Abläufe beim Systemstart (meist) identisch, nicht jedoch die Einordnung der relevanten Dateien in die Verzeichnisstruktur. Wir gehen hier detailliert auf RedHat und SuSE ein.
Unabhängig vom Betriebssystem kontrolliert nach dem Einschalten des Rechners zunächst das BIOS (Basic Input Output System) die Hardware und erledigt elementare Initialisierungen (Bildschirm, Tastatur). Je nach Version des BIOS werden aus dem CMOS Informationen über Peripherie (SCSI, Floppy, Harddisks), Systemzeit... entnommen. Oft ist nun die Geometrie der ersten Festplatte bekannt, so dass die ersten 512 Bytes von dieser geladen werden (der so genannte Master Boot Record MBR).
Der Aufbau des MBR ist standardisiert und besteht aus einem Speicherbereich zur Aufnahme eines
Bootloaders (gewöhnlich reichen die vorgesehenen 446 Bytes nicht für den gesamten
Code des Bootloaders aus, so dass nur ein Intialisierungsteil desselben
im MBR zu finden ist) und der Partitionstabelle.
Diese 64 Bytes sind der
Grund für die Beschränkung auf maximal 4 primäre
Partitionen. Die beiden
übrigen Bytes enthalten die Zahl AA55
, die den MBR für das BIOS
als gültig deklariert.
In dieser Stelle wollen wir nicht weiter auf den Bootloader eingehen. Wir nehmen an, der Linux Loader LILO befindet sich im MBR und bestimmt das weitere Vorgehen. Er kennt den Linux-Kernel und lädt diesen in den Hauptspeicher.
Mit der Meldung Uncompressing Linux...
übernimmt der Kernel
die Kontrolle über die Hardware des Systems. Er liest Einstellungen aus
dem BIOS und initialisiert die Schnittstellen. Anschließend testen und
konfigurieren die im Kernel eingebundenen Treiber die vorgegebene Hardware.
Jetzt wird das Root-Filesystem einer Prüfung unterzogen und gemountet. Hat bisher alles funktioniert, wird der Vater aller Prozesse /sbin/init gestartet (Abbildung).
Abbildung: Ablauf des Boot-Vorganges
![]() ![]() ![]() |
![]() ![]() |