Booten
Booten (englische Aussprache [ˈbuːtən]; von engl.: to boot), Hochfahren, Starten oder auch Urladen bezeichnet das Laden des Betriebssystems eines Computers, wie es in der Regel nach dem Einschalten erforderlich ist. Das Wort booten ist eine Kurzform von bootstrap loading, sinngemäß laden per Bootstrap.[1]
Der Bootprozess eines Computers verläuft in mehreren Stufen. Nach dem Einschalten wird zunächst ein einfaches Programm aus einem kleinen Festwertspeicher (ROM) gelesen. Dieses Programm erlaubt das Starten eines komplexeren Programms, das dann beispielsweise ein Betriebssystem startet. Bei frühen Computern (vor den 1970er-Jahren) war oftmals kein Festwertspeicher (ROM) vorhanden, hier musste die erste Stufe des Bootprozesses mittels Maschinenkonsole (Tastatur) von Hand in den Speicher geschrieben werden, damit das Betriebssystem dann von externen Speichergeräten eingelesen werden konnte. Auf allen aktuell gebräuchlichen Computern und computergesteuerten Geräten/Anlagen beginnt der Bootprozess automatisch nach dem Einschalten.
Da ein Computer während des Bootvorgangs schon ein Programm lädt, das er zum Funktionieren benötigt, zieht er sich bildlich gesprochen wie Münchhausen an den eigenen Haaren aus dem Sumpf. Im Englischen sind es die Stiefelschlaufen (engl. bootstraps), daher kommt der Begriff Booten.[2]
Großrechner
Auf Großrechnern der Firma IBM wird der Bootvorgang traditionell Initial Program Load (IPL) genannt. Dieser Gebrauch des Begriffs Initial Program Load ist allerdings mittlerweile überholt, denn man ist dazu übergegangen, diesen Begriff für die erste Stufe der Ausführung eines mehrstufigen Bootladeprogramms zu verwenden.
Personal Computer (x86-Architektur)
Beim Booten eines PCs beginnt der Prozessor mit der Abarbeitung der an einer festgelegten Speicheradresse im ROM abgelegten Firmware. Im Allgemeinen führt diese einen Test der angeschlossenen Geräte durch (POST) und prüft Speichergeräte wie Diskettenlaufwerke, Festplatten oder CD-/DVD-Laufwerke etc. ob diese startfähige Medien sind bzw. enthalten. Je nach konkreter Firmware-Implementierung kann die Suchreihenfolge, nach der auf diese Geräte zugegriffen wird, z. B. per Firmware-Setup oder per Bootmenü verändert werden.
Bei IBM-PC-kompatiblen Computern bis in die 2010er Jahre ist diese Firmware üblicherweise das BIOS. Bei PCs nach ca. 2010 wurde es zunehmend vom (Unified) Extensible Firmware Interface, kurz EFI oder UEFI, abgelöst. Auch Macs verwenden seit der Umstellung auf Intel-Prozessoren 2006 ein Apple-spezifisches EFI.
Ein startfähiges Medium benötigt auf einem PC mit BIOS, wie es mit dem originalen IBM-PC Modell 5150 von 1981 eingeführt wurde, einen gültigen Bootsektor. Auf größeren Datenspeichern wie Festplatten ist dies üblicherweise der Master Boot Record (MBR), der auch die Partitionstabelle enthält. Der Prozess des Bootens (bzw. deutsch: Startens) beginnt, wenn der Bootsektor vom BIOS geladen und ausgeführt wird. Da der Bootsektor auf eine Blockgröße von 512 Byte limitiert ist, enthält er in der Regel einen Bootloader, der weitere Daten nachlädt, etwa in dem er auf dem Speichermedium nach speziellen Dateien sucht und diese anschließend lädt und ausführt, bis z. B. der Kernel und schließlich das ganze Betriebssystem gestartet wurde. Dieser Vorgang, bei dem ein Programm das nächste lädt, wird auch als Chain-Loading bezeichnet (englisch chain für Kette, wie in Befehlskette bzw. chain of command). Mit Bootmanagern, die sich früh in diese Kette einklinken, ist es möglich, den Bootvorgang zu verändern und z. B. ein zusätzliches Bootmenü für Multi-Boot-Systeme zu implementieren.
Auf dem BIOS-Nachfolger Extensible Firmware Interface (EFI), das von Intel Ende der 1990er Jahre eingeführt wurde und das seit 2005 als „Unified EFI“ (UEFI) von mehreren PC-Herstellern aus dem Bereich Hard- und Software gemeinsam weiterentwickelt wird, wird ein EFI-Loader von einer spezifizierten Partition, der EFI System Partition (ESP), direkt geladen. Per Spezifikation ist die ESP eine mit dem Dateisystem FAT32 formatierte Partition beliebiger Größe, die in einer GUID-Partitionstabelle definiert ist. Der EFI-Loader ist ein ausführbares Programm der jeweiligen Prozessorarchitektur, das entweder auf einem durch die Firmware gefundenen und geprüften Datenspeicher gefunden wurde oder das direkt durch eine Eintragung im NVRAM des (U)EFI, eventuell inklusive Startparamenter, spezifiziert wurde. Als Nachfolger des BIOS besitzen viele (U)EFI-Implementierungen zusätzlich ein Kompatibilitätsmodul, das Compatibility Support Module (CSM), das ein BIOS emuliert und damit weiterhin IBM-PC-kompatible Bootsektoren starten kann. Steht dieses Modul zur Verfügung und ist die Funktion entsprechend konfiguriert (aktiviert), so lädt UEFI das CSM automatisch wenn ein Datenträger mit Master Boot Record (MBR) gefunden wird und per Vorgabe im Firmware-Setup oder Auswahl im Bootmenü davon gestartet werden soll. Bei aktiviertem Secure Boot ist das CSM nicht verfügbar.
Der EFI-Loader wird, wie der Bootcode in einem Bootsektor, ebenfalls als Bootloader bezeichnet. Bootloader sind Computerprogramme, deren Aufgabe es ist, den Bootvorgang voranzubringen. In wenigen Fällen ist der Bootloader bereits die letzte Stufe im Bootprozess, beispielsweise bei PC-Bootern.
Bei der Installation eines Betriebssystems wird zuerst von einem startfähigen Medium wie einer CD oder DVD in einem optischen Laufwerk oder von einem USB-Stick gebootet. Die Firmware muss diese Art eines startfähigen Mediums jedoch unterstützen. Auf diesem befindet sich meist selbst eine angepasste Version des zu installierenden Betriebssystems – ist der Startvorgang dieses Installationsmediums erfolgreich, lädt dieses automatisch das Installationsprogramm des Betriebssystems. Dieses richtet auf dem ausgewählten Installationsziel, ein Datenspeicher wie z. B. einer Festplatte, eine funktionierende Boot-Konfiguration für das jeweilige System ein, etwa Bootsektoren und Startdateien auf den entsprechenden Partitionen.
Intel hat mit PXE eine Methode spezifiziert, um PCs (IA-32) und Itanium-Rechner (IA-64) über ein Rechnernetz booten zu können.
Varianten des Bootens
Man unterscheidet zwischen:
- Kaltstart
- (engl. cold boot), bei dem der Rechner wie nach dem Einschalten der Betriebsspannung „von Null an“ hochgefahren wird (siehe auch Reset)
- Warmstart
- (engl. warm boot), bei dem insbesondere die Routinen zur Hardware-Initialisierung nicht ausgeführt werden. Je nach Rechnerarchitektur und Betriebssystem kann sich die Ausführung des Warmstarts stark unterscheiden. Beispielsweise bietet das Betriebssystem AmigaOS die Möglichkeit, aktuelle Daten in einer „resetfesten RAM-Disk“ über einen Warmstart zu erhalten. Bei PCs der x86-Architektur bedeutet dagegen jedes Booten den Verlust aller zu diesem Zeitpunkt im (flüchtigen) RAM befindlichen Daten.
Moderne Betriebssysteme bieten die Möglichkeit, den Startvorgang zu beschleunigen. Je nach Art des Herunterfahrens des Rechners lassen sich folgende Methoden unterscheiden:
- Suspend to disk
- Wird auch Ruhezustand oder Hibernating (engl. für „überwintern“) genannt. Vor dem Abschalten wird der gesamte Speicherinhalt auf die Festplatte geschrieben und während des Bootvorgangs wieder in den Speicher zurückgeschrieben.
- Suspend to RAM
- Verwirrenderweise auch Standby-Modus genannt. Der Rechner wird nicht ausgeschaltet, aber alle Bufferinhalte werden in den RAM geschrieben, und die meisten Geräte und ein Großteil der CPU werden stillgelegt.
Die Beschleunigung basiert darauf, dass ein Neustart, wie bei einem vollständigen Herunterfahren, vermieden wird und ausschließlich der zuvor gesicherte Speicherinhalt geladen wird, also eine Art warm boot mit Speichererhalt möglich wird.
Fehler beim Booten
Wenn ein Computer nicht bootet (nicht mehr hochfährt), kann das diverse Ursachen haben. Fehlerquellen sind neben fehlerhaften Einstellungen in der Firmware
- die Hardware oder
- der zum Starten verwendete Datenspeicher:
- der Bootsektor,
- die Partitionierung oder einzelne Partitionen,
- der Prüfzustand des Bootsektors, der Partition, oder des Dateisystems darauf,
- der aktive Bootloader,
- die Installation des Betriebssystems,
- die Startparameter des Betriebssystems.
Wenn der Computer erstmals nach einer Konfigurationsänderung gestartet wird, sollte zum Beispiel geprüft werden, ob Kabel fehlen oder falsch angeschlossen sind, ob Komponenten mit Steckverbindungen (zum Beispiel Arbeitsspeicher) richtig Kontakt haben und, nur bei älterer Hardware: ob etwaige Jumper der IDE- oder SCSI-Festplatten richtig gesetzt sind.
Wenn keine Bildschirmanzeige erscheint, so kann auf x86-Rechnern die Anzahl der vom BIOS ausgegebenen Pieptöne einen Hinweis auf den Fehler geben (siehe unter Liste der BIOS-Signaltöne).
Teilweise werden durch das BIOS Fehlertexte, wie z. B. DISK BOOT FAILURE, INSERT SYSTEM DISK AND PRESS ENTER
auf dem Bildschirm angezeigt. Zur Fehlersuche kann ein Live-System wie Knoppix oder UBCD eingesetzt werden.
Literatur
- x86:
- Pete Dice: Quick Boot: A Guide for Embedded Firmware Developers. 2. Auflage, Walter de Gruyter, Boston/Berlin 2018. ISBN 978-1-5015-1538-5.
Weblinks
- Inside the Linux boot process IBM Developer
Einzelnachweise
- Ein Bootstrap ist eine Stiefelschlaufe, die bei Langschaftstiefeln das Anziehen des Schuhwerks erleichtern soll.
- Der Bootvorgang im Kompendium der Informationstechnik von Sascha Kersken.