Bootloader
Ein Bootloader (englische Aussprache [ˈbuːtˌloʊdɚ]), von der verkürzten Form des ursprünglichen Wortes bootstrap loader) auch Startprogramm[1] oder Urlader[2] genannt, ist eine spezielle Software, die gewöhnlich durch die Firmware (z. B. EFI oder dessen Vorgänger bei IBM-kompatiblen PCs, dem BIOS) eines Rechners (Computer) von einem startfähigen Medium geladen und anschließend ausgeführt wird. Der Bootloader lädt dann weitere Teile des Betriebssystems, gewöhnlich einen Kernel. Daher ist auch oft vom Bootcode die Rede, dem ersten Programm (Maschinencode), das nach der unveränderlichen Firmware von einem wechselbaren veränderlichen Datenspeicher geladen wird. Der Vorgang selbst heißt Booten (auf Deutsch auch Starten) eines Rechners.
Der englische Begriff bootstrap bezieht sich ursprünglich auf die Schlaufe, die sich an der Hinterseite eines Stiefels befindet, um das Anziehen des Stiefels zu erleichtern. Der Prozess des Bootens (ein Programm auf einem Rechner laufen zu lassen, auf dem noch kein Betriebssystem läuft) erinnert teilweise an das Bemühen, sich an der eigenen Stiefelschlaufe aus dem Morast zu ziehen.
Wo sich der Bootloader auf dem veränderlichen Datenspeicher zu befinden hat und wie er geladen wird ist, je nach Rechnerarchitektur und Plattform unterschiedlich. Auf moderneren Architekturen liegt er meist als Datei auf einem von der Firmware unterstützten Dateisystem auf einer bestimmten Partition und wird direkt geladen und ausgeführt. Das ist beispielsweise bei Open Firmware und bei UEFI der Fall, wobei die verwendeten Partitionstabellen und Dateisysteme unterschiedlich sein können. Auch der Bootloader selbst muss in einem bestimmten ausführbaren Dateiformat vorliegen. Das kann einerseits der Prozessorarchitektur und im Besonderen deren Befehlssatz geschuldet sein, wie z. B. PE/COFF bei UEFI, oder die Firmware implementiert ein Architektur-übergreifendes Zwischencode-Format wie z. B. Open Firmware mit Forth FCODE. Einige ältere Architekturen laden den Bootloader aus einem vordefinierten Block des startfähigen Mediums, der daher auch als Bootblock oder, gängiger, Bootsektor bezeichnet wird. Bei IBM-PC-kompatiblen Computern mit BIOS befindet sich dieser immer im ersten Block, Block 0, der auf partitionierten Datenträgern gängigerweise einen Master Boot Record (MBR) als Startprogramm und als Partitionstabelle enthält.
Auch im Bereich der eingebetteten Systeme spricht man von Bootloadern. Dort kann der Bootloader nicht nachgeladen werden, sondern befindet sich im nichtflüchtigen Speicher des Steuergeräts. Er beinhaltet Grundroutinen der Initialisierung und oft Kommunikationsprotokolle, um den Austausch der Anwendungsprogramme zu ermöglichen.
Als Bootmanager wird ein auf einem Betriebssystem installierbares Dienstprogramm bezeichnet, das einen eigenen Bootloader enthält und erweiterte Konfigurationsmöglichkeiten bietet.
Inhaltsverzeichnis
Übrigens: Die PlusPedia ist NICHT die Wikipedia. Wir sind ein gemeinnütziger Verein, PlusPedia ist werbefrei. Wir freuen uns daher über eine kleine Spende! |
1 Mehrstufige Bootloader
Ist ein Bootloader in mehrere auf einander aufbauende Stufen unterteilt, so wird er als mehrstufiger Bootloader (englisch Multistage Bootloader) bezeichnet. Diese Unterteilung in Stufen wird z. B. dann gemacht, wenn der Programmcode des Bootloaders nicht im Bootsektor Platz findet; an dieser Stelle wird daher nur die erste Stufe geladen und ausgeführt, die dann die zweite Stufe, von der die erste Stufe nur die Länge, die Block-Nummer und die Nummer des Mediums kennt, geladen und ausgeführt wird. Die zweite Stufe kann nun mit dem konkreten Dateisystem des Mediums umgehen und lädt anhand eines Dateinamens die dritte Stufe. Die dritte Stufe ist nun der eigentliche Bootloader und lädt eine Konfigurationsdatei, die z. B. ein Auswahlmenü enthält. Ein Menüpunkt könnte die Anweisung beinhalten, einen Bootloader einer anderen Partition zu laden.
Dieser mehrstufige Aufbau hat mehrere Vorteile: So kann im oben beschriebenen Fall die Datei des eigentlichen Bootloaders (Stufe 3) beliebig verändert oder auch physisch verschoben werden, da die zweite Stufe mit dem Dateisystem umgehen kann und die dritte Stufe anhand des Dateinamens finden kann. Außerdem unterliegt ein solcher Bootloader nicht den Beschränkungen der Länge eines Bootblocks.
2 Chain-Loader
Es ist auch möglich, dass mehrere Bootloader sich – wie in einer [Befehls-]Kette (englisch chain [of command]) – nacheinander aufrufen. Solche Aufrufe – meist über mehrere Partitionen hinweg – wird auch Chain-Loading oder Chainloading (englisch chain loading) genannt. Hierbei kann zuerst ein Bootloader geladen werden, der z. B. ein Boot-Menü zur Betriebssystem-Auswahl darstellt, und anschließend je nach Auswahl in diesem Menu der entsprechende (betriebssystemspezifische) Bootloader. So lassen sich auch mehrere, unterschiedliche Betriebssysteme in einem sogenannten Multi-Boot-System auf einem Rechner nebeneinander betreiben.
3 Bootloader mit Zusatzfunktion
Manche Bootloader sind gar keine Bootloader mit dem alleinigen Zweck, ein Betriebssystem zu starten. Beispiele:
- Bootloader, welche lediglich anzeigen sollen, dass ein eingelegtes Medium nicht startfähig ist, z. B. bei Disketten die Textausgabe „Non-System disk or disk error. Replace and press any key when ready...“ (MS-DOS 5.0, FAT12/16)[3]
- Bootloader, die auf erkannten Datenspeichern weitere Bootloader erkennen und diese starten. Zu Zeiten von MS-DOS gab es einige Formatierungsprogramme für Disketten, die eine Auswahl eines zu startenden anderen per BIOS ansprechbaren Geräts erlaubten. So konnte man z. B. mit FDFORMAT oder VGA-COPY/386 einen Bootsektor auf Disketten schreiben, der wahlweise oder automatisch von der Festplatte starten konnte. Auch ist dies z. B. bei Windows-Installations-CDs der Fall: Wenn auf einer erkannten Festplatte (oder SSD) ein bereits installiertes Betriebssystem erkannt wird, booten diese nur dann von CD, wenn eine beliebige Taste gedrückt wird, ansonsten wird von der lokalen Festplatte gebootet. So kann das Installationsprogramm nach erfolgreicher Installation den Rechner sofort neustarten. Das Booten erfolgt zwar wieder von CD, aber nachdem nun keine Taste gedrückt wird, ruft sich das Installationsprogramm nicht erneut selbst auf, sondern übergibt die Kontrolle an die neue Installation.
- Bootloader, die gleich ein Anwendungsprogramm starten. Einige Programme, beispielsweise Memtest86, können direkt und ohne Dateisystem von einer Diskette gestartet werden. In den 1980er Jahren gab es bei IBM-kompatiblen PCs sogenannte PC Booter, meist Computerspiele, die direkt und ohne Betriebssystem von der Diskette starteten.
- Bootloader, die fehlende oder falsche Funktionen des BIOS bei PC-kompatiblen Rechnern in Software (statt in Firmware) abändern. Das wurde früher benutzt, um BIOS-Funktionen zu erweitern, damit der Speicher von Festplatten mit mehr als 512 MiB, 8 GiB, 32 GiB oder 128 GiB vollständig erreichbar ist, wie z. B. EZ-Drive oder OnTrack Disk Manager.
- Auch Bootviren sind Bootloader, und in dieser speziellen Form Computerviren, die schon beim Rechner-Start aktiviert werden.
- Bootmanager sind Bootloader, die z. B. auf einem bestimmten Betriebssystem als Dienstprogramm installiert werden können. Sie bieten meist gegenüber dem vom Betriebssystem bereitgestellten Bootloader erweiterte Konfigurationsmöglichkeiten, etwa ein Bootmenü für Multi-Boot-Konfigurationen. Beispiele: GRUB auf IBM-kompatiblen PCs mit BIOS oder UEFI (GRUB2 auch auf weiteren Architekturen und Plattformen, etwa Open Firmware auf PowerPC), rEFIt und rEFInd auf x86-UEFI-PCs.
- Bootloader, die eine andere Firmware laden. So kann beispielsweise Tianocore EDK2 (UEFI) von einem, auch wechselbaren, Datenspeicher auf einem PC mit BIOS gestartet werden, welches anschließend ein modernes Betriebssystem, das UEFI voraussetzt, starten kann. Ebenso kann z. B. Open Firmware oder Coreboot per Bootloader gestartet werden.
4 Liste von Bootloadern
Name | Bemerkung |
---|---|
ADAM2 | Bootloader von Texas Instruments AR7 |
AiRBoot | benötigt keine primäre Partition, kann von verschiedenen Betriebssystemen aus installiert werden[4][5] |
Arcboot | Advanced Risc Console (Bootloader früherer DEC Alpha Systeme) |
Akernelloader | x86 bootloader |
Amiboot | Von AmigaOS aus ausführbarer Linux-Loader auf Amiga-Computern; wird von AmigaOS aus konfiguriert |
barebox[6] | Modularer, universeller Bootloader für Eingebettete Systeme (ehemals u-boot-v2) |
BootEasy | FreeBSD Bootmanager |
bootman | Bootloader, verwendet unter BeOS, ZETA und Haiku |
Bootmgr | Bootloader aller Windows-Systeme ab Windows Vista |
BootStar | Universeller Bootmanager |
Boot-US | Universeller Bootmanager |
BootX | Bootloader für Mac OS X auf der PowerPC-Plattform mit Open Firmware; /System/Library/CoreServices/BootX [7]Seit 2006, mit dem Schwenk von PowerPC zu IA-32 („Intel-Macs“), wird ein Apple-spezifisches EFI verwendet und BootX wurde durch einen EFI-Bootloader ( /System/Library/CoreServices/boot.efi ) ersetzt.[8]
|
BootX[9] | Von klassischem Mac OS ab Mac OS 8 aus fungierender Linux-Bootloader auf Macintosh-Computern mit „Old World“-PowerPC-Architektur, der eine Startauswahl zwischen Mac OS und Linux bietet. Im technischen Sinn nur für Linux ein Bootloader, da BootX auf Mac OS als Programm läuft – vergleichbar mit Loadlin unter PC-kompatiblem DOS und Windows 9x. |
burg | Basiert auf Grub. (vergleichbar mit grub24dos) |
Clover[10] | Der „Clover EFI bootloader“, manchmal auch CloverEFI, ist ein Bootloader mit Fokus auf Multi-Boot-Systeme und macOS mit zahlreichen Möglichkeiten zur Konfiguration. Auf BIOS-Systemen kann Clover ein auf TianoCore basiertes UEFI laden, damit Betriebssysteme, die ein EFI voraussetzen, gestartet werden können. Auf (U)EFI-Systemen nutzt Clover das native EFI und kann per CSM auch BIOS-basierte Betriebssysteme starten. Der Bootloader unterstützt die Betriebssysteme Linux, macOS (ursprünglich Mac OS X) und Windows NT direkt, kann aber grundsätzlich jedes PC-Betriebssystem starten (z. B. PC-BSD-Unix). |
Colilo | Ein LILO-Derivat für die Coldfire-Prozessorfamilie von Motorola |
EasyBCD | Wird zum Konfigurieren und Anpassen des von Microsoft entwickelten Bootloaders Bootmgr verwendet. |
elilo | Bootloader für Linux, für auf EFI basierter IA-64-Hardware. |
EMILE (Early Macintosh Image LoadEr) | Bootloader für Linux auf einem m68k-Macintosh |
eXtended FDisk | DOS-Dienstprogramm zur Bootmanager-Einrichtung und Festplatten-Partitionierung, als Ersatz für fdisk entwickelt, belegt selbst keine Partition und unterstützt versteckte Partitionen, GPL |
Extlinux | Im Softwarepaket von SYSLINUX mit enthalten |
FILO | |
GAG (Gestor de Arranque Grafico) | Dateisystem-agnostischer Bootloader. Freie Software (GPL), mehrsprachig (unter anderem deutsch)[11] |
GRUB (Grand Unified Bootloader) | Freie Software (GPL), der Bootloader des GNU Projekts (englisch) – offizielle Entwickler-Webseite |
Grand Unified Bootloader for DOS (GRUB4DOS) | Freie Software (GPL), basiert auf Grub.[12] |
Grub24Dos | Grub2-Derivat vergleichbar mit burg |
Gummiboot | Ein Bootloader, der nicht auf BIOS-basierter Hardware, sondern ausschließlich auf UEFI-basierter Hardware funktioniert |
iBoot | Bootloader der iDevices (z. B. iPad, iPhone, iPod) |
ISOLinux | Im Softwarepaket von SYSLINUX mit enthalten |
Linux Loader (LILO) | Dateisystem-agnostischer Bootloader für Linux und andere Systeme, benötigt Initialisierungsaufruf nach Kerneländerung, BSD-Lizenz |
Loadlin | Von Windows 3.x/9x oder PC-kompatiblem DOS aus ausführbarer Bootloader für Linux, der auch von Windows aus konfiguriert werden kann. |
NeoGRUB | Eingebunden in die Bootwerkzeug-Software EasyBCD |
NT-Loader (NTLDR) | Bootloader aller Windows-Systeme von NT 3.1 bis XP/2003 |
OpenBIOS | freie Implementierung des Open-Firmware-Standards |
PALO | Bootloader für die PA-RISC-Architektur-Prozessorhardware von Hewlett Packard |
Penguin | Von Mac OS 6–8 aus ausführbarer Linux-Loader auf m68k-Macintoshs; wird von Mac OS aus konfiguriert |
PLoP | Ein Bootloader, der auch mit älteren PCs ohne BIOS Unterstützung von CDROM bzw. USB booten kann. Download und Dokumentation: deutsch und englisch. |
PXELinux | Im Softwarepaket von SYSLINUX mit enthalten |
Redboot | Bootloader für Embedded Systeme wie auf Atheros basierende WLAN-Router |
Quik[13] | Bootloader für Linux auf einem Old-World-PowerPC-Macintosh mit Open Firmware |
rEFInd | Erbe von rEFIt. Ursprünglich für Macs mit EFI im Fokus funktioniert rEFInd auch auf anderen UEFI-Systemen. |
rEFIt | Inoffizieller Bootloader für Macs, der ein Auswahlmenü für die einfachere Multi-Boot-Konfiguration für Windows, welches einen Hybrid-MBR nutzt, erleichtert. Funktioniert auch mit anderen Betriebssystem wie u. a. Linux, BSD, Solaris. Entwicklung eingestellt. |
ROM-Monitor | Die Firmware für Ciscos Netzwerkgeräte[14] |
Sparc Improved Loader (SILO) | |
Smart BootManager | Bootloader[15][16] von SPBLinux |
SmartFirmware | Bootloader des Pegasos |
SyMon Bootmanager | Universeller Bootmanager |
SYSLINUX | |
Das U-Boot (ehemals PPCBoot[17], ehemals 8xxROM[18]) | Universeller Bootloader, vor allem für Eingebettete Systeme |
VAMOS | Kommerzieller Bootloader, läuft auf MS-DOS-Systemen |
Yaboot | Bootloader für Linux auf einem New-World-PowerPC-Macintosh und anderen PowerPC-Systemen |
XOSL | Universalbootloader mit grafischer Oberfläche, GPL |
ZBOOT |
5 Einzelnachweise
- ↑ Debian Gnu/Linux: Grundlagen, Seite 466 – Suchergebnisseite bei Google-Bücher; Stand: 25. April 2011
- ↑ Computerlexikon 2010, Seite 623 – Suchergebnisseite bei Google-Bücher; Stand: 25. April 2011
- ↑ Daniel B. Sedory: The MS-DOS 5.0 Floppy Disk Boot Record. In: The Starman's Realm. 2011-09-24. Abgerufen am 19. Januar 2019. (en)
- ↑ AiRBoot (englisch) – offizielle Entwickler-Webseite
- ↑ AiRBoot (englisch) – Download bei Sourceforge
- ↑ Webseite des Barebox-Projektes
- ↑ Amit Singh: What is Mac OS X?. 2003-12. Abgerufen am 15. Februar 2019. (en)
- ↑ Brian Jepson, Rich Rosen, Ernest E. Rothman: Mac OS X For Unix Geeks, 4th Edition. O’Reilly Media, Inc.. Abgerufen am 15. Februar 2019. (en)
- ↑ Bootloaders > BootX Bootloader. penguinppc.org, 2004-09-25. Archiviert vom Original am 2008-04-30. Abgerufen am 15. Februar 2019. (en)
- ↑ https://sourceforge.net/projects/cloverefiboot/
- ↑ GAG, the Graphical Boot Manager (englisch) – offizielle Entwickler-Webseite
- ↑ Ältere Version (englisch) (Archivversion vom 9. April 2013), aktuelle Entwicklung als grub4dos-chenall (chinesisch, englisch). Siehe auch: englischsprachiges Forum
- ↑ — (Archivversion vom 27. September 2004)
- ↑ Cisco; ROM-Monitor
- ↑ Smart BootManager (englisch) – offizielle Entwickler-Webseite
- ↑ Smart BootManager (englisch) – Download bei Sourceforge
- ↑ Webseite des PPCBoot-Projektes: Letztes Release, Fortführung als U-Boot (englisch)
- ↑ Webseite des PPCBoot-Projektes: Umbenennung von 8xxROM in PPCBoot (englisch)
6 Vergleich zu Wikipedia
Hast du einen Löschwunsch oder ein anderes Anliegen? Dann nutze bitte unser Kontaktformular
PlusPedia Impressum
Bitte Beachte:
Sämtliche Aussagen auf dieser Seite sind ohne Gewähr.
Für die Richtigkeit der Aussagen übernimmt die Betreiberin keine Verantwortung.
Nach Kenntnissnahme von Fehlern und Rechtsverstößens ist die Betreiberin selbstverständlich bereit,
diese zu beheben.
Verantwortlich für jede einzelne Aussage ist der jeweilige Erstautor dieser Aussage.
Mit dem Ergänzen und Weiterschreiben eines Artikels durch einen anderen Autor
werden die vorhergehenden Aussagen und Inhalte nicht zu eigenen.
Die Weiternutzung und Glaubhaftigkeit der Inhalte ist selbst gegenzurecherchieren.