Bootloader

aus Wikipedia, der freien Enzyklopädie
(Weitergeleitet von Bootstrap-Loader)
Wechseln zu: Navigation, Suche

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. dem BIOS bei IBM-kompatiblen PCs) eines Rechners 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 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.

Der Bootloader befindet sich in vielen Rechnerarchitekturen im ersten Block des bootfähigen Mediums, der daher auch als Bootsektor oder Bootblock bezeichnet wird. Der Vorgang selbst heißt Booten (auf Deutsch auch Starten) eines Rechners. Bei IBM-PC-kompatiblen Computern beinhaltet er auf partitionierten Datenträgern einen Master Boot Record (MBR).

Ein Bootmanager ist ein auf einem Betriebssystem installierbares Dienstprogramm, das u. a. einen Bootloader enthält und erweiterte Konfigurationsmöglichkeiten bietet.

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.

Mehrstufige Bootloader[Bearbeiten]

Manche Bootloader (englisch Multistage Bootloader) sind in mehrere Stufen aufgeteilt. Das wird dann gemacht, wenn der Programmcode des Bootloaders nicht im Bootsektor Platz findet. In diesem Fall steht nur der Code für die erste Stufe im Bootsektor.

So lädt beispielsweise die erste Stufe die zweite Stufe, von der die erste Stufe nur die Länge, die Block-Nummer und die Nummer des Mediums kennt. 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 Boot-Blocks.

Chain-Loader[Bearbeiten]

Es ist auch möglich, dass mehrere Bootloader einander aufrufen. Das Aufrufen eines Bootloaders einer anderen Partition nennt sich Chain-Loading. 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 mehrere, unterschiedliche Betriebssysteme in einem sogenannten Multi-Boot-System auf einem Rechner nebeneinander betreiben.

Manche Bootloader sind gar keine Bootloader mit dem alleinigen Zweck, ein Betriebssystem zu laden, sondern Chain-Loader mit anderen Zielen:

  • Bootloader, die fehlende oder falsche Funktionen des BIOS bei PC-kompatiblen Rechnern softwaremäßig abändern. Das wurde früher benutzt, um BIOS-Funktionen zu erweitern, damit der Speicher von Festplatten mit mehr als 512 MB, 8 GB, 32 GB oder 128 GB vollständig erreichbar ist, z.B. EZ-Drive.
  • Bootviren – das sind Viren, die schon beim Rechner-Start aktiviert werden.
  • Bootloader, die lediglich anzeigen sollen, dass ein eingelegtes Medium nicht boot-fähig ist.
  • Bootloader auf manchen Betriebssystem-Installations-CDs: Wenn ein lauffähiges Betriebssystem erkannt wird, booten diese nur dann von CD, wenn eine beliebige Taste gedrückt wird, sonst wird von der 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 immer wieder selbst auf, sondern übergibt die Kontrolle an die neue Installation.
  • Bootloader, die gleich ein Anwendungsprogramm starten, z.B. Memtest von Diskette booten (früher auch Autoboot genannt)

Liste von Bootloadern[Bearbeiten]

Name Bemerkung
ADAM2 Bootloader von Texas Instruments AR7
AirBoot benötigt keine primäre Partition, kann von verschiedenen Betriebssystemem aus installiert werden [3] [4]
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 [5] Modularer, universeller Bootloader für Eingebettete Systeme (ehemals u-boot-v2)
Boot Camp Apple Boot Camp
bootman Bootloader von Haiku (vormals BeOS/ZETA)
Bootmgr Bootloader aller Windows-Systeme ab Windows Vista
BootStar Universeller Bootmanager
Boot-US Universeller Bootmanager
BootX Open-Firmware-Bootloader für Mac OS X (/System/Library/CoreServices/BootX)[6]
BootX[7] Von Mac OS 8–9 aus ausführbarer Linux-Loader auf Old-World-PowerPC-Macintoshs; wird von Mac OS aus konfiguriert
burg Basiert auf Grub. (vergleichbar mit grub24dos)
Colilo Ein LILO-Derivat für die Coldfire-Prozessorfamilie von Motorola
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 Mit Partitionierer
Extlinux Im Softwarepaket von SYSLinux mit enthalten
FILO
GAG (Gestor de Arranque Grafico) Freie Software (GPL), mehrsprachig (unter anderem deutsch)[8]
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.[9]
Grub24Dos Grub2-Derivat vergleichbar mit burg
iBoot Bootloader der iDevices (z.b. iPad,iPhone,iPod)
ISOLinux Im Softwarepaket von SYSLinux mit enthalten
Linux Loader (LILO)
Loadlin Von Windows 3.x/9x oder DOS aus ausführbarer Linux-Loader; wird von Windows aus konfiguriert
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[10] Bootloader für Linux auf einem Old-World-PowerPC-Macintosh mit Open Firmware
rEFInd
rEFIt Inoffizieller Bootloader für Macs, um einen MBR zu emulieren (zum Beispiel für Linux, BSD, Solaris)
ROM-Monitor Die Firmware für Ciscos Netzwerkgeräte[11]
Sparc Improved Loader (SILO)
Smart BootManager Bootloader[12] [13] von SPBLinux
SmartFirmware Bootloader des Pegasos
SyMon Bootmanager Universeller Bootmanager
SYSLinux
Das U-Boot (ehemals PPCBoot[14], ehemals 8xxROM[15]) 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
ZBOOT

Einzelnachweise[Bearbeiten]

  1. Debian Gnu/Linux: Grundlagen, Seite 466 – Suchergebnisseite bei Google-Bücher; Stand: 25. April 2011
  2. Computerlexikon 2010, Seite 623 – Suchergebnisseite bei Google-Bücher; Stand: 25. April 2011
  3. AirBoot (englisch) – offizielle Entwickler-Webseite
  4. AirBoot (englisch) – Download bei Sourceforge
  5. Webseite des Barebox-Projektes: Documentation / General Features
  6. http://osxbook.com/book/bonus/ancient/whatismacosx/arch_boot.html
  7. http://penguinppc.org/bootloaders/bootx/
  8. GAG, the Graphical Boot Manager (englisch) – offizielle Entwickler-Webseite
  9. Ältere Version (englisch), aktuelle Entwicklung als grub4dos-chenall (chinesisch, englisch). Siehe auch: englischsprachiges Forum
  10. http://penguinppc.org/bootloaders/quik/
  11. Cisco; ROM-Monitor
  12. Smart BootManager (englisch) – offizielle Entwickler-Webseite
  13. Smart BootManager (englisch) – Download bei Sourceforge
  14. Webseite des PPCBoot-Projektes: Letztes Release, Fortführung als U-Boot (engl.)
  15. Webseite des PPCBoot-Projektes: Umbenennung von 8xxROM in PPCBoot(engl.)