Das Kefk Network Wiki befindet sich im Testbetrieb.


Extensible Firmware Interface

Aus Kefk.

Wechseln zu: Navigation, Suche

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 dem Fokus auf 64-Bit-Systemen.

Inhaltsverzeichnis

Zielsetzung

EFI will 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. Zum Beispiel 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.

Geschichte

Das ursprüngliche PC-BIOS wurde 1985 entworfen und kann somit an die heutigen Anforderungen der Computergenerationen als nicht mehr gerecht empfunden werden. Insbesondere ist es nicht 64-bit-tauglich und weitere „Flickschustereien“ in dieser Richtung erschienen Hardware-Herstellern (wie Intel) 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. Im 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 den Real Mode.

Unified EFI (UEFI)

Zur Promotion und Weiterentwicklung von EFI wurde 2005 das Unified EFI Forum gegründet. Hieran sind außer Intel auch AMD, Microsoft, sowie viele 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 EFI Version 2.0 freigegeben.

Alternativen

Für PowerPC-und SPARC-Rechner wurde vor geraumer Zeit bei Unix-Workstations und Servern der plattformunabhängige Forth-basierte Industriestandard Open Firmware (IEEE-1275) spezifiziert. Warum Intel eine Eigenentwicklung gestartet hat, ist unklar.

Technologie

Bild:Efi flowchart extended.jpg
Ablauf eines System-Boots mit EFI

Die EFI-Schnittstelle soll die Nachteile des BIOS beseitigen und neue Optionen eröffnen. Dazu gehören laut EFI-Spezifikationen:

  • Einfache Erweiterbarkeit (z. B. für Digital Rights Management)
  • Eingebettetes Netzwerkmodul (zur Fernwartung)
  • Preboot Execution Environment (universelles Netzwerkbootsystem)
  • Unterstützung für hochauflösende Grafikkarten schon beim Start des Computers
  • C als Programmiersprache (bei BIOS auch Assembler)
  • BIOS-Emulation (also Kompatibilität zu vorhandenen BIOS) durch ein „Compatibility Support Module“ (CSM)[1]
  • eine Shell, über die beispielsweise EFI-Applikationen (*.efi) aufgerufen werden können
  • Treiber können als Modul in das EFI integriert werden, so dass sie nicht mehr vom OS geladen werden müssen. Damit sind, wie bei Open Firmware, systemunabhängige Treiber möglich.
  • Das System kann in einem Sandbox-Modus betrieben werden, bei dem Netzwerk- und Speicherverwaltung auf der Firmware laufen, statt auf dem OS.
  • Das EFI bietet die Anwahl für Betriebssysteme und startet diese, damit sind (den Betriebssystemen vorgeschaltete) Boot-Loader überflüssig.

Marktdurchdringung

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.

Intel und Microsoft fördern EFI. Intels Itanium-Systeme liefen von Anfang an ausschließlich mit EFI und dank der Hilfe von Intel konnte auch Apple diese BIOS-Firmware bereits einsetzen. Windows-Versionen für Itaniumsysteme 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. Trotzdem kündigte Microsoft im März 2006 an, dass Vista EFI vorerst nicht unterstützen wird (s.u.).

Betriebssysteme

x86

Windows

Weder Microsofts Betriebssystem Windows XP noch der Nachfolger machen vorerst vom EFI Gebrauch[2]. Windows Vista für 32-Bit-Systeme wird nach heutigem Stand (Frühling 2007) auch in Zukunft keine EFI-Unterstützung erhalten.

Linux

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.

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.

Mac OS X

Die ab dem Januar 2006 vorgestellten Apple Macintosh Rechner mit Mac OS X, die auf Intel CPUs und Chipsätzen basieren, verwenden ebenfalls EFI als Firmware. [3]. 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 rEFIt eine BIOS-Emulation nachgerüstet, die das Starten von Windows ermöglichte. Apple rüstete nach einigen Monaten durch ein Firmware-Update den BIOS-Layer nach, und bietet seit dem kostenlos eine "Boot Camp" genannte Lösung an, die es ermöglicht Mac OS X und Windows XP auf zwei Partitionen des gleichen Rechners zu installieren und durch Neustart (Booten) zwischen den Betriebssystem hin und her zu wechseln ("Dualbootlösung").

IA64

Windows

Die ursprüngliche Version von Windows Vista unterstützt EFI nicht, eine zukünftige Version soll jedoch UEFI auf x64-Systemen unterstützen. Als Grund für die fehlende Unterstützung von EFI gibt Microsoft an, dass während der Entwicklung von Windows Vista noch keine Computer mit UEFI auf dem Markt seien, so dass es keine ausreichenden Testmöglichkeiten gäbe. Außerdem gäbe es Probleme, das ISO-Image für die Installations-CD gleichzeitig kompatibel zu BIOS als auch zu EFI zu machen.

Andere

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.

Weblinks

Quellen

  1. http://www.intel.com/technology/framework/overview4.htm
  2. http://www.microsoft.com/whdc/system/platform/firmware/efibrief.mspx
  3. http://developer.apple.com/documentation/MacOSX/Conceptual/universal_binary/universal_binary_diffs/chapter_3_section_10.html
Wikipedia
Dieses Dokument entstammt in seiner ersten oder einer späteren Version der deutschsprachigen Wikipedia. Es ist dort zu finden unter dem Stichwort Extensible_Firmware_Interface, die Liste der bisherigen Autoren befindet sich in der Versionsliste; die Originalfassung kann dort auch bearbeitet werden. Alle Texte der Wikipedia und ihre Derivate stehen unter der GNU-Lizenz für freie Dokumentation.
Persönliche Werkzeuge