„Unified Extensible Firmware Interface“ – Versionsunterschied
[gesichtete Version] | [gesichtete Version] |
Linkvorschlag-Funktion: 2 Links hinzugefügt. |
|||
(244 dazwischenliegende Versionen von mehr als 100 Benutzern, die nicht angezeigt werden) | |||
Zeile 1: | Zeile 1: | ||
Das '''Unified Extensible Firmware Interface''' (kurz '''UEFI''', {{enS}} für '' |
Das '''{{lang|en|Unified Extensible Firmware Interface}}''' (kurz '''UEFI''', {{enS}} für ''einheitliche erweiterbare [[Firmware]]-Schnittstelle''<ref name="heiseonline_4405251">{{Heise online |ID=4405251 |Titel=Was die Begriffe Firmware, BIOS, UEFI alles meinen können |Autor=Thorsten Leemhuis |Datum=2019-05-08 |Abruf=2022-10-18 |Zitat=Das Kürzel steht für ‚{{lang|en|Unified Extensible Firmware Interface}}‘, was sich mit ‚einheitliche erweiterbare Firmware-Schnittstelle‘ übersetzen lässt.}}</ref>) ist eine von Intel 1998 veröffentlichte [[Schnittstelle]]n-Definition für [[BIOS|Computer-Firmware]], für die Intel zugleich eine [[Referenzimplementierung]] vorstellte. Ursprünglich wurde die von Intel für die [[64-Bit-Architektur|64-Bit]]-[[Itanium-Architektur]] entwickelte Firmware als '''Extensible Firmware Interface''', kurz '''EFI''', bezeichnet. UEFI hat sich als Nachfolger des [[BIOS (IBM PC)|BIOS]] etabliert und bildet als solches die zentrale Schnittstelle zwischen der Plattform-Firmware und dem [[Betriebssystem]]. |
||
Dadurch, dass UEFI-Firmware auf [[IBM-PC-kompatibler Computer|IBM-PC-kompatiblen Computern]] die bisherige Firmware – das BIOS – abgelöst hat, wird UEFI auch oft als „UEFI-BIOS“ sowie dessen Firmware-Setup auch (weiterhin) oft als „BIOS-Setup“ bezeichnet.<ref>{{Internetquelle |url=https://www.elektronik-kompendium.de/sites/com/0901081.htm |titel=UEFI – Unified Extensible Firmware Interface |werk=Elektronik-Kompendium.de |abruf=2020-03-14 |zitat=(Abschnitt: BIOS und UEFI) Die Begriffe UEFI-Firmware und BIOS werden häufig synonym verwendet. Obwohl ein Motherboard eine UEFI-Firmware besitzt spricht man immer noch vom BIOS-Setup, wenn man Einstellungen verändern will.}}</ref> |
|||
⚫ | |||
Wesentliche Merkmale von UEFI sind die Nutzung der [[GUID Partition Table|GUID-Partitionstabelle]], die zum vom BIOS genutzten [[Master Boot Record]] teil-kompatibel bleibt, [[Framebuffer]]-basierte Grafikunterstützung, Netzwerkfunktionalität, sowie seit UEFI-Version 2.3.1, '''{{lang|en|Secure Boot}}''', eine Funktion, die das Booten auf vorher signierte [[Bootloader]] beschränkt und so [[Schadsoftware]] oder andere unerwünschte Programme hindern soll, zu starten. |
|||
== Ziel == |
|||
UEFI soll einfacher zu bedienen sein als herkömmliche BIOS-Implementierungen. 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 Gebrauch gemacht werden, und es soll möglich werden, Fehler mit Hilfe von Netzwerkverbindungen zu diagnostizieren. |
|||
== |
== Merkmale == |
||
Im Gegensatz zu dem alten PC-BIOS enthält UEFI Schnittstellen und Datentabellen mit Plattforminformationen sowie Boot- und Laufzeitdienste, die dem Betriebssystemlader und in Folge dem Betriebssystem zur Verfügung stehen. Die UEFI-Firmware bietet verschiedene technische Vorteile gegenüber dem BIOS-System: |
|||
⚫ | Das ursprüngliche PC-BIOS erschien 1981 mit dem ersten [[IBM-PC]] |
||
* UEFI ist unabhängig vom Typ der CPU, und es können damit verschiedene Arten von Systemen, unter anderem [[Arm-Architektur]] und [[x64]], gebootet werden. |
|||
⚫ | |||
* Es können große Festplatten mit über 2 TB mit einer im Rahmen von UEFI eingeführten [[GUID Partition Table|GUID-Partitionstabelle]] (GPT) verwendet werden.<ref name="grub-bios-installation">{{cite web |
|||
| url = https://www.gnu.org/software/grub/manual/html_node/BIOS-installation.html |
|||
| title = Installation |
|||
| work = 3.4 BIOS installation |
|||
| accessdate = 2013-09-25 |
|||
| publisher = [[GNU GRUB]] |
|||
}}</ref> |
|||
* Alle Daten und Programme für UEFI werden in Form von herkömmlichen Dateien in einer eigenen [[VFAT]]-Partition gehalten. Im Gegensatz zum BIOS braucht UEFI keine Daten oder Treiber wie den Betriebssystemlader in bestimmten fixen und unveränderlichen Speicherbereichen wie dem [[Master Boot Record]] (MBR). |
|||
* UEFI ist netzwerkfähig. Im Gegensatz zum älteren BIOS-Standard [[Preboot Execution Environment]] (PXE), der im BIOS der [[Netzwerkkarte]] entsprechende Treiber benötigt, ist UEFI selbst netzwerkfähig und erlaubt, angelehnt an die Verfahren wie bei PXE, direkt das Booten über Netzwerk. |
|||
* Generell modulares, erweiterbares Design in den Strukturen. Beispielsweise kann man eine der [[Unix-Shell]] ähnliche UEFI-Shell im Rahmen des Bootvorganges aufrufen. |
|||
* Im UEFI-Standard sind Verfahren festgelegt, wie bestimmte Daten, beispielsweise die Boot-Reihenfolge von verschiedenen Medien, im [[NVRAM]] permanent gespeichert werden. |
|||
== Geschichte == |
|||
⚫ | Der eigentliche Nachfolger für das BIOS ist der ''Firmware Foundation Code'', der zu den Bedingungen der CPL ([[Common Public License]]) freigegeben wird und das Extensible Firmware Interface implementiert.<ref name="FirmwareFoundationCodeCPL"> |
||
⚫ | Maßgeblich für die Neuentwicklung ''EFI'' war eine Initiative von [[Intel]], um einen Ersatz für das BIOS zur Verwendung auf der [[Itanium-Architektur]] (''{{lang|en|Intel Architecture}} 64-Bit'', kurz IA-64) zu finden. In dem [[1998]] gegründeten ''Intel Boot Initiative (IBI)-Programm'' wurde die Idee spezifiziert. |
||
=== Unified EFI (UEFI) === |
=== Unified EFI (UEFI) === |
||
[[Datei: |
[[Datei:Logo of the UEFI Forum.svg|mini|UEFI-Logo|hochkant=0.3]] |
||
Zur Werbung und Weiterentwicklung von EFI wurde 2005 das ''Unified EFI Forum'' gegründet. Daran sind außer Intel auch [[AMD]], Microsoft, Hewlett-Packard und viele andere PC- und BIOS-Hersteller beteiligt, |
Zur Werbung und Weiterentwicklung von EFI wurde 2005 das ''Unified EFI Forum'' gegründet. Daran sind außer Intel auch [[AMD]], Microsoft, Hewlett-Packard und viele andere PC- und BIOS-Hersteller beteiligt, sodass die nun als ''Unified EFI'' (UEFI) bezeichnete Schnittstelle nicht mehr allein von Intel festgelegt wird. Im Januar 2006 wurde die Version 2.0 der EFI-Spezifikation und deren [[Quelltext]] bereits als UEFI freigegeben. |
||
Der Unterschied zwischen EFI und UEFI ist daher nur der Name: vor Version 2.0 hieß die Firmware „EFI“, ab Version 2.0 ist die korrekte Bezeichnung „UEFI“. |
|||
Mit der Einführung von [[Microsoft Windows 8|Windows 8]] im Jahr 2012 wurde das UEFI in der Version 2.3.1 mit einem Secure-Boot-Mechanismus verstärkt eingeführt, der das Booten auf vorher signierte Bootloader beschränkt. Dies erhöht die Sicherheit beim Systemstart, indem [[Schadsoftware]] am Starten gehindert wird. Andererseits wird der Aufwand für die Nutzung von z. B. [[Linux]]-Distributionen erhöht, da entweder ''Secure Boot'' deaktiviert oder ein signierter [[Linux (Kernel)|Kernel]] genutzt werden muss. Allerdings ist das [[Signatur (Programmierung)|Signieren]] eines Kernels mit Kosten verbunden, die die wenigsten Distributoren tragen wollen.<ref>Thorsten Leemhuis: [http://www.heise.de/ct/hotline/FAQ-UEFI-Secure-Boot-und-Linux-1776846.html UEFI Secure Boot und Linux: Antworten auf die häufigsten Fragen], [[c’t]]-Magazin, abgerufen am 13. Juni 2015</ref><br /> |
|||
⚫ | Wie Forscher der [[Mitre Corporation]] Mitte 2014 bekannt gegeben haben, weist die Intel-Referenzimplementierung von UEFI eine Sicherheitslücke auf, die das dauerhafte Einschleusen von [[Malware]] ermöglicht. Genutzt wird hierfür eine fehlerhafte Update-Funktion, durch die es zu Integer-Overflows kommt und Schadcode ausführbar macht. Viele |
||
=== {{Anker|Compatibility Support Module|CSM}}BIOS-Nachfolger === |
|||
⚫ | Das ursprüngliche [[BIOS (IBM PC)|PC-BIOS]] erschien 1981 mit dem ersten [[IBM Personal Computer|IBM PC]]. Mit Fortschreiten der Entwicklung der [[IBM-PC-kompatibler Computer|IBM-PC-kompatiblen Computer]] wurde es trotz ständiger Erweiterungen den Anforderungen moderner [[Hardware]] und Betriebssysteme nicht mehr gerecht. Insbesondere ist es weder 32-Bit- noch 64-Bit-tauglich im Bezug auf Treiber. Zu Beginn der 2000er Jahre erschienen weitere Provisorien zum Ausgleich dieser Makel den Hardware-Herstellern (wie Intel oder AMD) nicht mehr tragbar. |
||
Auf die [[x86-Architektur]] kam EFI in etwa zur selben Zeit wie die Befehlssatzerweiterung „[[x64]]“ bzw. „x86-64“, mit der die damals 32-Bit-x86-Architektur „[[IA-32]]“ ebenfalls zu einer 64-Bit-Architektur wurde. Dennoch wurde EFI anfänglich nur als 32-Bit-Firmware implementiert, u. a. bei Intel-[[Macintosh|Macs]] von [[Apple]], die ab 2006 EFI-Version 1.10 als Firmware nutzten. Ab UEFI 2.0 gibt es offiziell eine 64-Bit-Implementierung auf x86.<ref>{{Internetquelle |autor=Christoph Pfisterer |url=http://refit.sourceforge.net/info/apple_efi.html |titel=A Brief History of Apple and EFI |datum=2008-12-29 |abruf=2020-03-14 |sprache=en}}</ref> |
|||
Um auf x86-Systemen zu bestehender Software kompatibel zu bleiben, war mit dem ''{{lang|en|Compatibility Support Module}}'', kurz CSM, eine BIOS-Kompatibilitätsschicht integriert. Seit ca. 2010 löste UEFI schrittweise das BIOS ab,<ref name="heiseonline_1254437">{{Heise online |ID=1254437 |Titel=Abschied vom PC-BIOS |Autor=Christof Windeck |Datum=2011-06-03 |Abruf=2020-03-14}}</ref> welches daher auch als {{lang|en|''Legacy''}}<ref>{{Internetquelle |autor=Sebastian Kolar |url=https://www.computerbild.de/artikel/cb-Tipps-Software-Windows-10-Legacy-Modus-Tipps-29576775.html |titel=Windows 10: Legacy-Modus nutzen – die besten Tipps |werk=[[Computer Bild]] |hrsg=Axel Springer SE |datum=2021-03-14 |abruf=2022-07-11 |zitat=Legacy-Modus beim BIOS nutzen}}</ref><ref>{{Literatur |Autor=Axel Vahldiek, Thorsten Leemhuis |Titel=Einzugshilfe – Linux Mint parallel neben Windows installieren |Sammelwerk=[[c’t]] Spezial (c’t Linux 2019) |Nummer=3/2019 |Verlag=[[Verlag Heinz Heise]] |Datum=2018-11-10 |Seiten=130 ff. |Fundstelle=S. 133, Bootmodus identifizieren |ISSN=0724-8679 |Online={{Google Buch |BuchID=QICXDwAAQBAJ |SeitenID=133}} |Zitat=Es gilt herauszufinden, ob Ihre Windows-Installation klassisch (‚Legacy BIOS‘) oder per UEFI bootet. … In der Zeile ‚BIOS-Modus‘ steht entweder ‚UEFI‘ oder ‚Vorgängerversion‘, letzteres meint das klassische Legacy BIOS.}}</ref> (dt.: Erbe/Hinterlassenschaft/Altlast) bezeichnet wurde. Seit 2020 wird das CSM, der BIOS-Kompatibilitäts-Modus, von den Herstellern weggelassen.<ref name="heiseonline_3890747">{{Heise online |ID=3890747 |Titel=Intel: UEFI-BIOS verliert 2020 die BIOS-Kompatibilität |Autor=Christof Windeck |Datum=2017-11-15 |Abruf=2020-03-14}}</ref><ref name="heiseonline_6066457">{{Heise online |ID=6066457 |Titel=Intel Core i-11000: BIOS-Kompatibilität nur noch mit Grafikkarte |Autor=Christian Hirsch |Datum=2021-06-09 |Abruf=2021-06-10 |Zitat=Bereits in den letzten Jahren nahm die Zahl an Notebooks und Komplett-PCs deutlich zu, die ausschließlich per UEFI booten.}}</ref> |
|||
⚫ | Der eigentliche Nachfolger für das BIOS ist der ''{{lang|en|Firmware Foundation Code}}'', der zu den Bedingungen der CPL ([[Common Public License]]) freigegeben wird und das ''{{lang|en|Extensible Firmware Interface}}'' implementiert.<ref name="FirmwareFoundationCodeCPL">{{Internetquelle |autor=Redaktion CHIP |url=https://www.chip.de/news/Intel-will-BIOS-Nachfolger-als-Open-Source-freigeben_139247341.html |titel=Intel will BIOS-Nachfolger als Open Source freigeben |abruf=2020-12-04 |sprache=de}}</ref> |
||
⚫ | |||
Mit der Einführung von [[Microsoft Windows 8|Windows 8]] im Jahr 2012 wurde das UEFI in der Version 2.3.1 mit einem „{{lang|en|Secure Boot}}“-Mechanismus verstärkt eingeführt, der das Booten auf vorher signierte ''Bootloader'' beschränkt: ''{{lang|en|Secure Boot}}'' ermöglicht den gesicherten Anfang einer unterbrechungsfreien „Vertrauens-Kette“ von der Hardware-Firmware bis zur Benutzeranwendung. Das erhöht die Sicherheit beim Systemstart u. a. weil es [[Schadsoftware]], der die passenden Signaturen fehlen, im Grundsatz nicht mehr möglich ist, in den Boot-Prozess einzugreifen, es verhindert jedoch nicht, dass jedes Kettenglied auch „nicht-vertrauenswürdige“ Software nachladen kann. Beispielsweise existiert mit [[Shim (Informatik)|''Shim'']] ein von Microsoft signierter Bootloader, der einen nicht zertifizierten [[GRUB]] und über diesen beliebige andere Binaries nachladen kann. |
|||
Notwendig wurde ''Shim'', da viele Hersteller von [[Hauptplatine]]n in ihren UEFI-Implementierungen ausschließlich Signaturen für Microsoft-Produkte mitliefern und die Installation benutzereigener Signaturen auf ihrer Hardware, z. B. für die Installation eines [[Linux (Kernel)|Linux-Kernels]], nicht oder zumindest nicht allein mit den UEFI-Bordmitteln möglich ist. Da die Microsoft-Signaturen in nahezu allen real verfügbaren UEFI-Implementierungen vorhanden sind, nutzen praktisch alle aktuellen [[Linux-Distribution]]en ''Shim'', um auf Rechnern mit aktiviertem ''{{lang|en|Secure Boot}}'' zu starten. |
|||
⚫ | Wie Forscher der [[Mitre Corporation]] Mitte 2014 bekannt gegeben haben, weist die Intel-Referenzimplementierung von UEFI zudem eine Sicherheitslücke auf, die das dauerhafte Einschleusen von [[Malware]] ermöglicht. Genutzt wird hierfür eine fehlerhafte Update-Funktion, durch die es zu Integer-Overflows kommt und Schadcode ausführbar macht. Viele verwenden den Code der Intel-Referenzimplementierung als Basis für ihr UEFI.<ref>{{Webarchiv|url=http://www.digitale-sicherheit.net/sicherheitsluecke-im-uefi-bios-entdeckt/ |wayback=20141222143937 |text=BIOS Extreme Privilege Escalation}}</ref> |
||
2016 wurde außerdem eine Sicherheitslücke im Microsoft-Bootloader bekannt, die eine Umgehung des Schutzes ermöglichte.<ref>{{Internetquelle |url=http://winfuture.de/news,93558.html |titel=‘Hintertür’ in Secure Boot: Wichtigster Windows-Schutz ausgehebelt |datum=2016-08-10 |abruf=2020-12-04 |sprache=de}}</ref><ref>{{Internetquelle |autor=heise online |url=https://www.heise.de/security/meldung/Kardinalfehler-Microsoft-setzt-aus-Versehen-Secure-Boot-schachmatt-3291946.html |titel=Kardinalfehler: Microsoft setzt aus Versehen Secure Boot schachmatt |abruf=2020-12-04 |sprache=de}}</ref> |
|||
=== UEFI Security Response Team (USRT) === |
|||
Im Jahr 2017 wurde das UEFI Security Response Team (USRT) gegründet, das als Schnittstelle und Ansprechpartner zwischen IT-Sicherheitsleuten wie beispielsweise ethischen Hackern (engl. sogenannte „[[Hacker (Computersicherheit)#White-, Grey- und Black-Hats|white hats]]“) und den Unternehmen dienen soll, die UEFI-basierte Hardware herstellen. Damit will man den Weg erleichtern und verkürzen, den jemand gehen muss, um die Industrie über eine Sicherheitslücke zu informieren, die er in UEFI gefunden hat, so dass letzten Endes auch die Industrie schneller mit Sicherheitspatches reagieren kann.<ref>[https://www.heise.de/security/meldung/UEFI-BIOS-bekommt-ein-Sicherheits-Expertenteam-3891074.html UEFI-BIOS bekommt ein Sicherheits-Expertenteam]</ref> |
|||
== Implementierungen == |
|||
=== Tianocore EDK2 === |
|||
Mit TianoCore EDK2<ref name="TianoCore">{{cite web|url=https://www.tianocore.org/|title=What is TianoCore|accessdate=2018-09-12}}</ref> steht eine Referenzimplementierung unter der [[BSD-Lizenz]] zur Verfügung. Diese basiert auf einer vorhergehenden Entwicklung von [[Intel]]. |
|||
⚫ | |||
Im {{lang|en|Universal Boot Loader}} ([[Das U-Boot]]) steht seit 2017<ref name="MarryingU-BootUEFIandGRUB">{{cite web|url=http://events17.linuxfoundation.org/sites/events/files/slides/Marrying%20U-Boot%2C%20UEFI%20and%20grub.pdf|title=Marrying U-Boot UEFI and GRUB|accessdate=2018-09-12}}</ref> die UEFI-API zur Verfügung. Auf der [[Arm-Architektur#Armv8-A (2011)|Armv8-A]]-Architektur nutzen [[Linux]][[Linux-Distribution|-Distributionen]] die U-Boot-UEFI-Implementierung zusammen mit [[GNU GRUB]] zum Booten (z. B. [[SUSE Linux]]<ref name="SuseU-BootGRUB">{{cite web|url=https://www.suse.com/media/article/UEFI_on_Top_of_U-Boot.pdf|title=UEFI on Top of U-Boot|accessdate=2018-09-12}}</ref>). Auch OpenBSD<ref name="OpenBSD63onRPi3">{{cite web|url=http://bijanebrahimi.github.io/blog/installing-openbsd-63-on-raspberry-pi-3.html|title=Installing OpenBSD 6.3 on Raspberry 3|accessdate=2018-09-12}}</ref> nutzt das UEFI-API, um von U-Boot zu starten. |
|||
== Alternativen == |
== Alternativen == |
||
Für [[PowerPC]]-und [[Sun SPARC|SPARC]]-Rechner wurde |
Für [[PowerPC]]- und [[Sun SPARC|SPARC]]-Rechner wurde 1994 auf [[Unix]]-Workstations und -Servern der plattform- und prozessorunabhängige [[Forth (Programmiersprache)|Forth]]-basierte Industriestandard [[Open Firmware]] (IEEE-1275) spezifiziert. Wesentliche technische Vorteile von Intels Eigenentwicklung EFI gegenüber Open Firmware, abgesehen von wesentlich gesteigerter Ausführungsgeschwindigkeit (Vergleich zwischen Mac mit Open Firmware und Mac mit EFI des gleichen Jahrgangs), waren zu diesem Zeitpunkt nicht bekannt. |
||
Eine weitere Alternative ist die unter der [[GNU General Public License|GPL]]-Lizenz stehende Firmware [[coreboot]] (ehemals ''LinuxBIOS''). Coreboot ist ein Minimalsystem, das lediglich die Hardware soweit initialisiert, dass ein anderes Programm ( |
Eine weitere Alternative ist die unter der [[GNU General Public License|GPL]]-Lizenz stehende Firmware [[coreboot]] (ehemals ''LinuxBIOS''). Coreboot ist ein Minimalsystem, das lediglich die Hardware soweit initialisiert, dass ein anderes Programm (ein sogenanntes ''Payload'') aufgerufen werden kann, etwa ein [[Linux]]-Kernel, ein [[Bootloader]] wie [[Grand Unified Bootloader|GRUB]], aber auch alternative Firmware wie ein BIOS (mittels SeaBIOS), Open Firmware oder ein UEFI (mittels TianoCore). |
||
Darüber hinaus existieren, meist für Nischen, weitere Alternativen: |
|||
* LinuxBoot<ref>https://github.com/linuxboot/linuxboot</ref> |
|||
* m1n1<ref>[https://github.com/AsahiLinux/docs/wiki/m1n1%3AUser-Guide m1n1 user guide], Asahi Linux, zugegriffen 2022-10-10.</ref> |
|||
== Techniken und Möglichkeiten == |
== Techniken und Möglichkeiten == |
||
Zeile 36: | Zeile 79: | ||
* [[Preboot Execution Environment]] (universelles Netzwerkbootsystem) |
* [[Preboot Execution Environment]] (universelles Netzwerkbootsystem) |
||
* Unterstützung für hochauflösende [[Grafikkarte]]n schon beim Start des Computers |
* Unterstützung für hochauflösende [[Grafikkarte]]n schon beim Start des Computers |
||
* BIOS-Emulation ( |
* optional in der Übergangszeit (zwischen 2010 und 2020) eine BIOS-Emulation durch das „Compatibility Support Module“ (CSM), zur Wahrung der Kompatibilität zu vorhandenen Betriebssystemen, die UEFI nicht unterstützen und ein BIOS voraussetzen<ref name="IntelEFIFramework">{{Internetquelle |url=https://www.intel.com/content/www/us/en/architecture-and-technology/unified-extensible-firmware-interface/efi-homepage-general-technology.html |titel=Extensible Firmware Interface (EFI) and Unified EFI (UEFI) |abruf=2020-12-04 |sprache=en}}</ref> |
||
* eine [[ |
* eine [[Shell (Betriebssystem)|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 Betriebssystem geladen werden müssen. Damit sind, wie bei [[Open Firmware]], systemunabhängige Treiber möglich. |
* Treiber können als Modul in das EFI integriert werden, so dass sie nicht mehr vom Betriebssystem 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 anstatt auf dem Betriebssystem. |
* Das System kann in einem [[Sandbox]]-Modus betrieben werden, bei dem Netzwerk- und Speicherverwaltung auf der Firmware laufen anstatt auf dem Betriebssystem. |
||
* Das EFI bietet eine Auswahlmöglichkeit für die auf dem System installierten Betriebssysteme und startet diese; damit sind (den Betriebssystemen vorgeschaltete) [[ |
* Das EFI bietet eine Auswahlmöglichkeit für die auf dem System installierten Betriebssysteme und startet diese; damit sind (den Betriebssystemen vorgeschaltete) [[Bootloader]] überflüssig. |
||
* Mit der [[GUID Partition Table]] ( |
* Mit der [[GUID Partition Table|GUID-Partitionstabelle]] „GPT“ (für ''{{lang|en|GUID Partition Table}}'') führt es einen flexibleren Nachfolger für auf dem [[Master Boot Record]] basierende [[Partitionstabelle]]n ein. Die GUID-Partitionstabelle ist notwendig, um von einer [[Massenspeicher|Festplatte]] > 2 TB booten zu können bzw. [[Partition (Datenträger)|Partitionen]] > 2 TB anlegen und verwalten zu können.<br />Obwohl GPT mit EFI eingeführt wurde, kann die Partitionstabelle auch von anderen Systemen verwendet werden. U. a. ist es auch mit dem PC-BIOS möglich, von einer GPT-partitionierten [[Festplatte]] zu [[booten|starten]], wenn ein geeigneter [[Bootloader]] (z. B. [[Grand Unified Bootloader|GRUB]]) installiert ist. Allerdings wird das nicht von vielen Betriebssystemen unterstützt: [[Microsoft Windows|Windows]] beispielsweise bricht den Startvorgang mit einem Fehler ab, [[Linux]] hingegen kann auch im BIOS- oder CSM-Modus auf GPT-Partitionen installiert und genutzt werden. |
||
== Marktdurchdringung == |
== Marktdurchdringung == |
||
Die Etablierung des Extensible Firmware Interface als |
Die Etablierung des Extensible Firmware Interface als Ersatz für das BIOS scheiterte im PC-Bereich zunächst am Widerstand von Computer- und BIOS-Herstellern. Nur Apple verwendete ab dem Einstieg in den x86-Markt mit [[Macintosh-Modelle|Macs]] auf Intel-Basis – [[Intel-Mac]]s – ausschließlich EFI. |
||
Im Februar 2008 sollte das erste „normale“ x86-Mainboard (P35 Neo3 von [[Micro-Star International|MSI]]), welches auf dem [[Intel-3-Serie|P35]]-Chipsatz von Intel basiert, mit EFI erscheinen.<ref>{{Internetquelle |autor=Thomas Hübner |url=https://www.computerbase.de/2008-01/msi-beerdigt-das-bios-mit-dem-p35-neo3/ |titel=MSI beerdigt das BIOS mit dem P35 Neo3 |abruf=2020-12-04 |sprache=de}}</ref> Erschienen ist es jedoch nie. MSI plante allerdings die Markteinführung von EFI für [[Intel-4-Serie|P45]]-Boards im Juli 2008.<ref>[https://www.computerbase.de/2008-05/msi-bringt-efi-auf-p45-boards-im-juli/ ComputerBase: MSI bringt EFI auf P45-Boards im Juli]</ref> Anders als diese Nachrichten vermuten ließen, hat MSI die Veröffentlichung eines Mainboards mit EFI-Installation nicht vom Werk aus geplant, sondern hat für die dort genannten Mainboards ein EFI als öffentliche [[Beta-Version|Beta-]], also Testversion, herausgebracht.<ref>{{Webarchiv|url=http://eu.msi.com/html/popup/MB/uefi/about.html |wayback=20090815235940 |text=What is UEFI BIOS}}</ref> Im Jahr 2009 haben sich verschiedene Hersteller zu UEFI bekannt (u. a. [[Insyde]], [[Intel]] und [[Phoenix Technologies|Phoenix]]). Als Grund hierfür kann die [[x64|x86-64]]-Kompatibilität und die verkürzte Ladezeit des jeweiligen Systems angeführt werden.<ref>[https://www.heise.de/newsticker/meldung/IDF-Notebook-Firmware-bootet-kuerzer-als-1-Sekunde-790212.html Intel-Entwicklerforum: Notebook-Firmware bootet kürzer als 1 Sekunde] heise.de, 29. September 2009</ref> Ende 2010 lieferte Hersteller [[Asus]] erste Mainboards für den [[Sockel 1155]] mit EFI.<ref>{{cite web |url=http://www.bit-tech.net/hardware/motherboards/2010/11/16/asus-lga1155-motherboard-preview/1 |title=Asus LGA1155 Motherboard Preview |date=2010-11-16 |publisher=bit-tech.net |accessdate=2011-03-28}}</ref> |
|||
EFI wird hauptsächlich von Intel gefördert und – mit Einschränkungen – auch von [[Microsoft]]. |
EFI wird hauptsächlich von Intel gefördert und – mit Einschränkungen – auch von [[Microsoft]]. [[Intel Itanium|Intels Itanium]]-Systeme liefen von Anfang an ausschließlich mit EFI. Zusammen mit Intel-[[Hauptprozessor]]en setzte [[Mac OS X#Mac OS X Tiger 10.4|ab 2006]] auch Apple das EFI ein. Windows-Versionen für [[Itanium-Architektur|IA-64]]-Server mit EFI gibt es seit [[Windows 2000#64-Bit-Version von Windows 2000|Windows 2000]]. Windows Vista (x64) unterstützt seit SP1 UEFI 2.0, ebenso Windows Server 2008 (gleiche Entwicklungsgrundlage wie Vista mit SP1), aber nicht den älteren EFI-Standard 1.3, der bis ca. 2012 auf Intel-Macs verwendet wurde.<ref>[https://www.heise.de/newsticker/meldung/Windows-Vista-Service-Pack-1-ist-fertig-186592.html Windows Vista Service Pack 1 ist fertig] heise.de, am 4. Februar 2008</ref> Ab 2013 wurde Apple-EFI mehr oder weniger zu UEFI 2.0 kompatibel,<ref>{{Internetquelle |autor=Livewings |url=https://forums.macrumors.com/threads/macbook-air-2013-is-the-first-mac-that-supports-efi-booting-on-windows-natively.1600147/ |titel=MacBook Air 2013 is the first Mac that supports EFI booting on Windows natively |werk=MacRumors |hrsg= |datum=2013-06-21 |format=[[Internetforum]] |sprache=en |abruf=2022-10-18 |kommentar=Ab ca. 2013 sind Intel-Mac großteils kompatibel zu UEFI 2.0.}}</ref><ref>{{Internetquelle |autor=Loner T |url=https://discussions.apple.com/thread/7157570?answerId=28672820022#28672820022 |titel=Windows 10 UEFI Driver Compatibility |werk=Apple Community Discussions |hrsg=[[Apple]] |datum=2015-08-03 |format=Internetforum |sprache=en |abruf=2022-10-18 |zitat=Macs prior to Late 2013 have used EFI 1.1.}}</ref> allerdings hatte Apple schon ab ca. Ende 2008 bei der Grafikschnittstelle (EFI-[[Framebuffer]]) UEFI-2.0-Kompatibilität hergestellt.<ref>{{Internetquelle |autor=Christoph Pfisterer |url=https://refit.sourceforge.net/info/apple_efi.html |titel=A Brief History of Apple and EFI |werk=rEFIt |hrsg=SourceForge |datum=2008-12-29 |sprache=en |abruf=2022-10-18 |kommentar= |zitat=“Late 2008” Models – These models used an NVIDIA chipset with integrated graphics. The firmware was 64 bit like in the Santa Rosa models, and also still identified itself as EFI 1.10. However, Apple started mixing EFI 1.10 and UEFI 2.x features on these models.}}</ref> |
||
== Betriebssysteme == |
== Betriebssysteme == |
||
Bei den meisten Betriebssystemen kann ein 64-Bit-[[Kernel (Betriebssystem)|Kernel]] nur 64-Bit-Treiber, inklusive (U)EFI-Treiber, verwenden, sowie ein 32-Bit-Kernel nur Treiber, die ebenfalls in 32-Bit vorliegen. Daher ergibt sich oft, dass aus einer 32-Bit-(U)EFI-Firmware nur ein 32-Bit-Betriebssystem gestartet und aus einer 64-Bit-(U)EFI-Firmware nur ein 64-Bit-Betriebssystem gestartet werden kann (z. B. bei Microsoft Windows und den meisten Linux-Distributionen). Dennoch verhindert ein 32/64-Bit-(U)EFI nicht prinzipiell den Start eines 64/32-Bit-Betriebssystems; beispielsweise beherrscht der Bootloader der verbreiteten Linux-Distribution Fedora den Start eines 64-Bit-Linux auf einem System mit lediglich 32-Bit-UEFI. |
|||
⚫ | |||
=== Itanium (IA-64) === |
|||
⚫ | Die [[Itanium-Architektur]] von Intel und HP, auch unter der Abkürzung IA-64 („{{lang|en|Intel Architecture}} 64-Bit“) bekannt, war die erste Computer-Architektur, auf der EFI als Firmware eingesetzt wurde. Daher unterstützen Betriebssysteme, die auf Itanium-Rechnern laufen, zumindest den Teil, der zum Laden des Betriebssystems selbst zum Einsatz kommt. Darunter fallen die IA-64-Versionen von [[FreeBSD]], [[HP-UX]], [[Linux]], [[NetBSD]], [[OpenVMS]] und [[Microsoft Windows|Windows]] ([[Microsoft Windows 2000|Windows 2000]] bis [[Microsoft Windows Server 2008 R2|Server 2008 R2]]). |
||
=== {{Anker|x86|IA-32|x64}}x86 (IA-32, x64) === |
|||
Die [[x86-Architektur]] wurde von Intel [[retronym]] als [[IA-32]] bezeichnet, was für „{{lang|en|Intel Architecture}} 32-Bit“ steht. Allerdings wurde die [[Befehlssatzarchitektur|Architektur]] mit der [[x64]]-[[Befehlssatz]]erweiterung 2003 ebenfalls zur 64-Bit-Architektur. |
|||
{{Siehe auch|x86-Architektur#Nomenklatur}} |
|||
==== Windows ==== |
==== Windows ==== |
||
⚫ | Für Endanwender unterstützt Windows (U)EFI vor allem in den 64-Bit-Varianten ab Windows Vista mit integriertem Service Pack 1 bzw. Windows Server 2008; einige Windows-32-Bit-Versionen unterstützen auch UEFI-32-Bit.<ref>http://www.microsoft.com/whdc/system/platform/firmware/UEFI_Windows.mspx</ref> |
||
Seit Windows 2000 gibt es Versionen von Windows für die [[IA64]] Architektur. Da EFI ein zwingender Bestandteil dieser Plattform ist, unterstützt jede IA64-Version von Windows somit auch EFI. |
|||
⚫ | Für den [[Microsoft Windows 7|Windows-7]]-Nachfolger [[Windows 8]] wird UEFI 2.x empfohlen. Systeme mit Systemplatten größer als 2 Terabyte und Systeme mit Arm-Prozessor benötigen UEFI zwingend.<ref>[https://www.heise.de/newsticker/meldung/Abschied-vom-PC-BIOS-1254437.html Abschied vom PC-BIOS] – Meldung bei der ''[[C’t]]'', vom 3. Juni 2011</ref> |
||
⚫ | |||
⚫ | Alle Windows-Versionen vor Vista für die x86-Architektur funktionieren nur dann auf (U)EFI-Mainboards, wenn eine BIOS-Kompatibilitätsschicht (CSM) vorhanden ist. Diese wurde auch z. B. von Macintosh-Computern mit Intel-Prozessor, „[[Intel-Mac]]s“ (ab 2006), bereitgestellt, ist aber auch Bestandteil der meisten aktuellen UEFI-Implementierungen auf PC-Mainboards bis 2020.<ref>https://shop.heise.de/katalog/neuer-untersatz</ref><ref>https://shop.heise.de/katalog/maskierte-ablosung</ref> |
||
⚫ | Für den [[Microsoft Windows 7|Windows-7]]-Nachfolger [[Windows |
||
Welche Firmware aktuell läuft, lässt sich mit dem Befehl <code>%windir%\system32\[[Boot Configuration Data|bcde]]dit</code> als Admin abfragen. |
|||
⚫ | Alle |
||
==== Linux ==== |
==== Linux ==== |
||
EFI wird auch von [[Linux]] unterstützt. Der stabile Zweig des Linux-Kernels bietet |
EFI wird auch von [[Linux]] unterstützt. Der stabile Zweig des Linux-Kernels bietet ab Version 2.6.25 (2008) auch für die x86-Architektur Unterstützung für EFI.<ref>heise open: ''[https://www.heise.de/ct/artikel/Verbesserungen-allerorten-Die-Neuerungen-von-Linux-2-6-25-221493.html Kernel 2.6.25 unterstützt nun auch auf der x86-Architektur den designierten BIOS-Nachfolger EFI]''</ref> |
||
Seit dem Erscheinen der ersten Itanium-Systeme entwickelt [[Hewlett-Packard|HP]] den Bootloader ''[[elilo]]''. Dieser |
Seit dem Erscheinen der ersten Itanium-Systeme entwickelt [[Hewlett-Packard|HP]] den Bootloader ''[[elilo]]''. Dieser war zwar anfänglich nur für IA-64 (Itanium) ausgelegt, wurde dann aber auch auf IA-32 (x86) und x86-64 (x64) portiert. [[Grand Unified Bootloader|GRUB 2]] unterstützt EFI-PCs ebenfalls. |
||
[[Fedora (Linux-Distribution)|Fedora]] unterstützt ab Version 17 EFI in der Installation und richtet das System entsprechend ein, um mit EFI arbeiten zu können. [[Debian]] unterstützt EFI |
[[Fedora (Linux-Distribution)|Fedora]] unterstützt ab Version 17 EFI in der Installation und richtet das System entsprechend ein, um mit EFI arbeiten zu können. [[Debian]] unterstützt EFI ab Version 7.0 ''Wheezy'' mit einem eigenen Bootloader. Der Fedora-Bootloader kann auf einem 64-Bit-fähigen System mit lediglich 32-Bit-UEFI dennoch ein 64-Bit-Linux installieren und starten,<ref name="fedora64on32uefi">Fedora x64 auf 32-Bit-UEFI: C’t Nr. 23/2018 S. 144</ref> was die meisten anderen Linux-Distributionen nicht beherrschen.<ref name="heiseonline_4486560">{{Heise online |ID=4486560 |Titel=Linux Mint 19.2 veröffentlicht: Viel Feintuning und schnellerer Desktop |Autor=Liane M. Dubowy |Datum=2019-08-01 |Abruf=2020-03-12 |Zitat=Das ISO-Image gibt es sowohl für 32- als auch 64-Bit-x86-Systeme. Nur letzteres bootet auch mit UEFI.}}</ref> |
||
==== OS X ==== |
==== {{Anker|macOS|OS X|Mac OS X}}macOS (Mac OS X) ==== |
||
Die im Januar 2006 vorgestellten und alle nachfolgenden [[ |
Die im Januar 2006 vorgestellten und alle nachfolgenden Apple-[[Macintosh]]-Rechner mit [[macOS]] (das ursprünglich „Mac OS X“ und von 2012 bis 2016 „OS X“ hieß), die auf [[x86-Prozessor]]en von Intel basieren, verwenden EFI als Firmware.<ref>{{Webarchiv | url=http://developer.apple.com/documentation/MacOSX/Conceptual/universal_binary/universal_binary_diffs/chapter_3_section_10.html | wayback=20090103143738 | text=}}</ref> Damit sind sie – zusammen mit einigen Media-Center-PCs wie etwa dem Gateway 610 aus dem Jahr 2003 – die ersten EFI-basierten Massenmarktcomputer. Die ausschließliche Nutzung des EFI ohne die optionale BIOS-Kompatibilitätsschicht CSM verhinderte zunächst das Booten von Windows XP auf Intel-basierten Macintosh-Rechnern. Bald wurde aber durch das Projekt ''xom'' eine BIOS-Emulation implementiert, die das Starten von Windows ermöglichte. |
||
Apple rüstete den „BIOS Layer“ nach einigen Monaten durch eine Firmware-Aktualisierung nach und bot bis Mitte Oktober 2007 eine kostenlose, „[[Boot Camp (Software)|Boot Camp]]“ genannte Lösung an, die es |
Apple rüstete den „BIOS Layer“ (CSM) nach einigen Monaten durch eine Firmware-Aktualisierung nach und bot bis Mitte Oktober 2007 eine kostenlose, „[[Boot Camp (Software)|Boot Camp]]“ genannte Lösung an, die es ermöglichte, Mac OS X und Windows XP auf zwei [[Partition (Datenträger)|Partitionen]] desselben Rechners zu installieren und durch Neustart ([[Booten]]) zwischen den Betriebssystem hin- und herzuwechseln („[[Dual-Boot-System|Dualboot]]-Lösung“). Seit Erscheinen von [[Mac OS X Leopard]] (10.5, 2007) ist Boot Camp standardmäßig auf allen Intel-Macs vorinstalliert. Die [[Beta-Version]] von Boot Camp, die auch auf [[Mac OS X Tiger]] (10.4, 2005) lief, ist inzwischen offiziell nicht mehr verfügbar.<!-- Notiz: Boot Camp 1.4 Beta lässt sich installieren, wenn das Datum auf 2007 zurückgestellt wird. Es wird außerdem nur Windows XP SP2 und Vista (32-Bit-x86) unterstützt. Nach der Installation von Boot Camp und Windows lässt sich der Mac wie vorgesehen im Dual-Boot nutzen, auch heute noch und mit korrekt gesetztem Datum. --> |
||
Mit [[EFi-X]] erschien im Sommer 2008 nachrüstbare Firmware für PCs, mit der die Installation von OS |
Mit [[EFi-X]] erschien im Sommer 2008 nachrüstbare Firmware für PCs, mit der die Installation von OS X von einer unmodifizierten, handelsüblichen Original-DVD auf ausgewählter Hardware anderer Hersteller ermöglicht wird, die sich hauptsächlich aus einer Kombination von [[Gigabyte Technology|Gigabyte]]-Hauptplatinen mit bestimmten [[Nvidia]]- und [[ATI Technologies|ATI]]-Grafikkarten zusammensetzt. Die ''EFi-X''-Firmware ist dabei auf einem USB-Dongle untergebracht, der auf einen internen USB-Steckplatz der Hauptplatine gesteckt wird. Beim Systemstart werden daraufhin eine EFI-Emulation und ein „Multiboot-Manager“ geladen, über den neben OS X auch Windows XP, Vista oder Linux gestartet werden können.<ref>http://www.efi-x.com/index.php?option=com_content&view=article&id=23&language=english efi-x.com Produktinfo</ref> |
||
Mittlerweile gibt es auch den Bootloader ''Chameleon'',<ref>[http://chameleon.osx86.hu/ Chameleon]</ref> mit dem der |
Mittlerweile gibt es auch den Bootloader ''Chameleon'',<ref>[http://chameleon.osx86.hu/ Chameleon]</ref> mit dem der macOS-[[Kernel (Betriebssystem)|Kernel]] direkt geladen werden kann, oder ''Clover'',<ref>[http://sourceforge.net/projects/cloverefiboot/ Clover EFI bootloader]</ref> welcher ein [[Macintosh]]-EFI vollständig softwareseitig emuliert. |
||
Ebenso gibt es |
Ebenso gibt es ''Ozmosis''-Firmware, die einen Plattform-Treiber für macOS darstellt. Ein Dual-BIOS wie auf Gigabyte-Mainboards wird empfohlen, da dort die Gefahr des „[[Brick (Elektronik)|Brickens]]“ minimiert ist. macOS lässt sich von einem solchen PC direkt starten. |
||
Mac OS lässt sich von einem solchen PC direkt starten. |
|||
⚫ | |||
⚫ | |||
== Kritik == |
== Kritik == |
||
EFI wurde dafür kritisiert, mehr Komplexität ins System zu bringen, ohne nennenswerte Vorteile zu bieten,<ref name="kt_linus">{{Webarchiv | url=http://kerneltrap.org/node/6884 | wayback=20061008040204 | text=}}</ref> und das vollständige Ersetzen |
EFI wurde dafür kritisiert, mehr Komplexität ins System zu bringen, ohne nennenswerte Vorteile zu bieten,<ref name="kt_linus">{{Webarchiv | url=http://kerneltrap.org/node/6884 | wayback=20061008040204 | text=}}</ref> und das vollständige Ersetzen durch Open-Source-Alternativen wie [[OpenBIOS]] oder [[coreboot]] unmöglich zu machen.<ref>[http://archive.fosdem.org/2007/interview/ronald+g+minnich.html Interview: Ronald G Minnich]</ref> Es löse nicht eines der langjährigen Probleme des BIOS – nämlich, dass die meiste Hardware zwei unterschiedliche Treiber benötigt.<ref name="gtt_coreboot">{{YouTube | uploader=Google TechTalks | id=X72LgcMpM9k | title=coreboot (aka LinuxBIOS): The Free/Open-Source x86 Firmware | upload=2008-10-31 | abruf=2024-02-25 | laufzeit=65:39 min}}</ref> Es sei nicht klar, warum es nützlich sein soll, zwei komplett unterschiedliche Betriebssysteme gleichzeitig in Betrieb zu haben, die im Grunde dieselben Aufgaben erledigen, oder warum ein neues Betriebssystem von Grund auf neu geschrieben werden müsste.<ref name="gtt_coreboot" /> |
||
⚫ | EFI gilt einem Entwickler von coreboot zufolge in sicherheitskritischen Einsatzumgebungen – wie etwa in Banken – als ein mögliches Sicherheitsrisiko, da etwa mit dem implementierten Netzwerkstack die theoretische Möglichkeit bestünde, Daten unbemerkt vom Betriebssystem an eine beliebige Adresse zu senden. Der eigene Netzwerkstack für TCP/IP, der „unterhalb“ vom Betriebssystem direkt und unabhängig auf der Hauptplatine läuft, ermöglicht es, das System zu manipulieren, zu infizieren oder zu überwachen, ohne dass man es betriebssystemseitig kontrollieren oder einschränken könnte. Auch für [[Digitale Rechteverwaltung|DRM]]-Zwecke könnte EFI benutzt werden, um etwa den I/O-Datenstrom auf digitale Wasserzeichen hin zu überwachen. Aus diesen Gründen plädieren einige Anwender für ein quelloffenes System wie coreboot (ehemals ''LinuxBIOS'').<ref name="kt_linus" /><ref>{{YouTube | uploader=GeekVideo | id=QsW88Efgmlk | title=LinuxBIOS - building a BIOS for fun and not-profit | upload=2007-05-18 | abruf=2024-02-25 | laufzeit=4:39 min}}</ref><ref>{{Webarchiv | url=http://blog.thesilentnumber.me/2009/01/efi-hidden-threat-to-computing-freedom.html | wayback=20150110201608 | text=}}</ref> |
||
=== Programm- und Implementierungsfehler === |
|||
{{Belege fehlen|Welcher Entwickler? Quelle?}} |
|||
⚫ | Fehlerhafte Implementationen von UEFI haben bei mehreren Herstellern zu irreparablen Schäden an Systemen geführt. Im Juni 2013 wurden Notebooks von [[Samsung]] beim Bootvorgang mit [[Linux]] eingefroren, sobald das Betriebssystem schreibend auf die UEFI-Firmware zugriff. Das Mainboard wurde dadurch [[Brick (Elektronik)|unlösbar blockiert]].<ref>c’t: [https://www.heise.de/ct/ausgabe/2013-6-UEFI-Funktionen-schuld-an-Notebook-Defekten-2326650.html Firmware-Schaden], 6/2013</ref> Anfang 2014 trat das gleiche Problem bei Geräten von [[Lenovo]] auf sowie Ende 2015 bei Geräten von [[Asus]].<ref>heise.de: [https://www.heise.de/newsticker/meldung/Fehlerhafte-UEFI-Firmware-Linux-killt-Thinkpads-2106149.html Fehlerhafte UEFI-Firmware: Linux killt Thinkpads], 5. Februar 2014</ref><ref>superuser.com: [https://superuser.com/questions/982541/uefi-implementation-issue-can-lead-to-a-hard-brick-asus-zenbook-ux303la-r434 UEFI-Implementation-Issue (can lead to a hard-brick) – ASUS Zenbook UX303LA-R4342H] (englisch), 5. Oktober 2015</ref> |
||
⚫ | EFI gilt einem Entwickler von coreboot zufolge in sicherheitskritischen Einsatzumgebungen – wie etwa in Banken – als ein mögliches Sicherheitsrisiko, da etwa mit dem implementierten Netzwerkstack die theoretische Möglichkeit bestünde, Daten unbemerkt vom Betriebssystem an eine beliebige Adresse zu senden. Der eigene Netzwerkstack für TCP/IP, der „unterhalb“ vom Betriebssystem direkt und unabhängig auf der Hauptplatine läuft, ermöglicht es, das System zu manipulieren, zu infizieren oder zu überwachen, ohne dass man es betriebssystemseitig kontrollieren oder einschränken könnte. Auch für [[Digitale Rechteverwaltung|DRM]]-Zwecke könnte EFI benutzt werden, um etwa den I/O-Datenstrom auf digitale Wasserzeichen hin zu überwachen. Aus diesen Gründen plädieren einige Anwender für ein quelloffenes System wie coreboot (ehemals ''LinuxBIOS'').<ref name="kt_linus" /><ref> |
||
=== Sicherheitslücken === |
|||
⚫ | Fehlerhafte Implementationen von UEFI haben bei mehreren Herstellern zu irreparablen Schäden an Systemen geführt. Im Juni 2013 wurden Notebooks von [[Samsung]] beim Bootvorgang mit [[Linux]] eingefroren, sobald das Betriebssystem schreibend auf die UEFI-Firmware zugriff. Das Mainboard wurde dadurch [[Brick (Elektronik)|unlösbar |
||
Da im Unterschied zum [[BIOS (IBM PC)|traditionellen BIOS]] und manchen konkurrierenden Ansätzen UEFI eine Netzwerkimplementierung enthält, von der ein Teil (das ''{{lang|en|Driver eXecution Environment Runtime}}'', DXERuntime) im Hintergrund aktiv bleibt, während am Computer bereits das Betriebssystem läuft, besteht ein zusätzliches Risiko, von Schadsoftware angegriffen zu werden. Es gibt dokumentierte Fälle, in denen Programmierfehler oder Fehler beim Paketieren der EFI-Software zu Schwachstellen führten.<ref>[https://wiki.osdev.org/UEFI#UEFI_vs._legacy_BIOS UEFI vs. legacy BIOS], osdev.org, zugegriffen 2022-10-10.</ref><ref>{{Internetquelle |url=https://www.elektronik-kompendium.de/sites/com/0901081.htm |titel=UEFI – Unified Extensible Firmware Interface |werk=Elektronik-Kompendium.de |abruf=2020-03-14 |zitat=(Abschnitt: BIOS und UEFI) Die Begriffe UEFI-Firmware und BIOS werden synonym verwendet. Obwohl ein Motherboard eine UEFI-Firmware besitzt spricht man vom BIOS-Setup, wenn man Einstellungen verändern will.}}</ref><ref>[https://hackaday.com/2021/11/30/whats-the-deal-with-uefi/ What’s The Deal With UEFI?], Matthew Carlson, hackaday.com, 2021-11-30.</ref><ref>[https://www.bleepingcomputer.com/news/security/lenovo-uefi-firmware-driver-bugs-affect-over-100-laptop-models/ Lenovo UEFI firmware driver bugs affect over 100 laptop models], bleepingcomputer, 2022-04-19.</ref><ref>[https://www.bleepingcomputer.com/news/security/cosmicstrand-uefi-malware-found-in-gigabyte-asus-motherboards/ CosmicStrand UEFI malware found in Gigabyte, ASUS motherboards], BLEEPINGCOMPUTER, Ionut Ilascu, 2022-05-25.</ref><ref>[https://www.bleepingcomputer.com/news/security/apt28-uses-lojax-first-uefi-rootkit-seen-in-the-wild/ APT28 Uses LoJax, First UEFI Rootkit Seen in the Wild], BLEEPINGCOMPUTER, Ionut Ilascu, 2018-09-27.</ref> Auch der ''{{lang|en|[[System Management Mode]]}}'' (SMM) kann bei Programmfehlern im UEFI zur Installation von Schadsoftware genutzt werden („BIOS-[[Rootkit]]s“).<ref name="heiseonline_6346108">{{Heise online |ID=6346108 |Titel=Updates notwendig: Sicherheitslücken im UEFI-BIOS erleichtern Rootkitverankerung |Autor=Mark Mantel |Datum=2022-02-02 |Abruf=2022-10-10 |Zitat=Die Sicherheitslücken betreffen insbesondere den schon oft mit schweren Schwachstellen aufgefallenen System Management Mode (SMM) und lassen sich dazu ausnutzen, manipulierte Firmware im System zu verankern, beispielsweise in Form von BIOS-Rootkits.}}</ref> Zur Absicherungen gegen gefundene Sicherheitslücken ist man allerdings darauf angewiesen, dass der Hersteller auch Updates bereitstellt, was nicht immer zeitnah geschieht.<ref name="heiseonline_2430455">{{Heise online |ID=2430455 |Titel=Kommentar zur UEFI-Lücke: Sie lernen es einfach nicht |Autor=Christof Windeck |Datum=2014-10-13 |Abruf=2022-10-10 |Zitat=Wo bleiben die Updates? – Wir Endnutzer können aber Probleme wie dieses nicht selbst lösen, sondern sind auf Unterstützung der Hersteller angewiesen – in diesem Fall auf Firmware-Updates. Diese sind offensichtlich für viele betroffene Systeme nicht verfügbar. Wie ist das möglich, wenn etwa AMI laut MITRE seit Monaten von dem Problem weiß?}}</ref><ref name="heiseonline_2442775">{{Heise online |ID=2442775 |Titel=Mehr Updates gegen die UEFI-Sicherheitslücke |Autor=Christof Windeck |Datum=2014-11-05 |Abruf=2022-10-10 |Kommentar=3. Update}}</ref> |
|||
== Weblinks == |
== Weblinks == |
||
{{Commonscat|Extensible Firmware Interface}} |
{{Commonscat|Extensible Firmware Interface}} |
||
* [http://www.uefi.org/ Website des UEFI Forum] (englisch) |
* [http://www.uefi.org/ Website des UEFI Forum] (englisch) |
||
* [http://support.microsoft.com/kb/303956/en-us Description of Extensible Firmware Interface] auf den Seiten von [[Microsoft]] (englisch) |
|||
* [http://www.openfirmware.org/ Open Firmware (IEEE-1275 Standard) Website] der ''Open Firmware Working Group'' (englisch) |
* [http://www.openfirmware.org/ Open Firmware (IEEE-1275 Standard) Website] der ''Open Firmware Working Group'' (englisch) |
||
* [http://www.wintotal.de/uefi-der-bios-nachfolger-grundlagen-und-hilfestellung/ Artikel WinTotal: UEFI – der BIOS-Nachfolger: Grundlagen und Hilfestellung] |
* [http://www.wintotal.de/uefi-der-bios-nachfolger-grundlagen-und-hilfestellung/ Artikel WinTotal: UEFI – der BIOS-Nachfolger: Grundlagen und Hilfestellung] |
Aktuelle Version vom 8. Mai 2025, 14:06 Uhr
Das Unified Extensible Firmware Interface (kurz UEFI, englisch für einheitliche erweiterbare Firmware-Schnittstelle[1]) ist eine von Intel 1998 veröffentlichte Schnittstellen-Definition für Computer-Firmware, für die Intel zugleich eine Referenzimplementierung vorstellte. Ursprünglich wurde die von Intel für die 64-Bit-Itanium-Architektur entwickelte Firmware als Extensible Firmware Interface, kurz EFI, bezeichnet. UEFI hat sich als Nachfolger des BIOS etabliert und bildet als solches die zentrale Schnittstelle zwischen der Plattform-Firmware und dem Betriebssystem.
Dadurch, dass UEFI-Firmware auf IBM-PC-kompatiblen Computern die bisherige Firmware – das BIOS – abgelöst hat, wird UEFI auch oft als „UEFI-BIOS“ sowie dessen Firmware-Setup auch (weiterhin) oft als „BIOS-Setup“ bezeichnet.[2]
Wesentliche Merkmale von UEFI sind die Nutzung der GUID-Partitionstabelle, die zum vom BIOS genutzten Master Boot Record teil-kompatibel bleibt, Framebuffer-basierte Grafikunterstützung, Netzwerkfunktionalität, sowie seit UEFI-Version 2.3.1, Secure Boot, eine Funktion, die das Booten auf vorher signierte Bootloader beschränkt und so Schadsoftware oder andere unerwünschte Programme hindern soll, zu starten.

Merkmale
[Bearbeiten | Quelltext bearbeiten]Im Gegensatz zu dem alten PC-BIOS enthält UEFI Schnittstellen und Datentabellen mit Plattforminformationen sowie Boot- und Laufzeitdienste, die dem Betriebssystemlader und in Folge dem Betriebssystem zur Verfügung stehen. Die UEFI-Firmware bietet verschiedene technische Vorteile gegenüber dem BIOS-System:
- UEFI ist unabhängig vom Typ der CPU, und es können damit verschiedene Arten von Systemen, unter anderem Arm-Architektur und x64, gebootet werden.
- Es können große Festplatten mit über 2 TB mit einer im Rahmen von UEFI eingeführten GUID-Partitionstabelle (GPT) verwendet werden.[3]
- Alle Daten und Programme für UEFI werden in Form von herkömmlichen Dateien in einer eigenen VFAT-Partition gehalten. Im Gegensatz zum BIOS braucht UEFI keine Daten oder Treiber wie den Betriebssystemlader in bestimmten fixen und unveränderlichen Speicherbereichen wie dem Master Boot Record (MBR).
- UEFI ist netzwerkfähig. Im Gegensatz zum älteren BIOS-Standard Preboot Execution Environment (PXE), der im BIOS der Netzwerkkarte entsprechende Treiber benötigt, ist UEFI selbst netzwerkfähig und erlaubt, angelehnt an die Verfahren wie bei PXE, direkt das Booten über Netzwerk.
- Generell modulares, erweiterbares Design in den Strukturen. Beispielsweise kann man eine der Unix-Shell ähnliche UEFI-Shell im Rahmen des Bootvorganges aufrufen.
- Im UEFI-Standard sind Verfahren festgelegt, wie bestimmte Daten, beispielsweise die Boot-Reihenfolge von verschiedenen Medien, im NVRAM permanent gespeichert werden.
Geschichte
[Bearbeiten | Quelltext bearbeiten]Maßgeblich für die Neuentwicklung EFI war eine Initiative von Intel, um einen Ersatz für das BIOS zur Verwendung auf der Itanium-Architektur (Intel Architecture 64-Bit, kurz IA-64) zu finden. In dem 1998 gegründeten Intel Boot Initiative (IBI)-Programm wurde die Idee spezifiziert.
Unified EFI (UEFI)
[Bearbeiten | Quelltext bearbeiten]
Zur Werbung und Weiterentwicklung von EFI wurde 2005 das Unified EFI Forum gegründet. Daran sind außer Intel auch AMD, Microsoft, Hewlett-Packard und viele andere PC- und BIOS-Hersteller beteiligt, sodass die nun als Unified EFI (UEFI) bezeichnete Schnittstelle nicht mehr allein von Intel festgelegt wird. Im Januar 2006 wurde die Version 2.0 der EFI-Spezifikation und deren Quelltext bereits als UEFI freigegeben.
Der Unterschied zwischen EFI und UEFI ist daher nur der Name: vor Version 2.0 hieß die Firmware „EFI“, ab Version 2.0 ist die korrekte Bezeichnung „UEFI“.
BIOS-Nachfolger
[Bearbeiten | Quelltext bearbeiten]Das ursprüngliche PC-BIOS erschien 1981 mit dem ersten IBM PC. Mit Fortschreiten der Entwicklung der IBM-PC-kompatiblen Computer wurde es trotz ständiger Erweiterungen den Anforderungen moderner Hardware und Betriebssysteme nicht mehr gerecht. Insbesondere ist es weder 32-Bit- noch 64-Bit-tauglich im Bezug auf Treiber. Zu Beginn der 2000er Jahre erschienen weitere Provisorien zum Ausgleich dieser Makel den Hardware-Herstellern (wie Intel oder AMD) nicht mehr tragbar.
Auf die x86-Architektur kam EFI in etwa zur selben Zeit wie die Befehlssatzerweiterung „x64“ bzw. „x86-64“, mit der die damals 32-Bit-x86-Architektur „IA-32“ ebenfalls zu einer 64-Bit-Architektur wurde. Dennoch wurde EFI anfänglich nur als 32-Bit-Firmware implementiert, u. a. bei Intel-Macs von Apple, die ab 2006 EFI-Version 1.10 als Firmware nutzten. Ab UEFI 2.0 gibt es offiziell eine 64-Bit-Implementierung auf x86.[4]
Um auf x86-Systemen zu bestehender Software kompatibel zu bleiben, war mit dem Compatibility Support Module, kurz CSM, eine BIOS-Kompatibilitätsschicht integriert. Seit ca. 2010 löste UEFI schrittweise das BIOS ab,[5] welches daher auch als Legacy[6][7] (dt.: Erbe/Hinterlassenschaft/Altlast) bezeichnet wurde. Seit 2020 wird das CSM, der BIOS-Kompatibilitäts-Modus, von den Herstellern weggelassen.[8][9]
Der eigentliche Nachfolger für das BIOS ist der Firmware Foundation Code, der zu den Bedingungen der CPL (Common Public License) freigegeben wird und das Extensible Firmware Interface implementiert.[10]
Secure Boot
[Bearbeiten | Quelltext bearbeiten]Mit der Einführung von Windows 8 im Jahr 2012 wurde das UEFI in der Version 2.3.1 mit einem „Secure Boot“-Mechanismus verstärkt eingeführt, der das Booten auf vorher signierte Bootloader beschränkt: Secure Boot ermöglicht den gesicherten Anfang einer unterbrechungsfreien „Vertrauens-Kette“ von der Hardware-Firmware bis zur Benutzeranwendung. Das erhöht die Sicherheit beim Systemstart u. a. weil es Schadsoftware, der die passenden Signaturen fehlen, im Grundsatz nicht mehr möglich ist, in den Boot-Prozess einzugreifen, es verhindert jedoch nicht, dass jedes Kettenglied auch „nicht-vertrauenswürdige“ Software nachladen kann. Beispielsweise existiert mit Shim ein von Microsoft signierter Bootloader, der einen nicht zertifizierten GRUB und über diesen beliebige andere Binaries nachladen kann.
Notwendig wurde Shim, da viele Hersteller von Hauptplatinen in ihren UEFI-Implementierungen ausschließlich Signaturen für Microsoft-Produkte mitliefern und die Installation benutzereigener Signaturen auf ihrer Hardware, z. B. für die Installation eines Linux-Kernels, nicht oder zumindest nicht allein mit den UEFI-Bordmitteln möglich ist. Da die Microsoft-Signaturen in nahezu allen real verfügbaren UEFI-Implementierungen vorhanden sind, nutzen praktisch alle aktuellen Linux-Distributionen Shim, um auf Rechnern mit aktiviertem Secure Boot zu starten.
Wie Forscher der Mitre Corporation Mitte 2014 bekannt gegeben haben, weist die Intel-Referenzimplementierung von UEFI zudem eine Sicherheitslücke auf, die das dauerhafte Einschleusen von Malware ermöglicht. Genutzt wird hierfür eine fehlerhafte Update-Funktion, durch die es zu Integer-Overflows kommt und Schadcode ausführbar macht. Viele verwenden den Code der Intel-Referenzimplementierung als Basis für ihr UEFI.[11]
2016 wurde außerdem eine Sicherheitslücke im Microsoft-Bootloader bekannt, die eine Umgehung des Schutzes ermöglichte.[12][13]
UEFI Security Response Team (USRT)
[Bearbeiten | Quelltext bearbeiten]Im Jahr 2017 wurde das UEFI Security Response Team (USRT) gegründet, das als Schnittstelle und Ansprechpartner zwischen IT-Sicherheitsleuten wie beispielsweise ethischen Hackern (engl. sogenannte „white hats“) und den Unternehmen dienen soll, die UEFI-basierte Hardware herstellen. Damit will man den Weg erleichtern und verkürzen, den jemand gehen muss, um die Industrie über eine Sicherheitslücke zu informieren, die er in UEFI gefunden hat, so dass letzten Endes auch die Industrie schneller mit Sicherheitspatches reagieren kann.[14]
Implementierungen
[Bearbeiten | Quelltext bearbeiten]Tianocore EDK2
[Bearbeiten | Quelltext bearbeiten]Mit TianoCore EDK2[15] steht eine Referenzimplementierung unter der BSD-Lizenz zur Verfügung. Diese basiert auf einer vorhergehenden Entwicklung von Intel.
Das U-Boot
[Bearbeiten | Quelltext bearbeiten]Im Universal Boot Loader (Das U-Boot) steht seit 2017[16] die UEFI-API zur Verfügung. Auf der Armv8-A-Architektur nutzen Linux-Distributionen die U-Boot-UEFI-Implementierung zusammen mit GNU GRUB zum Booten (z. B. SUSE Linux[17]). Auch OpenBSD[18] nutzt das UEFI-API, um von U-Boot zu starten.
Alternativen
[Bearbeiten | Quelltext bearbeiten]Für PowerPC- und SPARC-Rechner wurde 1994 auf Unix-Workstations und -Servern der plattform- und prozessorunabhängige Forth-basierte Industriestandard Open Firmware (IEEE-1275) spezifiziert. Wesentliche technische Vorteile von Intels Eigenentwicklung EFI gegenüber Open Firmware, abgesehen von wesentlich gesteigerter Ausführungsgeschwindigkeit (Vergleich zwischen Mac mit Open Firmware und Mac mit EFI des gleichen Jahrgangs), waren zu diesem Zeitpunkt nicht bekannt.
Eine weitere Alternative ist die unter der GPL-Lizenz stehende Firmware coreboot (ehemals LinuxBIOS). Coreboot ist ein Minimalsystem, das lediglich die Hardware soweit initialisiert, dass ein anderes Programm (ein sogenanntes Payload) aufgerufen werden kann, etwa ein Linux-Kernel, ein Bootloader wie GRUB, aber auch alternative Firmware wie ein BIOS (mittels SeaBIOS), Open Firmware oder ein UEFI (mittels TianoCore).
Darüber hinaus existieren, meist für Nischen, weitere Alternativen:
Techniken und Möglichkeiten
[Bearbeiten | Quelltext bearbeiten]
Die EFI-Schnittstelle soll die Nachteile des seit den 1980er Jahren verbreiteten BIOS beseitigen und neue Möglichkeiten 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
- optional in der Übergangszeit (zwischen 2010 und 2020) eine BIOS-Emulation durch das „Compatibility Support Module“ (CSM), zur Wahrung der Kompatibilität zu vorhandenen Betriebssystemen, die UEFI nicht unterstützen und ein BIOS voraussetzen[21]
- 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 Betriebssystem 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 anstatt auf dem Betriebssystem.
- Das EFI bietet eine Auswahlmöglichkeit für die auf dem System installierten Betriebssysteme und startet diese; damit sind (den Betriebssystemen vorgeschaltete) Bootloader überflüssig.
- Mit der GUID-Partitionstabelle „GPT“ (für GUID Partition Table) führt es einen flexibleren Nachfolger für auf dem Master Boot Record basierende Partitionstabellen ein. Die GUID-Partitionstabelle ist notwendig, um von einer Festplatte > 2 TB booten zu können bzw. Partitionen > 2 TB anlegen und verwalten zu können.
Obwohl GPT mit EFI eingeführt wurde, kann die Partitionstabelle auch von anderen Systemen verwendet werden. U. a. ist es auch mit dem PC-BIOS möglich, von einer GPT-partitionierten Festplatte zu starten, wenn ein geeigneter Bootloader (z. B. GRUB) installiert ist. Allerdings wird das nicht von vielen Betriebssystemen unterstützt: Windows beispielsweise bricht den Startvorgang mit einem Fehler ab, Linux hingegen kann auch im BIOS- oder CSM-Modus auf GPT-Partitionen installiert und genutzt werden.
Marktdurchdringung
[Bearbeiten | Quelltext bearbeiten]Die Etablierung des Extensible Firmware Interface als Ersatz für das BIOS scheiterte im PC-Bereich zunächst am Widerstand von Computer- und BIOS-Herstellern. Nur Apple verwendete ab dem Einstieg in den x86-Markt mit Macs auf Intel-Basis – Intel-Macs – ausschließlich EFI.
Im Februar 2008 sollte das erste „normale“ x86-Mainboard (P35 Neo3 von MSI), welches auf dem P35-Chipsatz von Intel basiert, mit EFI erscheinen.[22] Erschienen ist es jedoch nie. MSI plante allerdings die Markteinführung von EFI für P45-Boards im Juli 2008.[23] Anders als diese Nachrichten vermuten ließen, hat MSI die Veröffentlichung eines Mainboards mit EFI-Installation nicht vom Werk aus geplant, sondern hat für die dort genannten Mainboards ein EFI als öffentliche Beta-, also Testversion, herausgebracht.[24] Im Jahr 2009 haben sich verschiedene Hersteller zu UEFI bekannt (u. a. Insyde, Intel und Phoenix). Als Grund hierfür kann die x86-64-Kompatibilität und die verkürzte Ladezeit des jeweiligen Systems angeführt werden.[25] Ende 2010 lieferte Hersteller Asus erste Mainboards für den Sockel 1155 mit EFI.[26]
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. Zusammen mit Intel-Hauptprozessoren setzte ab 2006 auch Apple das EFI ein. Windows-Versionen für IA-64-Server mit EFI gibt es seit Windows 2000. Windows Vista (x64) unterstützt seit SP1 UEFI 2.0, ebenso Windows Server 2008 (gleiche Entwicklungsgrundlage wie Vista mit SP1), aber nicht den älteren EFI-Standard 1.3, der bis ca. 2012 auf Intel-Macs verwendet wurde.[27] Ab 2013 wurde Apple-EFI mehr oder weniger zu UEFI 2.0 kompatibel,[28][29] allerdings hatte Apple schon ab ca. Ende 2008 bei der Grafikschnittstelle (EFI-Framebuffer) UEFI-2.0-Kompatibilität hergestellt.[30]
Betriebssysteme
[Bearbeiten | Quelltext bearbeiten]Bei den meisten Betriebssystemen kann ein 64-Bit-Kernel nur 64-Bit-Treiber, inklusive (U)EFI-Treiber, verwenden, sowie ein 32-Bit-Kernel nur Treiber, die ebenfalls in 32-Bit vorliegen. Daher ergibt sich oft, dass aus einer 32-Bit-(U)EFI-Firmware nur ein 32-Bit-Betriebssystem gestartet und aus einer 64-Bit-(U)EFI-Firmware nur ein 64-Bit-Betriebssystem gestartet werden kann (z. B. bei Microsoft Windows und den meisten Linux-Distributionen). Dennoch verhindert ein 32/64-Bit-(U)EFI nicht prinzipiell den Start eines 64/32-Bit-Betriebssystems; beispielsweise beherrscht der Bootloader der verbreiteten Linux-Distribution Fedora den Start eines 64-Bit-Linux auf einem System mit lediglich 32-Bit-UEFI.
Itanium (IA-64)
[Bearbeiten | Quelltext bearbeiten]Die Itanium-Architektur von Intel und HP, auch unter der Abkürzung IA-64 („Intel Architecture 64-Bit“) bekannt, war die erste Computer-Architektur, auf der EFI als Firmware eingesetzt wurde. Daher unterstützen Betriebssysteme, die auf Itanium-Rechnern laufen, zumindest den Teil, der zum Laden des Betriebssystems selbst zum Einsatz kommt. Darunter fallen die IA-64-Versionen von FreeBSD, HP-UX, Linux, NetBSD, OpenVMS und Windows (Windows 2000 bis Server 2008 R2).
x86 (IA-32, x64)
[Bearbeiten | Quelltext bearbeiten]Die x86-Architektur wurde von Intel retronym als IA-32 bezeichnet, was für „Intel Architecture 32-Bit“ steht. Allerdings wurde die Architektur mit der x64-Befehlssatzerweiterung 2003 ebenfalls zur 64-Bit-Architektur.
Windows
[Bearbeiten | Quelltext bearbeiten]Für Endanwender unterstützt Windows (U)EFI vor allem in den 64-Bit-Varianten ab Windows Vista mit integriertem Service Pack 1 bzw. Windows Server 2008; einige Windows-32-Bit-Versionen unterstützen auch UEFI-32-Bit.[31]
Für den Windows-7-Nachfolger Windows 8 wird UEFI 2.x empfohlen. Systeme mit Systemplatten größer als 2 Terabyte und Systeme mit Arm-Prozessor benötigen UEFI zwingend.[32]
Alle Windows-Versionen vor Vista für die x86-Architektur funktionieren nur dann auf (U)EFI-Mainboards, wenn eine BIOS-Kompatibilitätsschicht (CSM) vorhanden ist. Diese wurde auch z. B. von Macintosh-Computern mit Intel-Prozessor, „Intel-Macs“ (ab 2006), bereitgestellt, ist aber auch Bestandteil der meisten aktuellen UEFI-Implementierungen auf PC-Mainboards bis 2020.[33][34]
Welche Firmware aktuell läuft, lässt sich mit dem Befehl %windir%\system32\bcdedit
als Admin abfragen.
Linux
[Bearbeiten | Quelltext bearbeiten]EFI wird auch von Linux unterstützt. Der stabile Zweig des Linux-Kernels bietet ab Version 2.6.25 (2008) auch für die x86-Architektur Unterstützung für EFI.[35]
Seit dem Erscheinen der ersten Itanium-Systeme entwickelt HP den Bootloader elilo. Dieser war zwar anfänglich nur für IA-64 (Itanium) ausgelegt, wurde dann aber auch auf IA-32 (x86) und x86-64 (x64) portiert. GRUB 2 unterstützt EFI-PCs ebenfalls.
Fedora unterstützt ab Version 17 EFI in der Installation und richtet das System entsprechend ein, um mit EFI arbeiten zu können. Debian unterstützt EFI ab Version 7.0 Wheezy mit einem eigenen Bootloader. Der Fedora-Bootloader kann auf einem 64-Bit-fähigen System mit lediglich 32-Bit-UEFI dennoch ein 64-Bit-Linux installieren und starten,[36] was die meisten anderen Linux-Distributionen nicht beherrschen.[37]
macOS (Mac OS X)
[Bearbeiten | Quelltext bearbeiten]Die im Januar 2006 vorgestellten und alle nachfolgenden Apple-Macintosh-Rechner mit macOS (das ursprünglich „Mac OS X“ und von 2012 bis 2016 „OS X“ hieß), die auf x86-Prozessoren von Intel basieren, verwenden EFI als Firmware.[38] Damit sind sie – zusammen mit einigen Media-Center-PCs wie etwa dem Gateway 610 aus dem Jahr 2003 – die ersten EFI-basierten Massenmarktcomputer. Die ausschließliche Nutzung des EFI ohne die optionale BIOS-Kompatibilitätsschicht CSM verhinderte zunächst das Booten von Windows XP auf Intel-basierten Macintosh-Rechnern. Bald wurde aber durch das Projekt xom eine BIOS-Emulation implementiert, die das Starten von Windows ermöglichte.
Apple rüstete den „BIOS Layer“ (CSM) nach einigen Monaten durch eine Firmware-Aktualisierung nach und bot bis Mitte Oktober 2007 eine kostenlose, „Boot Camp“ genannte Lösung an, die es ermöglichte, Mac OS X und Windows XP auf zwei Partitionen desselben Rechners zu installieren und durch Neustart (Booten) zwischen den Betriebssystem hin- und herzuwechseln („Dualboot-Lösung“). Seit Erscheinen von Mac OS X Leopard (10.5, 2007) ist Boot Camp standardmäßig auf allen Intel-Macs vorinstalliert. Die Beta-Version von Boot Camp, die auch auf Mac OS X Tiger (10.4, 2005) lief, ist inzwischen offiziell nicht mehr verfügbar.
Mit EFi-X erschien im Sommer 2008 nachrüstbare Firmware für PCs, mit der die Installation von OS X von einer unmodifizierten, handelsüblichen Original-DVD auf ausgewählter Hardware anderer Hersteller ermöglicht wird, die sich hauptsächlich aus einer Kombination von Gigabyte-Hauptplatinen mit bestimmten Nvidia- und ATI-Grafikkarten zusammensetzt. Die EFi-X-Firmware ist dabei auf einem USB-Dongle untergebracht, der auf einen internen USB-Steckplatz der Hauptplatine gesteckt wird. Beim Systemstart werden daraufhin eine EFI-Emulation und ein „Multiboot-Manager“ geladen, über den neben OS X auch Windows XP, Vista oder Linux gestartet werden können.[39]
Mittlerweile gibt es auch den Bootloader Chameleon,[40] mit dem der macOS-Kernel direkt geladen werden kann, oder Clover,[41] welcher ein Macintosh-EFI vollständig softwareseitig emuliert.
Ebenso gibt es Ozmosis-Firmware, die einen Plattform-Treiber für macOS darstellt. Ein Dual-BIOS wie auf Gigabyte-Mainboards wird empfohlen, da dort die Gefahr des „Brickens“ minimiert ist. macOS lässt sich von einem solchen PC direkt starten.
Kritik
[Bearbeiten | Quelltext bearbeiten]EFI wurde dafür kritisiert, mehr Komplexität ins System zu bringen, ohne nennenswerte Vorteile zu bieten,[42] und das vollständige Ersetzen durch Open-Source-Alternativen wie OpenBIOS oder coreboot unmöglich zu machen.[43] Es löse nicht eines der langjährigen Probleme des BIOS – nämlich, dass die meiste Hardware zwei unterschiedliche Treiber benötigt.[44] Es sei nicht klar, warum es nützlich sein soll, zwei komplett unterschiedliche Betriebssysteme gleichzeitig in Betrieb zu haben, die im Grunde dieselben Aufgaben erledigen, oder warum ein neues Betriebssystem von Grund auf neu geschrieben werden müsste.[44]
EFI gilt einem Entwickler von coreboot zufolge in sicherheitskritischen Einsatzumgebungen – wie etwa in Banken – als ein mögliches Sicherheitsrisiko, da etwa mit dem implementierten Netzwerkstack die theoretische Möglichkeit bestünde, Daten unbemerkt vom Betriebssystem an eine beliebige Adresse zu senden. Der eigene Netzwerkstack für TCP/IP, der „unterhalb“ vom Betriebssystem direkt und unabhängig auf der Hauptplatine läuft, ermöglicht es, das System zu manipulieren, zu infizieren oder zu überwachen, ohne dass man es betriebssystemseitig kontrollieren oder einschränken könnte. Auch für DRM-Zwecke könnte EFI benutzt werden, um etwa den I/O-Datenstrom auf digitale Wasserzeichen hin zu überwachen. Aus diesen Gründen plädieren einige Anwender für ein quelloffenes System wie coreboot (ehemals LinuxBIOS).[42][45][46]
Programm- und Implementierungsfehler
[Bearbeiten | Quelltext bearbeiten]Fehlerhafte Implementationen von UEFI haben bei mehreren Herstellern zu irreparablen Schäden an Systemen geführt. Im Juni 2013 wurden Notebooks von Samsung beim Bootvorgang mit Linux eingefroren, sobald das Betriebssystem schreibend auf die UEFI-Firmware zugriff. Das Mainboard wurde dadurch unlösbar blockiert.[47] Anfang 2014 trat das gleiche Problem bei Geräten von Lenovo auf sowie Ende 2015 bei Geräten von Asus.[48][49]
Sicherheitslücken
[Bearbeiten | Quelltext bearbeiten]Da im Unterschied zum traditionellen BIOS und manchen konkurrierenden Ansätzen UEFI eine Netzwerkimplementierung enthält, von der ein Teil (das Driver eXecution Environment Runtime, DXERuntime) im Hintergrund aktiv bleibt, während am Computer bereits das Betriebssystem läuft, besteht ein zusätzliches Risiko, von Schadsoftware angegriffen zu werden. Es gibt dokumentierte Fälle, in denen Programmierfehler oder Fehler beim Paketieren der EFI-Software zu Schwachstellen führten.[50][51][52][53][54][55] Auch der System Management Mode (SMM) kann bei Programmfehlern im UEFI zur Installation von Schadsoftware genutzt werden („BIOS-Rootkits“).[56] Zur Absicherungen gegen gefundene Sicherheitslücken ist man allerdings darauf angewiesen, dass der Hersteller auch Updates bereitstellt, was nicht immer zeitnah geschieht.[57][58]
Weblinks
[Bearbeiten | Quelltext bearbeiten]- Website des UEFI Forum (englisch)
- Open Firmware (IEEE-1275 Standard) Website der Open Firmware Working Group (englisch)
- Artikel WinTotal: UEFI – der BIOS-Nachfolger: Grundlagen und Hilfestellung
- UEFI-Secure-Boot und alternative Betriebssysteme (ADMIN-Magazin)
Einzelnachweise
[Bearbeiten | Quelltext bearbeiten]- ↑ Thorsten Leemhuis: Was die Begriffe Firmware, BIOS, UEFI alles meinen können. In: Heise online. 8. Mai 2019. Abgerufen am 18. Oktober 2022.; Zitat: „Das Kürzel steht für ‚Unified Extensible Firmware Interface‘, was sich mit ‚einheitliche erweiterbare Firmware-Schnittstelle‘ übersetzen lässt.“.
- ↑ UEFI – Unified Extensible Firmware Interface. In: Elektronik-Kompendium.de. Abgerufen am 14. März 2020: „(Abschnitt: BIOS und UEFI) Die Begriffe UEFI-Firmware und BIOS werden häufig synonym verwendet. Obwohl ein Motherboard eine UEFI-Firmware besitzt spricht man immer noch vom BIOS-Setup, wenn man Einstellungen verändern will.“
- ↑ Installation. In: 3.4 BIOS installation. GNU GRUB, abgerufen am 25. September 2013.
- ↑ Christoph Pfisterer: A Brief History of Apple and EFI. 29. Dezember 2008, abgerufen am 14. März 2020 (englisch).
- ↑ Christof Windeck: Abschied vom PC-BIOS. In: Heise online. 3. Juni 2011. Abgerufen am 14. März 2020.
- ↑ Sebastian Kolar: Windows 10: Legacy-Modus nutzen – die besten Tipps. In: Computer Bild. Axel Springer SE, 14. März 2021, abgerufen am 11. Juli 2022: „Legacy-Modus beim BIOS nutzen“
- ↑ Axel Vahldiek, Thorsten Leemhuis: Einzugshilfe – Linux Mint parallel neben Windows installieren. In: c’t Spezial (c’t Linux 2019). Nr. 3/2019. Verlag Heinz Heise, 10. November 2018, ISSN 0724-8679, S. 130 ff., S. 133, Bootmodus identifizieren (eingeschränkte Vorschau in der Google-Buchsuche): „Es gilt herauszufinden, ob Ihre Windows-Installation klassisch (‚Legacy BIOS‘) oder per UEFI bootet. … In der Zeile ‚BIOS-Modus‘ steht entweder ‚UEFI‘ oder ‚Vorgängerversion‘, letzteres meint das klassische Legacy BIOS.“
- ↑ Christof Windeck: Intel: UEFI-BIOS verliert 2020 die BIOS-Kompatibilität. In: Heise online. 15. November 2017. Abgerufen am 14. März 2020.
- ↑ Christian Hirsch: Intel Core i-11000: BIOS-Kompatibilität nur noch mit Grafikkarte. In: Heise online. 9. Juni 2021. Abgerufen am 10. Juni 2021.; Zitat: „Bereits in den letzten Jahren nahm die Zahl an Notebooks und Komplett-PCs deutlich zu, die ausschließlich per UEFI booten.“.
- ↑ Redaktion CHIP: Intel will BIOS-Nachfolger als Open Source freigeben. Abgerufen am 4. Dezember 2020.
- ↑ BIOS Extreme Privilege Escalation ( vom 22. Dezember 2014 im Internet Archive)
- ↑ ‘Hintertür’ in Secure Boot: Wichtigster Windows-Schutz ausgehebelt. 10. August 2016, abgerufen am 4. Dezember 2020.
- ↑ heise online: Kardinalfehler: Microsoft setzt aus Versehen Secure Boot schachmatt. Abgerufen am 4. Dezember 2020.
- ↑ UEFI-BIOS bekommt ein Sicherheits-Expertenteam
- ↑ What is TianoCore. Abgerufen am 12. September 2018.
- ↑ Marrying U-Boot UEFI and GRUB. Abgerufen am 12. September 2018.
- ↑ UEFI on Top of U-Boot. Abgerufen am 12. September 2018.
- ↑ Installing OpenBSD 6.3 on Raspberry 3. Abgerufen am 12. September 2018.
- ↑ https://github.com/linuxboot/linuxboot
- ↑ m1n1 user guide, Asahi Linux, zugegriffen 2022-10-10.
- ↑ Extensible Firmware Interface (EFI) and Unified EFI (UEFI). Abgerufen am 4. Dezember 2020 (englisch).
- ↑ Thomas Hübner: MSI beerdigt das BIOS mit dem P35 Neo3. Abgerufen am 4. Dezember 2020.
- ↑ ComputerBase: MSI bringt EFI auf P45-Boards im Juli
- ↑ What is UEFI BIOS ( vom 15. August 2009 im Internet Archive)
- ↑ Intel-Entwicklerforum: Notebook-Firmware bootet kürzer als 1 Sekunde heise.de, 29. September 2009
- ↑ Asus LGA1155 Motherboard Preview. bit-tech.net, 16. November 2010, abgerufen am 28. März 2011.
- ↑ Windows Vista Service Pack 1 ist fertig heise.de, am 4. Februar 2008
- ↑ Livewings: MacBook Air 2013 is the first Mac that supports EFI booting on Windows natively. (Internetforum) In: MacRumors. 21. Juni 2013, abgerufen am 18. Oktober 2022 (englisch, Ab ca. 2013 sind Intel-Mac großteils kompatibel zu UEFI 2.0.).
- ↑ Loner T: Windows 10 UEFI Driver Compatibility. (Internetforum) In: Apple Community Discussions. Apple, 3. August 2015, abgerufen am 18. Oktober 2022 (englisch): „Macs prior to Late 2013 have used EFI 1.1.“
- ↑ Christoph Pfisterer: A Brief History of Apple and EFI. In: rEFIt. SourceForge, 29. Dezember 2008, abgerufen am 18. Oktober 2022 (englisch): „“Late 2008” Models – These models used an NVIDIA chipset with integrated graphics. The firmware was 64 bit like in the Santa Rosa models, and also still identified itself as EFI 1.10. However, Apple started mixing EFI 1.10 and UEFI 2.x features on these models.“
- ↑ http://www.microsoft.com/whdc/system/platform/firmware/UEFI_Windows.mspx
- ↑ Abschied vom PC-BIOS – Meldung bei der C’t, vom 3. Juni 2011
- ↑ https://shop.heise.de/katalog/neuer-untersatz
- ↑ https://shop.heise.de/katalog/maskierte-ablosung
- ↑ heise open: Kernel 2.6.25 unterstützt nun auch auf der x86-Architektur den designierten BIOS-Nachfolger EFI
- ↑ Fedora x64 auf 32-Bit-UEFI: C’t Nr. 23/2018 S. 144
- ↑ Liane M. Dubowy: Linux Mint 19.2 veröffentlicht: Viel Feintuning und schnellerer Desktop. In: Heise online. 1. August 2019. Abgerufen am 12. März 2020.; Zitat: „Das ISO-Image gibt es sowohl für 32- als auch 64-Bit-x86-Systeme. Nur letzteres bootet auch mit UEFI.“.
- ↑ developer.apple.com ( vom 3. Januar 2009 im Internet Archive)
- ↑ http://www.efi-x.com/index.php?option=com_content&view=article&id=23&language=english efi-x.com Produktinfo
- ↑ Chameleon
- ↑ Clover EFI bootloader
- ↑ a b kerneltrap.org ( vom 8. Oktober 2006 im Internet Archive)
- ↑ Interview: Ronald G Minnich
- ↑ a b Google TechTalks: coreboot (aka LinuxBIOS): The Free/Open-Source x86 Firmware auf YouTube, 31. Oktober 2008, abgerufen am 25. Februar 2024 (Laufzeit: 65:39 min).
- ↑ GeekVideo: LinuxBIOS - building a BIOS for fun and not-profit auf YouTube, 18. Mai 2007, abgerufen am 25. Februar 2024 (Laufzeit: 4:39 min).
- ↑ blog.thesilentnumber.me ( vom 10. Januar 2015 im Internet Archive)
- ↑ c’t: Firmware-Schaden, 6/2013
- ↑ heise.de: Fehlerhafte UEFI-Firmware: Linux killt Thinkpads, 5. Februar 2014
- ↑ superuser.com: UEFI-Implementation-Issue (can lead to a hard-brick) – ASUS Zenbook UX303LA-R4342H (englisch), 5. Oktober 2015
- ↑ UEFI vs. legacy BIOS, osdev.org, zugegriffen 2022-10-10.
- ↑ UEFI – Unified Extensible Firmware Interface. In: Elektronik-Kompendium.de. Abgerufen am 14. März 2020: „(Abschnitt: BIOS und UEFI) Die Begriffe UEFI-Firmware und BIOS werden synonym verwendet. Obwohl ein Motherboard eine UEFI-Firmware besitzt spricht man vom BIOS-Setup, wenn man Einstellungen verändern will.“
- ↑ What’s The Deal With UEFI?, Matthew Carlson, hackaday.com, 2021-11-30.
- ↑ Lenovo UEFI firmware driver bugs affect over 100 laptop models, bleepingcomputer, 2022-04-19.
- ↑ CosmicStrand UEFI malware found in Gigabyte, ASUS motherboards, BLEEPINGCOMPUTER, Ionut Ilascu, 2022-05-25.
- ↑ APT28 Uses LoJax, First UEFI Rootkit Seen in the Wild, BLEEPINGCOMPUTER, Ionut Ilascu, 2018-09-27.
- ↑ Mark Mantel: Updates notwendig: Sicherheitslücken im UEFI-BIOS erleichtern Rootkitverankerung. In: Heise online. 2. Februar 2022. Abgerufen am 10. Oktober 2022.; Zitat: „Die Sicherheitslücken betreffen insbesondere den schon oft mit schweren Schwachstellen aufgefallenen System Management Mode (SMM) und lassen sich dazu ausnutzen, manipulierte Firmware im System zu verankern, beispielsweise in Form von BIOS-Rootkits.“.
- ↑ Christof Windeck: Kommentar zur UEFI-Lücke: Sie lernen es einfach nicht. In: Heise online. 13. Oktober 2014. Abgerufen am 10. Oktober 2022.; Zitat: „Wo bleiben die Updates? – Wir Endnutzer können aber Probleme wie dieses nicht selbst lösen, sondern sind auf Unterstützung der Hersteller angewiesen – in diesem Fall auf Firmware-Updates. Diese sind offensichtlich für viele betroffene Systeme nicht verfügbar. Wie ist das möglich, wenn etwa AMI laut MITRE seit Monaten von dem Problem weiß?“.
- ↑ Christof Windeck: Mehr Updates gegen die UEFI-Sicherheitslücke. In: Heise online. 5. November 2014 (3. Update). Abgerufen am 10. Oktober 2022.