# Bootmenü

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 einstellbaren 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 UEFI. Je nach Hersteller kann dabei ein Bootmenü durch Drücken einer der Funktionstasten eingeblendet werden. Da bei IBM-PC-kompatiblen Computern UEFI das BIOS ersetzt hat, kann dieses bei bis 2020 produzierten Systemen oft auch in einem BIOS-kompatiblen Modus starten. Dabei lädt das UEFI eine BIOS-Emulation, die CSM (englisch Compatibility Support Module) genannt wird. Bei UEFI-Implementierungen ab ca. 2020 wird das CSM weggelassen und bei aktivierten Secure Boot ist das CSM, wenn vorhanden, deaktiviert. Sowohl ein BIOS als auch 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 kann auf Computern mit BIOS 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 Wiederherstellungspartitionen (englisch Recovery Partitions) werden vom BIOS einzelner Hersteller untersucht und durch Drücken z. B. einer vorgegebenen Funktionstaste direkt gestartet. Einige 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 oder BIOS Boot Select. Bei UEFI fällt eine eigene Spezifikation wie El Torito weg, es gibt stattdessen je Prozessorarchitektur einen definierten Standard-Pfad für EFI-Bootloader für das Starten von Wechselmedien. Auf verbauten Datenträgern wie Festplatten und SSDs hingegen wird dieser Standardpfad normalerweise nicht genutzt, stattdessen müssen EFI-Bootloader bei der Installation auf die EFI System Partition (ESP) zusätzlich in der Firmware registriert werden. Registrierte Bootloader werden zusammen mit einer Bootreihenfolge im NVRAM gespeichert, wovon der erste automatisch gestartet wird. Das BBS-Menü (BIOS) bzw. das UEFI-Bootmenü wird nicht automatisch, sondern nach dem Drücken einer bestimmten Taste während des POST bzw. dem Initialisieren der Hardware angezeigt. Da es keine Norm gibt, ist die zu drückende Taste je nach BIOS bzw. UEFI unterschiedlich, normalerweise aber eine der 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.
Bei UEFI ist, wenn ein CSM vorhanden und aktiviert ist, ebenfalls ein BIOS-kompatibles Prüfen möglicher Startmedien vorhanden. So kann auch (U)EFI von einem MBR-partitionierten Datenträger starten, nutzt aber prinzipiell die GUID-Partitionstabelle als designierten MBR-Nachfolger. Darauf sucht die Firmware nach UEFI-kompatiblen Bootloadern, die auf einer mit FAT-Dateisystem formatierten EFI-Systempartition (kurz ESP) liegen müssen. Die Prozessorarchitektur muss dabei zu der des (U)EFI 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. Per Hybrid-MBR kann, mit Einschränkungen, sowohl ein BIOS-basiertes als auch ein (U)EFI-basiertes Betriebssystem vom selben Datenträger gestartet werden; das von Beginn an optionale CSM war jedoch nur als Übergangsmodul gedacht, und ist bei modernen UEFI-Implementierungen ab ca. 2020 nicht mehr vorhanden.
Auch die von Apple bis 2006 verwendete Open Firmware auf PowerPC-basierten Macintosh-Rechnern besitzt ein Bootmenü, das durch Halten der Wahltaste ⌥ bzw. Alt auf PC-Tastaturen erscheint. Die Open Firmware durchsucht dafür alle unterstützten Medien nach einem Bootloader, der bei Apple-Rechnern auf einem mit dem Partitionstabellentyp APM partitionierten HFS-Dateisystem liegen und als Startprogramm markiert sein muss. Dabei wird nur ein Startprogramm pro Partition unterstützt. Unter Mac OS X ist dies BootX: /System/Library/CoreServices/BootX. Der Programmcode kann jedoch auch im plattformunabhängigen Forth vorliegen.
Auf Intel-Macs, die ab 2006 die Power-Macs beerbten, ist weiterhin die Wahltaste ⌥ zum Anzeigen des Bootmenüs gedrückt zu halten. 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 Apple-EFI-Bootloader (/System/Library/CoreServices/boot.efi von macOS) auf unterstützten Dateisystemen (ursprünglich HFS+) ebenfalls an, ohne dass dafür ein auf der EFI-Systempartition installierter Bootloader vorhanden sein muss und auch ohne Eintragung in den NVRAM.
Allen Firmware-Varianten ist gemein, dass sie meist zusätzlich Netzwerk-Boot-Optionen erkennen. Die dafür erforderliche Netzwerksuche sorgt meist für einige Sekunden Verzögerung, bevor das Bootmenü angezeigt oder verwendet werden kann. Die Netzwerk-Boot-Option kann meist im Firmware-Setup („BIOS-Setup“) aktiviert oder deaktiviert werden.

#### 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 seinerseits ein Bootmenü bereitstellen. Dies ist bei modernen Betriebssystemen meist der Fall, die damit erweiterte Funktionen und unterschiedliche Startmodi realisieren. Es gibt auch zahlreiche Bootmanager, die unabhängig vom Betriebssystem einerseits das Starten vieler unterschiedlicher Betriebssysteme erlauben, andererseits zusätzliche Funktionen bieten. Der Fokus der meisten Bootmanager liegt dabei auf Multi-Boot-Systemen, manche können 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, welcher daher bei der Betriebssystem-Installation auf das Zielmedium installiert und passend konfiguriert wird. Zusätzlich bieten die Installationsmedien oft ein Reparaturprogramm, das eine fehlerhafte Boot-Konfiguration korrigieren kann oder einen neuen Bootloader samt Konfiguration für ein erkanntes Betriebssystem neu auf ein vom Benutzer spezifiziertes Speichermedium installieren kann. Die einfachste Form eines Bootloaders ist ein Startprogramm ohne Auswahlmenü und ohne die Möglichkeit, Optionen für das zu startende Betriebssystem auszuwählen. Die meisten Bootsektoren sind derart ausgelegt, dass sie ohne Auswahlmenü 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 und anderen unixoiden Betriebssystemen bearbeitet werden, und bei Windows (von Windows 9x bis Windows 7) kann beim Start durch Drücken der Funktionstaste F8 ein Auswahlmenü mit erweiterten Startoptionen eingeblendet werden, das u. a. das Starten in den Abgesicherten Modus ermöglicht.
Beispiele für einfache Bootsektoren ohne Bootmenü:
* 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 des Macintosh (68k und PowerPC).
* Rigid Disk Block auf dem Amiga von Commodore (68k und PowerPC)
Beispiele für Bootmanager von Betriebssystemen mit (optionalem) Bootmenü:
* 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.

#### Bootsektoren

Von einigen Dienstprogrammen werden wahlweise Bootsektoren oder kleine Startprogramme angeboten, die ebenfalls eine rudimentäre Auswahl zum zu startenden Medium anbieten. So gibt es beispielsweise Formatierungs­programme, z. B. FDFORMAT oder VGA-COPY/386, die beim Formatieren einen Bootsektor mit Bootmenü auf Disketten schreiben. Die Auswahl ist auf wenige Standards, die per BIOS-Routinen angesprochen werden können, beschränkt. So kann ein dementsprechender Bootsektor, wenn auf der Diskette keine Systemdateien vorhanden sind, etwa von der ersten Festplatte starten.

#### 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 zusätzliche Funktionen, etwa das Modifizieren von Partitionsdaten (wie verstecken oder als aktiv markieren), oder sogar die Nachrüstung des LBA-48-Zugriffsmodus, wenn das BIOS diesen nicht unterstützt.
Eine unvollständige 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, Freeware
* XFDisk, der in eXtended FDisk enthaltene Bootmanager, frei
* XOSL (für englisch Extended Operating System Loader)
* zBoot Manager, Shareware
Eine unvollständige Liste von Bootmanagern für (U)EFI-Systeme:
* Clover EFI bootloader, frei; kann auch ein UEFI auf PCs mit BIOS bereitstellen und umgekehrt auf UEFI-Systemen Betriebssysteme für BIOS-basierte PCs starten
* rEFIt, frei; Bootmenü für Intel-Macs mit Apple-EFI; Entwicklung eingestellt
* rEFInd, frei; Nachfolger von rEFIt, auch auf PCs mit UEFI einsetzbar

## 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.