Markdown

EFI

EFI is the Acronym for Extensible Firmware Interface

The original firmware specification developed by Intel in the late 1990s to replace the aging BIOS (Basic Input/Output System). While EFI was Intel’s proprietary creation, it served as the foundation for the modern, industry-wide UEFI standard.

Core Concepts

  • Legacy Replacement: EFI was designed specifically for Intel’s Itanium (IA-64) architecture because the traditional 16-bit BIOS could not meet the memory and processor requirements of 64-bit server platforms.
  • Abstraction Layer: Unlike BIOS, which requires the operating system to communicate directly with hardware, EFI acts as an interface layer that abstracts hardware details, making the OS more portable and easier to develop.
  • Modular Design: EFI is built with modular drivers that can be loaded from storage devices or network locations, enabling a highly customizable pre-boot environment.

Key Terminology

  • EFI System Partition (ESP): A dedicated partition (formatted as FAT32) on a storage drive where EFI-compliant firmware looks for bootloaders and system utilities.
  • Boot Manager: A firmware-level application that manages multiple boot entries (e.g., Windows, Linux, or USB recovery tools), allowing users to select an OS without needing a third-party bootloader like GRUB.
  • EFI Applications: Standalone executable files with the .efi extension that run in the pre-boot environment (e.g., hardware diagnostic tools, firmware update utilities, or the EFI Shell).
  • Boot Services: Functions available only while the firmware is in control, such as memory allocation and hardware initialization.
  • Runtime Services: Functions that remain available even after the operating system has loaded, such as accessing the RTC (Real-Time Clock) or NVRAM.

EFI vs. UEFI

FeatureEFI (Original)UEFI (Unified)
DeveloperIntelUEFI Forum (Industry Consortium)
StatusDeprecated / ProprietaryCurrent / Open Standard
Latest Version1.10 (2005)2.10+ (Current)
Platform SupportPrimarily Itanium and early Intel Macsx86, x64, ARM, and more
SecurityMinimalSecure Boot, cryptography, and network auth

The Transition Timeline

  1. Intel Boot Initiative (1998): Intel begins work on a BIOS replacement for Itanium.
  2. EFI 1.02 (2000): First official release of the specification.
  3. EFI 1.10 (2002): Added support for variable storage and EFI driver models; used by Apple in the first Intel-based Macs (2006).
  4. Unified EFI Forum (2005): Intel contributes the EFI 1.10 spec to a new industry group, which renames the standard to UEFI.

1EFI and UEFI are often used interchangeably, though technically, EFI refers only to the older Intel-owned versions (1.10 and earlier).