Was ist das EFI-Dateiformat?
Eine .efi-Datei ist eine Systemdatei, die von Computersystemen und Geräten auf x86-64- und ARM-basierter Hardware verwendet wird. Eine .efi-Datei enthält ausführbaren Code, der zwischen Firmware- und Betriebssystemebene läuft - technisch handelt es sich um ein PE32+ Portable Executable-Image mit einem UEFI-spezifischen Subsystem-Wert anstelle eines Standard-Windows-Subsystems.
Verwendung von .efi-Dateien
.efi-Systemdateien werden während des System-Boot-Prozesses, für das Staging von Firmware-Updates und für Pre-Boot-Programme verwendet. .efi-Dateien ermöglichen es dem System, Pre-Boot-Prozesse an eine kontrollierte Umgebung zu übergeben. Gängige Beispiele sind bootmgfw.efi (Windows Boot Manager), grubx64.efi (GRUB-Bootloader für Linux) und shimx64.efi (Secure Boot Shim). Manchmal sind .efi-Dateien in Firmware-Update-Paketen enthalten und werden während des Boot-Prozesses geladen. Alle .efi-Binärdateien müssen auf der EFI-Systempartition (ESP) gespeichert sein - einem FAT32-Volume auf einem GPT-partitionierten Datenträger, auf das die Firmware vor dem Laden von OS-Treibern zugreifen kann.
EFI und die UEFI-Spezifikation
Der EFI-Standard wurde ursprünglich von Intel entwickelt. EFI wurde später aktualisiert und als UEFI (Unified Extensible Firmware Interface) bekannt, das das veraltete BIOS (Basic Input/Output System) auf nahezu allen modernen PCs und Servern ersetzt hat. Das UEFI Forum, ein Industriekonsortium, pflegt die Spezifikation jetzt.
Sicherheit
RISIKO: MEDIUMEine .efi ist ausführbarer Code, der zu einem sehr privilegierten Zeitpunkt läuft - vor dem Betriebssystem, mit vollem Firmware-Zugriff - daher kann eine BÖSARTIGE .efi (ein „Bootkit“) gefährlich und dauerhaft sein. Moderne PCs mindern dies mit UEFI Secure Boot, der die Ausführung von .efi-Binärdateien verweigert, die nicht von einem vertrauenswürdigen Schlüssel signiert sind. Praktische Hinweise: Platzieren oder starten Sie niemals eine unbekannte .efi in Ihrer EFI-Systempartition, und booten Sie nicht von einer nicht vertrauenswürdigen .efi; lassen Sie Secure Boot aktiviert, es sei denn, Sie haben einen bestimmten Grund dagegen. Das entgegengesetzte Risiko ist ebenso real: Das Löschen oder Umbenennen legitimer .efi-Dateien in der ESP (z. B. bootmgfw.efi, grubx64.efi) kann den Rechner unbootfähig machen - lassen Sie sie in Ruhe, es sei denn, Sie reparieren den Bootloader gezielt.
Formatdetails
kurz gefasst- Adobe Encapsulated/eingebettete Schriftdateien oder HP-Drucker-Firmware-Blobs - Einige nicht verwandte Produkte haben historisch .efi für interne Daten verwendet; auf einem PC ist nahezu jede .efi, der man begegnet, eine UEFI-Boot-Binärdatei.
Programme zum Öffnen von EFI-Dateien
Technische Details
technische Spezifikation| Dateisignatur | `MZ` (hex `4D 5A`) bei Offset 0 - DOS-Stub; PE-Signatur (Bytes `50 45 00 00`) am durch den 4-Byte-LE-Zeiger bei Header-Offset `0x3C` angegebenen Offset |
| Binäres Basisformat | PE32+ (64-Bit Portable Executable) - dasselbe Container-Format wie eine Windows-`.exe`, differenziert nur durch den PE-Subsystem-Feldwert |
| PE-Subsystem-Feldwerte | 10 = EFI-Anwendung; 11 = EFI Boot Service Driver; 12 = EFI Runtime Driver; 13 = EFI ROM Image |
| MIME-Typ | `application/efi` |
| Unterstützte CPU-Architekturen | x86-64 (IA-32e), IA-32, ARM Thumb-2, AArch64, RISC-V 32/64/128, IA-64 (Itanium) - Architektur im PE Machine-Feld kodiert |
| Erforderliche Partition und Dateisystem | EFI-Systempartition (ESP) formatiert als FAT12, FAT16 oder FAT32 auf einem GPT-partitionierten Datenträger; NTFS und ext4 werden von UEFI-Firmware nicht nativ unterstützt |
| Standard-Installationspfad auf der ESP | `\EFI\<Vendor>\<name>.efi` - z. B. `\EFI\Microsoft\Boot\bootmgfw.efi` oder `\EFI\ubuntu\grubx64.efi` |
| Secure Boot Code-Signierung | Signiert mit Authenticode (RSA + SHA-256); verifiziert anhand der UEFI Secure Boot-Schlüsseldatenbanken: PK (Platform Key), KEK, `db` (erlaubt) und `dbx` (widerrufen) |
| Entry-Point-Prototyp | `EFI_STATUS EFIAPI ImageEntry(EFI_HANDLE ImageHandle, EFI_SYSTEM_TABLE *SystemTable)` - dieselbe Signatur für alle EFI-Anwendungstypen |
| Ausführungsprivilegierungsebene | Höchste CPU-Privilegierungsebene - Ring 0 (CPL0) auf x86; EL1 oder EL2 auf AArch64 - in einem flachen Pre-OS-Adressraum mit direktem Hardware-Zugriff |
| Boot Service vs. Runtime-Residenz | Boot Service Drivers (Subsystem 11) werden entladen, wenn das Betriebssystem `ExitBootServices()` aufruft; Runtime Drivers (Subsystem 12) bleiben nach dem OS-Handoff gemappt |
| Anforderung an die Festplattenpartitionierung | GPT (GUID Partition Table) erforderlich für den nativen UEFI-Boot-Modus; Nur-MBR-Datenträger werden nicht unterstützt |
| Bekannte Binärdateien | `bootmgfw.efi` (Windows Boot Manager), `grubx64.efi` (GRUB), `shimx64.efi` (Secure Boot Shim), `Shell.efi` (interaktive UEFI-Shell) |
| Build-Toolchains | EDK II (TianoCore), GNU-EFI, LLVM/clang mit `-target x86_64-unknown-uefi`; Ausgabe muss als PE32+-Image mit UEFI-Subsystem-Flags gelinkt werden |
| Veröffentlicht | EFI 1.0 (Intel, ~2000) → UEFI 2.x (UEFI Forum, 2005+); standard on PCs since ~2012 |
| Offener Standard | Ja · lizenzgebührenfrei |
| Spezifikation | uefi.org |
EFI-Konvertierungen
Community Q&A
von Nutzern gefragtNoch keine Fragen - stellen Sie die erste Frage zu EFI-Dateien.