Das Extensible Firmware Interface (EFI, deutsch: Erweiterbare Firmware-Schnittstelle), bzw. dessen Nachfolgeversion Unified EFI (UEFI, deutsch: Vereinheitlichte erweiterbare Firmware-Schnittstelle) beschreibt die zentrale Schnittstelle zwischen der Firmware, den einzelnen Komponenten eines Computers und dem Betriebssystem. Es sitzt logisch gesehen unterhalb des Betriebssystems und stellt den Nachfolger des PC-BIOS dar, mit Fokus auf 64-Bit-Systemen.
Inhaltsverzeichnis |
EFI soll einfacher zu bedienen sein als herkömmliche BIOS-Implementationen. Zudem sollen die Anwender beim Systemstart auswählen können, welche Bestandteile des verwendeten Betriebssystems geladen werden sollen, beispielsweise könnten fehlerhafte Treiber deaktiviert werden.
Auch soll von den grafischen Möglichkeiten moderner Hardware endlich Gebrauch gemacht werden. Ein Schwerpunkt liegt auf der Netzwerkfähigkeit. Es soll möglich werden, Fehler über Remote-Verbindungen zu diagnostizieren.
Das ursprüngliche PC-BIOS erschien 1981 mit dem ersten IBM-PC und kann trotz vieler späterer Erweiterungen den Anforderungen moderner Hardware und Betriebssysteme schon seit einiger Zeit nicht mehr gerecht werden. Insbesondere ist es nicht 64-bit-tauglich, und weitere „Flickschustereien“ in dieser Richtung erschienen Hardware-Herstellern (wie Intel oder AMD) nicht mehr tragbar.
Maßgeblich für die Neu-Entwicklung EFI war eine Initiative von Intel, um einen Ersatz für das klar veraltete BIOS zur Verwendung in der IA64-Architektur zu finden. In dem 1998 gegründeten Intel Boot Initiative (IBI)-Programm wurde die Idee spezifiziert.
Den eigentlichen Nachfolger für das BIOS stellt der Firmware Foundation Code dar, der zu den Bedingungen der CPL (Common Public License) freigegeben wird und das Extensible Firmware Interface implementiert. Ein handelsübliches BIOS verwendet ausschließlich den Real Mode.
Zur Werbung und Weiterentwicklung von EFI wurde 2005 das Unified EFI Forum gegründet. Hieran sind außer Intel auch AMD, Microsoft, Apple und viele andere PC- und BIOS-Hersteller beteiligt, so dass die nun als Unified EFI (UEFI) bezeichnete Schnittstelle nicht mehr allein von Intel festgelegt wird. Im Januar 2006 wurde die EFI-Version 2.0 freigegeben.
Für PowerPC-und SPARC-Rechner wurde vor geraumer Zeit bei Unix-Workstations und Servern der plattform- und Prozessor-unabhängige Forth-basierte Industriestandard Open Firmware (IEEE-1275) spezifiziert. Wesentliche technische Vorteile von Intels Eigenentwicklung EFI gegenüber Open Firmware sind nicht bekannt.
Eine weitere Alternative stellt die unter der GPL-Lizenz stehende Firmware coreboot (ehemals LinuxBIOS) dar. coreboot ist ein Minimalsystem, das lediglich die Hardware soweit initialisiert, dass ein anderes Programm (eine so genannte Payload) aufgerufen werden kann, etwa ein Linux-Kernel, ein Bootloader wie etwa GRUB, Open Firmware oder diverse andere.
Die EFI-Schnittstelle soll die Nachteile des BIOS beseitigen und neue Möglichkeiten eröffnen. Dazu gehören laut EFI-Spezifikationen:
Die Etablierung des Extensible Firmware Interface als zukünftiger Ersatz für das BIOS scheiterte bisher im PC-Bereich am Widerstand einiger Computer- und BIOS-Hersteller. Mit dem Einstieg von Apple in den x86-Markt scheint sich dies jedoch langsam zu ändern – die neuen Macs auf Intel-Basis verwenden ausschließlich EFI.
Inzwischen hat mit dem Mainboard-Hersteller MSI der erste Anbieter "normaler" x86-Systeme damit begonnen, seine Produkte auf EFI umzustellen. Im Februar 2008 sollte das erste Mainboard (P35 Neo3), welches auf dem P35-Chipsatz von Intel basiert, mit EFI erscheinen.[2] Erschienen ist es jedoch nie. MSI plant jetzt allerdings die Martkeinführung von EFI für P45-Boards im Juli. [3] Anders, als diese Nachrichten von Computerbase.de vermuten ließen, hat MSI nicht die Veröffentlichung eines Mainboards mit EFI-Installation vom Werk aus geplant, sondern hat für die dort genannten Mainboards ein EFI als öffentliche Beta-, also Testversion herausgebracht, das nur von der asiatischen Website des taiwanischen Unternehmens heruntergeladen werden kann.[4]
EFI wird hauptsächlich von Intel gefördert und − mit Einschränkungen − auch von Microsoft. Intels Itanium-Systeme liefen von Anfang an ausschließlich mit EFI, und dank der Hilfe von Intel konnte auch Apple EFI bereits einsetzen. Windows-Versionen für Itanium-Systeme mit EFI gibt es bereits seit Windows 2000. Microsoft hat also bereits einige Jahre Praxiserfahrung mit dem EFI, weswegen „Kinderkrankheiten“ bei der EFI-Unterstützung in Windows Vista nicht zu erwarten gewesen wären. Windows Vista unterstützt seit SP1 UEFI2.0, aber nicht den älteren EFI_Standard 1.3, der bisher bei Intel-Macs verwendet wird.[5]
Windows für Desktop-Systeme unterstützt EFI erst ab Windows Vista mit integriertem Service Pack 1, alle älteren Windows-Versionen für Desktop-Systeme unterstützen EFI nicht.[6]
Für die auf EFI basierenden Macintoshs wurde ein BIOS-Kompatibilitätslayer nachgereicht, damit darauf ältere Windows-Versionen gebootet werden können.
EFI wird auch von Linux unterstützt werden: Präsentationen über EFI anlässlich des „Intel Entwicklerforums, Herbst 2004“ (engl.: „Intel Developers Forum, Fall 2004“) gab es mit etwa gleicher Dauer sowohl von Microsoft als auch von Vertretern des Linux-Betriebssystems.
Der stabile Zweig des Linux-Kernels bietet seit Version 2.6.25 auch für die x86-Architektur Unterstützung für EFI.[7]
Seit dem Erscheinen der ersten Itanium-Systeme entwickelt HP den Bootloader elilo. Dieser ist zwar für IA-64 ausgelegt, lässt sich aber ebenfalls auf IA-32 verwenden – eine Portierung von elilo auf x86-64 befindet sich aber noch im Beta-Stadium. Als Alternative zu elilo wird auch GRUB 2 für EFI-PC verwendet werden können, dessen erste Beta-Version allerdings voraussichtlich erst im Herbst 2008 erscheinen wird.
Die im Januar 2006 vorgestellten Apple Macintosh Rechner mit Mac OS X (und alle späteren Produkte), die auf Intel-CPUs und Chipsätzen basieren, verwenden ebenfalls EFI als Firmware.[8] Sie sind damit zusammen mit einigen Media-Center-PCs (z. B. Gateway 610 aus dem Jahre 2003) die ersten EFI-basierten Massenmarktcomputer. Die ausschließliche Nutzung des EFI (zunächst ohne den optionalen BIOS-Kompatibilitätslayer) verhinderte zunächst auch das Booten von Windows XP auf Intel-basierten Macintosh-Rechnern. Bald wurde aber durch das Projekt xom eine BIOS-Emulation nachgerüstet, die das Starten von Windows ermöglichte. Apple rüstete nach einigen Monaten durch eine Firmware-Aktualisierung den BIOS-Layer nach und bot bis Mitte Oktober 2007 eine kostenlose, "Boot Camp" genannte Lösung an, die es ermöglicht, Mac OS X und Windows XP auf zwei Partitionen desselben Rechners zu installieren und durch Neustart (Booten) zwischen den Betriebssystem hin und her zu wechseln („Dualboot-Lösung“). Seit erscheinen von Mac OS X 10.5 (Leopard) ist Boot Camp standardmäßig auf allen Intel-Macs vorinstalliert. Die Beta-Version von Boot Camp, die auch auf Mac OS X 10.4 lief, ist offiziell inzwischen nicht mehr lauffähig.
Da EFI auf IA64-Rechnern standardmäßig integriert ist, unterstützen Betriebssysteme, die auf diesen Rechnern laufen sollen, zumindest den Teil, der zum Laden des Betriebssystems selbst zum Einsatz kommt. Darunter fallen die entsprechenden Versionen von FreeBSD, HP-UX, Linux, NetBSD, OpenVMS und Microsoft Windows.