Ein Bootmenü ist ein beim Starten (englisch booten) eines Computersystems gezeigtes Auswahlmenü, bei dem ein Benutzer zwischen mehreren Boot-Optionen und eventuell weiteren Funktionen auswählen kann. Das Einblenden dieses Menüs ist oft entweder optional, da es nur erscheint, wenn der Benutzer nach dem Einschalten oder dem Neustart des Computers eine bestimmte Taste drückt oder gedrückt hält, oder es wird nach einem einstallbaren Time-Out automatisch eine der Auswahlmöglichkeiten gewählt, wenn der Benutzer nicht reagiert.
Arten
Ein Bootmenü kann auf unterschiedlichen Software-Ebenen realisiert werden. Möglich ist u. a. ein Auswahlmenü auf Firmware-Ebene, als unabhängiger Bootmanager oder als Teil eines Betriebssystems. Außer in Firmware wird ein Bootmenü dabei als Bootloader realisiert.
Firmware
Die allererste Software, die ein Computer nach dem Einschalten ausführt, ist die Firmware. Bei modernen PCs ist dies seit ca. 2010 meist ein UEFI. Je nach Hersteller kann dabei ein Boot-Menü durch drücken einer der F-Tasten eingeblendet werden. Da bei IBM-PC-kompatiblen Computern UEFI das BIOS ersetzt hat, kann dieses dort auch in einem BIOS-kompatiblen Modus starten. Dabei ladet das UEFI eine BIOS-Emuluation, die CSM (englisch Compatibility Support Module) genannt wird. Sowohl ein BIOS als ein UEFI-CSM suchen auf gefundenen Datenspeichern nach startfähigen Medien und zeigen diese anschließend als Auswahl im Bootmenü an. Obwohl für das BIOS grundsätzlich lediglich ein Bootsektor mit korrekter Signatur vorhanden sein muss verlangen modernere Spezifikationen eine genauere Prüfung des Mediums. Mit dem El-Torito-Standard bespielsweise kann von optischen Datenträgern wie z. B. CD-ROMs wahlweise wie von einer Festplatte oder per Disketten-Abbild gestartet werden. Um das Bootmenü korrekt anzuzeigen muss das BIOS daher zuvor den Datenträger auf die verwendete Methode hin prüfen. Je nach verfügbaren Medien kann es daher zu unterschiedlicher Verzögerung kommen, bis das Bootmenü dargestellt wird. Auch spezielle Recovery-Partitionen werden vom BIOS einzelner Hersteller untersucht und druch drücken einer anderen F-Taste direkt gestartet. Einge BIOS-Implementierungen prüfen zusätzlich den MBR auf Richtigkeit, wie beispielsweise das Vorhandensein einer aktiven Partition. Das Bootmenü wird beim BIOS auch BBS bezeichnet, von englisch BIOS Boot Specification. Das BBS-Menü wird nicht automatisch, sondern nach dem Drücken einer bestimmten Taste während des BIOS-POST angezeigt. Da es keine Norm gibt, ist die zu drückende Taste je nach BIOS unterschiedlich, normalerweise aber eine von den folgenden Tasten: Esc, Entf, F1, F2, F10, F11 oder F12, auf Tablets (ohne Hardware-Tastatur) meist eine der Lautstärken-Tasten, Volume up oder Volume down.[1]
Bei UEFI ist, wenn ein CSM vorhanden und aktiviert ist, ebenfalls ein BIOS-kompatibles Prüfen möglicher Startmedien vorhanden. Zusätzlich sucht die Firmware nach UEFI-kompatiblen Bootloadern, die auf wechselbaren Datenträgern auf einer mit FAT-Dateisystem formatierten EFI-Systempartition liegen müssen. Auch die Prozessorarchitektur muss zu der des UEFI passen, weshalb ältere 32-Bit-(U)EFI-Implementierungen keine 64-Bit-UEFI-Bootloader starten können und umgekehrt. Auf fix installierten Datenspeichern wie Festplatten und SSDs ist hingegen eine im NVRAM eingetragene Boot-Option die Norm und per UEFI-Spezifikation vorgesehen. So tragen sich Betriebssysteme bei der Installation ein, was ein per Firmware gesteuertes Multi-Boot-System ermöglicht.
Auch die von Apple bis 2006 verwendete Open Firmware auf PowerPC-basierten Macintosh-Rechnern besitzt ein Bootmenü, dass durch Halten der Wahltaste ⌥ bzw. Alt auf PC-Tastaturen erscheint. Auch die Open Firmware durchsucht alle unterstützten Medien nach einem Bootloader, der bei Apple-Rechnern auf einem HFS-Dateisystem liegen und als Startprogramm markiert sein muss. Dabei wird nur ein Startprogramm pro Partition (mit HFS-Dateisystem) unterstützt. Der Programmcode muss in FCODE (Forth) vorliegen.
Auf Intel-Macs, die ab 2006 die Power-Macs beerbten, wird ebenfalls die Wahltaste ⌥ zum Anzeigen des Bootmenüs verwendet. Apple verwendet dabei eine angepasste Version von EFI, die neben dem UEFI-Standard auch von Apple-eigenen Partitionen direkt starten kann. Das Bootmenü zeigt daher alle gefundenen BootX-Bootloader auf HFS+-Partitionen ebenfalls an, obwohl diese nicht auf der EFI-Systempartition vorliegen.
Unterstützung
Da eine Firmware meist eine limitierte Unterstützung für externe, wechselbare Speichermedien implementiert, kann oft dennoch nicht von allen möglichen angeschlossenen Geräten gestartet werden. Obwohl ein startfähiges Medium vorhanden ist erscheint es dann nicht im Bootmenü. Einige Beispiele sind:
- Auf Power-Macs tauchen per USB angeschlossene Medien grundsätzlich nicht im Bootmenü auf, da die Open Firmware auf USB-Datenspeichern nicht nach Bootloadern sucht. Es ist jedoch über den Umweg in die Open-Firmware-Konsole möglich, per Eingabe des Zugriffspfads direkt von einem USB-Speichermedium wie einer CD-ROM in einem USB-CD-Laufwerk oder von einer per USB angeschlossenen Festplatte zu starten.
- Einige (meist ältere) BIOS-Implementierungen können nicht von USB-Sticks starten. Sie erkennen zwar den Datenspeicher am USB-Anschluss, bieten aber keine Möglichkeit, davon zu starten.
- Bei einigen älteren UEFI-Implementierungen war ein Starten von NVMe-SSDs nicht möglich, da die Firmware den Standard nicht unterstützte und daher auch nicht auf NVMe-Datenspeicher zugreifen konnte.
Bootloader
Übergibt die Firmware an ein erkanntes Startprogramm, so kann dieses wiederum ein Bootmenü beinhalten. Dies ist einerseits bei modernen Betriebssystemen der Fall, die damit erweiterte Funktionen und unterschiedliche Startmodi realisieren, andererseits gibt es zahlreiche Bootmanager, die unabhängig vom Betriebsystem das Starten vieler unterschiedlicher Betriebssysteme erlauben oder zusätzliche Funktionen bieten. Der Fokus der meisten Bootmanager liegt dabei auf Multi-Boot-Systemen, kann jedoch auch die Funktion der Firmware vor dem Betriebssystemstart verändern oder erweitern.
Betriebssystem-eigene Bootmanager
Damit ein Betriebssystem überhaupt startet, muss es einen geeigneten Bootloader mitbringen. Geeignete Bootloader werden daher bei der Installation auf das Zielmedium installiert und passend konfiguriert. Zusätzlich bieten die Installationsmedien oft ein Reparaturprogramm, dass eine fehlerhafte Boot-Konfiguration reparieren kann. Die einfachste Form eines Bootloaders ist Startprogramm ohne Auswahlmenü und ohne Möglichkeit, Optionen für das zu startende Betriebssystem auszuwählen. Die meisten Bootsektoren sind derart ausgelegt, dass sie direkt das Betriebssystem starten. Bootmanager hingegen bieten meist die Möglichkeit, den Start des Betriebssystems zu beeinflussen. So kann beispielsweise bei GRUB die Kernel-Kommandozeile vor dem Start von Linux bearbeitet werden, und bei Windows (bis Windows 7) kann bei Start durch Drücken der Funktionstaste F8 ein Auswahlmenü mit erweiterten Startoptionen eingeblendet werden, dass u. das Starten in den Abgesicherten Modus erlaubt.
Beispiele für einfache Bootsektoren:
- Standard-MBR-Bootcode von IBM und Microsoft für PC DOS bzw. MS-DOS auf IBM-PC-kompatiblen Computern. Auf Nicht-IBM-PC-kompatiblen PCs wurde ein ähnlicher Bootcode verwendet, z. B. Compaq, NEC, u. a.
- VBR-Bootcode für die aktive Partition auf MBR-Partitionen, ebenfalls auf IBM-PC-kompatiblen Computern.
- Apple Boot Block (Macintosh 68k und PowerPC).
- Rigid Disk Block auf dem Amiga von Commodore (68k und PowerPC)
Beispiele für Bootmanager von Betriebssystemen:
- Bootmgr der Windows-NT-Linie ab Windows Vista.
- Grand Unified Bootloader (GRUB und GRUB2) für Linux und weitere unixoide Betriebssysteme (mehrere Plattformen und Architekturen, darunter auch x86 und PowerPC).
- Lilo für Linux und weitere Betriebssysteme auf der Intel x86-Architektur.
- NTLDR der Windows-NT-Linie bis Windows XP.
- U-Boot für eingebettete Systeme.
- yaboot für Linux und weitere Betriebssysteme auf der PowerPC Platform.
Bootmanager von Drittherstellern
Vor allem unter DOS und Windows gab es Bootmanager von diversen Herstellern. Diese werden auf IBM-PC-kompatiblen Computern mit BIOS in den MBR installiert und unterstützen für Multi-Boot-Systeme einer Vielzahl an Betriebssystemen. Einige bieten auch weitere zusätzliche Funktionen, etwa die Nachrüstung des LBA-48-Zugriffsmodus wenn das BIOS diesen nicht unterstützt.
Eine unvollstädnige Auflistung von Bootmanagern für IBM-PC-kompatible Computer:
- BootIt, proprietär; auch in UEFI-Version verfügbar
- Bootstar, proprietär
- Boot-US, proprietär
- Data Becker BootManager, proprietär
- Ontrack Disk Manager, proprietär (Abandonware)
- OSL2000 Boot Manager, proprietär
- Paragon BootManager, proprietär
- Plop Bootmanager, proprietär, Freeware
- XFDisk, der in eXtended FDisk enthaltene Bootmanager, frei
- XOSL (für englisch Extended Operating System Loader)
- zBoot Manager
Lokalisierung
Bei der Firmware ist die meistgenutzte Sprache Englisch und, da der Speicherplatz begrenzt ist, gibt es meist keine Lokalisierung in andere Sprachen. Einige modernere Firmware-Implementierungen, wie beispielsweise UEFI, bieten jedoch ein paar zusätzliche Sprachen zur Auswahl an, die man im Firmware-Setup (auch „BIOS-Setup“) einstellen kann.
Bootloader und Bootmanager gibt es teilweise in der Sprache des installierten Betriebssystems – oft sind sie jedoch ebenfalls in Englischer Sprache gehalten, obwohl das Betriebssystem z. B. in Deutsch installiert wurde.
Siehe auch
Einzelnachweise
- ↑ Boot to UEFI Mode or legacy BIOS mode. In: Hardware Dev Center. Microsoft, 14. Mai 2018, abgerufen am 1. Februar 2019 (englisch, Abschnitt „To boot to UEFI or BIOS: 1. Open the firmware menus.“): „Boot the PC, and press the manufacturer’s key to open the menus. Common keys used: Esc, Delete, F1, F2, F10, F11, or F12. On tablets, common buttons are Volume up or Volume down…“