FAQ: Unified Extensible Firmware Interface
EFI oder UEFI?
Was ist der Unterschied zwischen UEFI und EFI?
Das Unified Extensible Firmware Interface (UEFI) ist eine weiterentwickelte Variante des Extensible Firmware Interface (EFI), welches das althergebrachte PC-BIOS ablösen soll. Windows-Versionen für x86- beziehungsweise x64-Prozessoren, die auf ein BIOS verzichten können, kooperieren nur mit UEFI ab Version 2.0.
Ursprünglich kam EFI bei Itanium-(IA-64-)Systemen zum Einsatz. Einige Intel-Xeon-Serverboards unterstützen EFI 1.1, hauptsächlich für Diagnose- und Wartungszwecke. Apple wiederum nutzt bei den Macs mit Intel-Prozessoren einen speziellen EFI-„Dialekt“, der weder EFI-1.1- noch UEFI-2.x-kompatibel ist. Der Linux-Kernel kann sowohl mit EFI als auch mit UEFI umgehen, aber in unseren Versuchen hat noch keine Distribution auf einem UEFI-2.x-System gebootet. Bisher lassen sich also anscheinend ausschließlich die x64-Versionen von Windows Vista, Windows 7 und Windows Server 2008 im UEFI-Modus installieren.
UEFI oder BIOS?
Das BIOS-Setup meines HP Compaq 6730s ist per Maus bedienbar und zeigt eine – nicht verstellbare – UEFI-Boot-Option. Woran erkenne ich, ob mein System im BIOS- oder UEFI-Modus läuft?
Dass das BIOS-Setup eine grafische Oberfläche aufweist, sagt nichts über UEFI aus. Allerdings wird der Firmware-Code vieler PC-Mainboards bereits nach den UEFI-Vorgaben geschrieben. Weil aber erst wenige Betriebssysteme auf einem reinen UEFI-System starten könnten, enthält die Firmware meistens ein sogenanntes Compatibility Support Module (CSM), welches BIOS-Kompatibilität herstellt. Aus Sicht des Betriebssystems unterscheidet sich UEFI-Firmware mit CSM nicht von einem BIOS.
Falls es eine UEFI-Boot-Option im BIOS-Setup gibt, dient sie dazu, das Laden des CSM zu unterbinden. Nach unseren Erfahrungen mit einigen der wenigen bisher lieferbaren UEFI-tauglichen Systemen lädt die Firmware meistens aber trotzdem das CSM, falls es von einem Massenspeicher sonst nicht booten kann – beispielsweise mangels EFI System Partition (ESP) oder EFI-Bootloader.
Wegen der CSM-„Ladeautomatik“ muss man im Betriebssystem nachschauen, ob es im UEFI-Modus läuft. Unter Windows erkennt man das unter anderem in der Datenträgerverwaltung, weil das Laufwerk mit der Systempartition dann stets GPT-verwaltet ist, also keinen Master Boot Record (MBR) nutzt. Auch die Boot Configuration Data (BCD) entlarven eine UEFI-Installation: Ruft man auf einer mit Administratorrechten gestarteten Kommandozeile (cmd.exe) das Programm bcdedit auf, meldet es bei UEFI-Systemen den Bootmanager bootmgfw.efi auf der ESP unter \EFI\Microsoft\Boot sowie den Bootloader winload.efi im Verzeichnis \Windows\system32. Zeigt bcdedit stattdessen winload.exe an, läuft das System im BIOS-Modus.
EFI-Shell
Mein Mainboard besitzt eine UEFI-Firmware. Dazu gehört doch angeblich ein DOS-ähnliches Minibetriebssystem. Wie starte ich es?
Tatsächlich steckt in jeder UEFI-Firmware ein EFI-Byte-Code-(EBC-)Interpreter, der für EFI geschriebene Programme und Treiber ausführt. Doch eine sogenannte EFI-Shell, also eine Kommandozeilenschnittstelle zur Firmware, lässt sich nur bei manchen Mainboards direkt aufrufen. Man kann sie allerdings möglicherweise nachrüsten, indem man einen FAT- oder FAT32-formatierten USB-Stick präpariert: Dazu entpackt man den Inhalt des Verzeichnisses \Edk\Other\Maintained\Application\UefiShell\bin\x64 aus dem EFI Developer Kit 1.06 (siehe Link unten) auf den Stick, sodass die Dateien Shell.efi und Shell_Full.efi im Wurzelverzeichnis stehen. Nun legt man dort noch das Verzeichnis namens „efi“ an und darin das Unterverzeichnis „boot“. Dort hinein kopiert man die erwähnte Datei Shell.efi und benennt sie um in „BOOTX64.efi“.
Schließlich muss man noch die Mainboard-Firmware dazu überreden, von dem vorbereiteten USB-Stick im UEFI-Modus zu booten. Manchmal muss man den USB-Stick dazu in der Boot-Reihenfolge an erste Stelle setzen oder ihn über das Boot-Auswahlmenü des BIOS beim Start explizit auswählen. Manche UEFI-Firmware will die EFI-Shell leider überhaupt nicht starten.
Installation im UEFI-Modus
Obwohl ich die UEFI-Option im BIOS-Setup aktiviert habe, installiert das Windows-7-x64-Setup das Betriebssystem stets im BIOS-Modus. Was mache ich falsch?
Selbst mit eingeschalteter UEFI-Option lassen sich einige Mainboards nur mit Tricks dazu überreden, die Windows-Setup-DVD tatsächlich im UEFI-Modus zu starten. Bei einigen Intel-Boards gelingt das nur über das BIOS-Auswahlmenü, welches sich nach dem Systemstart über die Funktionstaste F10 aufrufen lässt; es heißt bei anderen Mainboards oft BIOS Boot Select (BBS) und erscheint nach dem Druck anderer Funktionstasten (siehe Board-Handbuch). Nutzt man hingegen die „normale“ Boot-Reihenfolge des BIOS-Setup, dann lädt die Mainboard-Firmware stets das CSM.
Bei unseren Versuchen konnte das Intel-Board DQ57TM die Windows-7-Installation im UEFI-Modus nur von einem optischen Laufwerk aufrufen und nicht vom USB-Stick. Bei anderen Mainboards kann es nötig sein, den EFI-Bootloader im Verzeichnis \EFI\Boot\ der Windows-Setup-DVD explizit von einer EFI-Shell aus aufzurufen. Dieses Verzeichnis ist beim Durchsuchen der DVD von einem normalen Betriebssystem aus unsichtbar: Dann präsentiert die Setup-DVD nämlich ihr UDF-Dateisystem. Beim Booten hingegen findet die UEFI-Firmware ein anderes CD-Image, welches die Windows-Setup-DVD gemäß der El-Torito-Spezifikation zusätzlich speichert.
Installiert man Windows im UEFI-Modus, so richtet das Windows-Setup auf der Platte mit der Systempartition zwangsläufig eine GUID Partition Table (GPT) anstelle eines MBR ein. Ein „normales“ Windows kann von einer solchen Festplatte nicht booten. (ciw)