Kleine Starthilfe für Rechner

Was ist ein Bootloader?

| Autor / Redakteur: Otto Geißler / Ulrike Ostler

Der Bootloader oder Bootcode ist das erste Programm (Maschinencode), das nach der unveränderlichen Firmware geladen wird.
Der Bootloader oder Bootcode ist das erste Programm (Maschinencode), das nach der unveränderlichen Firmware geladen wird. (Bild: © djama - stock.adob.com)

Ein Bootloader (Boot-Manager, Startprogramm) benennt ein kleines Programm, das ein Betriebssystem (Operating System) eines Computers in den Arbeitsspeicher lädt und somit das Gerät zum Laufen bringt.

Der englische Begriff Bootloader ist eine verkürzte Form des ursprünglichen Begriffes Bootstrap Loader, den man auch im Deutschen als Startprogramm oder seltener Urlader bezeichnet. Das englische Wort Bootstrap bedeutet allerdings eigentlich eine Schlaufe, die an der Rückseite von Stiefeln angebracht werden, um das Anziehen zu vereinfachen. In Anlehnung dazu ist mit dem Prozess des Bootens die Initialisierung eines Geräts beziehungsweise der Start eines Programms auf einem Rechner gemeint, auf dem noch kein Betriebssystem läuft.

Auf einem nur lesbaren Speicherchip (ROM) befindet sich für den Startprozess eines Computers der Programmcode. Wird im ausgeschalteten Zustand der Ein-Schalter des Gerätes gedrückt, wird dieser Code geladen. Der im Boot-ROM-Code enthaltene Programmcode leitet den Start des Gerätes ein.

Aufgabe eines Bootloaders

Bei einem Bootloader handelt es sich um eine spezielle Software, die durch die Firmware eines Computers von einem startfähigen Medium geladen und anschließend abgearbeitet wird. Bei erfolgreicher Initialisierung erhält der Bootloader die so genannte Systemverantwortung, um den Boot-Prozess fortzusetzen. Dabei initialisiert der Bootloader den RAM-Speicher.

Da der Bootloader vom Kernel getrennt ist, lädt er dann in einem weiteren Schritt den Kernel sowie andere Teile des Betriebssystems. Zudem können weitere Befehle und Programmabläufe abgearbeitet werden, die zum Beispiel den Dateispeicher einbinden. Wurde der Kernel erfolgreich geladen und sind alle weiteren Routinen abgeschlossen, gibt der Bootloader die Systemverantwortung an den Kernel weiter.

Speicherplätze für Bootloader

Der Bootloader ist bei vielen Architekturen im ersten Block des bootfähigen Mediums verortet. Dieser Platz nennt sich daher auch Bootsektor oder Bootblock. In einer anderen Variante lädt die Firmware den Bootloader direkt in einem bestimmten Dateisystem beziehungsweise auf einer bestimmten Partition eines startfähigen Mediums.

Bei einer Open Firmware und bei UEFI ist dies zum Beispiel so der Fall. Allerdings können die zum Einsatz kommenden Partitionstabellen und Dateisysteme unterschiedlich sein. Zusätzlich muss der Bootloader selbst in einem spezifischen ausführbaren Dateiformat (zum Beispiel PE/COFF bei UEFI) präsent sein.

Bei den eingebetteten Systemen kann der Bootloader nicht nachgeladen werden, sondern ist in einem nichtflüchtigen Speicher des Steuergeräts untergebracht. Der Bootloader umfasst neben den Grundroutinen der Initialisierung auch häufig Kommunikationsprotokolle, um den Austausch der Anwendungsprogramme auszuführen.

Was sind mehrstufige Bootloader?

Wird ein Bootloader in mehrere Stufen unterteilt, die auf einander aufbauen, so spricht man von einem mehrstufigen Bootloader (Multistage Bootloader). Eine Aufteilung in einzelne Stufen ist dann erforderlich, wenn der Programmcode des Bootloaders nicht im Bootsektor verortet werden kann.

Daher wird nur ein Teil in der ersten Stufe geladen und ausgeführt. Im Anschluss daran lädt die erste Stufe dann die zweite Stufe und führt sie aus. Wobei die erste Stufe von der zweiten nur die Länge, Block-Nummer und die Nummer des Mediums kennt.

Die zweite Stufe ist nun in der Lage, mit dem Dateisystem des Mediums zu hantieren und lädt per Dateinamen die dritte Stufe. Die dritte Stufe repräsentiert nun den Bootloader „an sich“ und lädt eine Konfigurationsdatei mit Auswahlmenü. Darin könnte unter anderem eine Anweisung vermerkt sein, einen Bootloader einer anderen Partition zu aktivieren.

Ein mehrstufiger Bootloader hat mehrere Vorzüge. Zum Beispiel kann die Datei des tatsächlichen Bootloaders in Stufe 3 je nach Belieben verändert oder auch physisch verortet werden. Das rührt daher, dass die zweite Stufe ja das Dateisystem kennt und so die dritte Stufe per Dateinamen identifizieren kann. Darüber hinaus sind solche Bootloader nicht den Restriktionen der Länge eines Boot-Blocks unterworfen.

Was sind Chainloader?

Bei einem Chainloader werden mehrere Bootloader wie in einer Befehlskette nacheinander und meist über mehrere Partitionen geladen. Dazu erfolgt erst der Aufruf eines Bootlodaders, der zum Beispiel ein Menü zur Auswahl eines Betriebssystems bietet und dann wird der betriebssystemspezifische Bootloader geladen.

Auf diese Weisen kann auch eine Reihe verschiedener Betriebssysteme in einem Multi-Boot-System auf einem einzigen Computer nebeneinander betrieben werden.

Es gibt jedoch Chainloader, die zwar als Bootloader fungieren, aber andere Ziele verfolgen als das eigentliche Aufrufen eines Betriebssystems. Dabei kann es sich zum Beispiel um Bootviren handeln. Diese Viren werden gleich beim Start des Rechners aktiviert und schädigen dann das Gerät.

copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 45287410 / Definitionen)