Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

F.2. Der Boot-Prozess im Detail

Der Beginn des Boot-Prozesses variiert in Abhängigkeit der verwendeten Hardware-Plattform. Sobald jedoch der Kernel vom System gefunden und geladen wurde, ist der standardmäßige Boot-Prozess auf allen Architekturen identisch. Dieses Kapitel konzentriert sich vorwiegend auf die x86-Architektur.

F.2.1. Das Firmware-Interface

F.2.1.1. BIOS-basierte x86 Systeme

Das Basic Input/Output System (BIOS) Firmware-Interface steuert nicht nur den ersten Schritt des Boot-Prozesses, sondern stellt auch die Schnittstelle der untersten Ebene zu den Peripheriegeräten zur Verfügung. Bei mit BIOS ausgestatteten x86 Systemen wird das Programm im schreibgeschützten permanenten Speicher abgelegt und ständig einsatzbereit. Bootet das System, so schaut der Prozessor am Ende des Systemspeichers nach dem BIOS-Programm und führt es aus.
Einmal geladen, testet das BIOS das System, sucht und überprüft Peripheriegeräte und sucht dann nach einem gültigen Gerät zum Starten des Systems. Normalerweise prüft es zuerst die USB- und optischen Laufwerke auf startfähige Medien und sucht dann auf den Festplatten des Systems. Die Reihenfolge der zum Booten durchsuchten Laufwerke wird oft durch eine Einstellung auf dem BIOS gesteuert. Häufig ist die erste, zum Booten festgelegte Festplatte das Master-IDE-Gerät auf dem primären IDE-Bus. Das BIOS lädt das Programm, das im ersten Sektor dieses Geräts gespeichert ist und Master Boot Record oder (MBR) genannt wird, in den Speicher. Der MBR ist nur 512 Bytes groß und enthält vom Rechner lesbare Anweisungen zum Booten des Rechners, Bootloader genannt, zusammen mit der Partitionstabelle. Nach dem Laden prüft das BIOS das jeweilige Programm auf dem MBR. Findet und lädt das BIOS das Bootloader-Programm in den Speicher, gibt es die Steuerung über den Bootvorgang daran ab.
Der Bootloader der ersten Phase ist ein kleiner binärer Rechner-Code auf dem MBR. Seine einzige Aufgabe besteht im Suchen des Bootloaders der zweiten Phase (GRUB) und dem Laden des ersten Teils in den Arbeitsspeicher.

F.2.1.2. UEFI-basierte x86 Systeme

Das Unified Extensible Firmware Interface (UEFI) wurde wie auch BIOS zur Steuerung des Boot-Prozesses (durch boot services) entworfen und sol ein Interface zwischen System-Firmware und einem Betriebssystem (durch runtime services) liefern. Im Unterschied zu BIOS besitzt es seine eigene Architecktur, die unabhängig von der CPU ist sowie seine eigenen Gerätetreiber. UEFI kann Partitionen einhängen und bestimmte Dateitypen lesen.
Beim Boot eines mit UEFI ausgestatteten x86 Computers durchsucht das Interface den Systemspeicher nach einer mit einer mit einem bestimmten globally unique identifier (GUID) markierten Partition, die sie als die EFI System Partition (ESP) kennzeichnet. Diese Partition enthält für die EFI-Architektur kompilierte Anwendungen, die Bootloader für Betriebssysteme und Dienstprogramm-Software enthalten. UEFI-Systeme enthalten einen EFI boot manager, der das System von einer Standardkonfiguration aus booten oder einen Nutzer zur Auswahl eines zu bootenden Betriebssystems auffordern kann. Wenn ein Bootloader manuell order automatisch gewählt wird, so liest UEFI ihn in den Speicher und gibt die Steuerung über den Bootvorgang daran ab.