UEFI - Unified Extensible Firmware Interface
Das BIOS eines PCs basiert im Prinzip auf dem 1982 von IBM eingeführten BIOS. Seit dem wurde es mit Patches und Erweiterungen an die moderne Hardware angepasst. Eine der Hauptaufgabe des BIOS ist, die einzelnen Hardware-Komponenten an das Betriebssystem anzumelden. Das Problem dabei sind die nicht standardisierten Prozeduren. Jeder BIOS-Hersteller hat eine andere Grund-Konfigurationen mit vielen verschiedenen Einstellungsmöglichkeiten.
Das Unified Extensible Firmware Interface (UEFI) soll das klassische BIOS in PCs mit x86- und x64-Prozessoren ablösen, um mit den Unzulänglichkeiten eines veralteten BIOS aufzuräumen, neue Funktionen zu ermöglichen und Lizenzzahlungen an IBM (BIOS-Patent) zu vermeiden.
Die UEFI-Spezifikation definiert ein Embedded-System, das sich einfacher bedienen lässt, hochauflösende Grafikkarten unterstützt und netzwerkfähig ist.
- Software ist in C geschrieben
- Kompatibilität durch BIOS-Simulation
- modulare Erweiterbarkeit
- Netzwerkfähigkeit
- hochauflösende Grafik
BIOS und UEFI
Die Begriffe UEFI-Firmware und BIOS werden häufig synonym benutzt. Obwohl ein Motherboard eine UEFI-Firmware besitzt spricht man immer noch vom BIOS-Setup, wenn man Einstellungen verändern will.
Ein reines UEFI wird eher selten genutzt. Das würde durchgängig UEFI-taugliche Hardware voraussetzen. Aus Kompatibilitätsgründen verwendet man immer noch ein normales BIOS, dem ein UEFI übergestülpt ist.
Die meisten Systeme starten standardmäßig nicht im UEFI-Modus, sondern laden zuerst das Compatibility Support Module (CSM). CSM stellt BIOS-Kompatibilität her, damit Betriebssysteme (ältere Windows-Versionen) auch von Motherboards mit UEFI-Firmware starten können. Je nach Hersteller versuchen die Systeme zuerst UEFI-kompatible Bootmedien zu erkennen oder versuchen zuerst mit UEFI zu starten, um im Misserfolgsfall in den BIOS-Startmodus zu wechseln. Bei anderen Systemen muss man zwischen UEFI- und BIOS-Startmodus umschalten. Im UEFI-Modus ist dann das Laden des Betriebssystems von herkömmlichen USB-Sticks, CDs oder DVDs nicht mehr möglich.
GPT - GUID-Partitionstabelle
UEFI richtet auf der Systempartition eine GUID-Partitionstabelle (GPT) anstelle eines Master Boot Record (MBR) ein. GPT ist die Voraussetzung, um ein Betriebssystem von einer Festplatte mit mehr als 2,2 TByte starten zu können.
UEFI Secure Boot
Die Idee hinter "UEFI Secure Boot" ist, dass nur vertrauenswürdige Software, die signiert sein muss, auf die Hardware zugreifen darf. Damit will man Malware, Trojaner und Viren zu Leibe rücken, die es schaffen, am Betriebssystem vorbei, sich in den Bootsektor einzupflanzen. Bootet der Rechner nur noch vertrauenswürdige Betriebssysteme, dann können Angreifer das System nicht mehr manipulieren.
Hierzu enthält die UEFI-Firmware einen Platform Key (PK), einen Key Exchange Key (KEK) und zwei Signatur-Datenbanken. Damit kann das UEFI den Code vor der Ausführung prüfen. Der Secure-Boot-Modus blockiert den Start eines unsignierten Bootloaders und verhindert somit das Laden eines Betriebssystems, dessen Signaturschlüssel nicht im BIOS hinterlegt ist. Welche Betriebssysteme booten dürfen, legt der Hersteller fest und integriert die gültigen Signaturschlüssel im BIOS.
Ist der Secure-Boot-Modus aktiviert verhindert es die Installation anderer Betriebssysteme und auch das Booten von USB-Sticks, CDs oder DVDs, ohne signierten UEFI-Bootloader. Hierzu ist es notwendig Secure Boot vorher abzuschalten.
Für freie Betriebssysteme, wie zum Beispiel Linux-Distributionen, ist das ein Problem. Die lassen sich nicht installieren, wenn der entsprechende Signaturschlüssel nicht im BIOS hinterlegt ist. Um Linux auf einem so gesicherten Computer installieren und starten zu können, muss der Bootloader und der Kernel signiert und der öffentliche Signaturschlüssel im BIOS hinterlegt sein. Für große kommerzielle Distributoren, wie zum Beispiel Red Hat oder Suse dürfte es kein Problem sein, dafür zu sorgen, dass die Hardware-Hersteller ihre Signaturschlüssel aufnehmen. Allerdings gibt es auch freie Projekte, wie zum Beispiel Debian oder Fedora, die keine so guten Kontakte zu den Hardware-Herstellern haben.
Wer nur seinen Windows-PC (ab Windows 8) mit der vorinstallierten Software nutzen will, was auf den Normal-Anwender zutrifft, der wird von UEFI Secure Boot nie etwas bemerken oder eingeschränkt sein. Nur wer ein anderes Betriebssystem starten will, der stößt auf Hindernisse. Hier reicht es schon, wenn von einem USB-Stick Windows PE, bootfähige DVDs mit einem Virenscanner, Backup-Software oder ältere Linux-Betriebssyteme gestarten werden wollen.
Secure Boot ist ab UEFI-Spezifikation 2.3.1 definiert und wird von Windows 8 als erstes kommerzielles Betriebssystem unterstützt.
Wann braucht man UEFI?
- Booten von Datenträgern (Systempartition oder RAID) mit mehr als 2,2 TByte
- Verwalten von bis zu 127 Partitionen
- Boot-Optionen bei Touch-Bedienung (Tablets und All-in-One-PCs)
- Nutzung von Secure Boot (ab UEFI 2.3.1 und Windows 8)
- BitLocker-Verschlüsselung auf eDrives mit eigenem Kryptoprozessor
Auch wenn man eigentlich kein UEFI braucht, kann es sich lohnen, UEFI bei der Neueinrichtung eines Systems zu aktivieren. Denn es gibt nachträglich keine sicher funktionierende Möglichkeit vom BIOS- zum UEFI-Modus zu wechseln. Bei Komplettsystemen mit Windows-Logo ist ab Windows 8 UEFI sowieso Pflicht.
UEFI in der Praxis
Moderne Motherboards verzichten ganz auf ein BIOS. Die Initialisierung der Hardware übernimmt hier das UEFI. Einen Unterschied bemerkt man als Anwender nicht. Außer wenn man auf eine farbenfrohe Konfigurationsoberfläche stößt.
Um Inkompatiblitäten bei Hardware und Software zu vermeiden hat UEFI ein Compatibilty Support Module (CSM), das dem Betriebssystem ein gewöhnliches BIOS vorgaukelt.
Betriebsmodi von Windows 8
Betriebsmodus | UEFI (mit Secure Boot) | UEFI (ohne Secure Boot) | UEFI (mit CSM) |
---|---|---|---|
Partitionstabelle | GPT | GPT | MBR |
Systempartition < 2 TByte | Ja | Ja | Nein |
32-Bit-Windows | Nein | Nein | Nein |
64-Bit-Windows | Ja | Ja | Ja |