The EFI System partition is a partition on a data storage device that is used by machines
that adhere to the Unified Extensible Firmware Interface.
It contains the boot loader programs for all operating systems installed on the device,
device driver files for other devices, system utility programs that are intended to be run
before an operating system is booted, and data files such as error logs.
Overview
The EFI System partition is formatted using the FAT12, FAT16 or FAT32 file system.
The globally unique identifier for the EFI System partition in the GUID Partition Table
scheme is C12A7328-F81F-11D2-BA4B-00A0C93EC93B, while its ID in the MBR partition table scheme
is 0xEF.
Both GPT and MBR-partitioned disks can contain an EFI System partition, as UEFI firmwares
are required to support both partitioning schemes.
Also, El Torito bootable format for CD-ROMs and DVDs is supported.
It supports backward compatibility with legacy systems by reserving the first block of the
partition for compatibility code, effectively creating a legacy boot sector.
On legacy BIOS-based systems, the first sector of a partition is loaded into memory and execution
is transferred to this code.
UEFI firmwares do not execute the code in the Master Boot Record, except when booting
in legacy BIOS mode through the Compatibility Support Module.
Despite the fact MBR partition tables are required to be fully supported within the
UEFI specification, some UEFI firmwares immediately switch to the BIOS-based CSM booting depending
on the type of boot disk's partition table, thus preventing UEFI booting to be performed
from EFI System partitions on MBR-partitioned disks.
Booting from removable media such as USB flash drives is supported.
A removable device needs to be formated using the FAT12, FAT16 or FAT32 file system, and
booting can be performed either by storing a boot loader according to the standard ESP
file hierarchy, or by providing a complete path of a boot loader to the system's boot
manager.
Usage Linux
GRUB 2 and elilo are serving as conventional, full-fledged and standalone UEFI boot managers
for Linux.
They both allow accessing and booting kernel images outside the EFI System partition.
EFI Boot Stub makes it possible to boot a Linux kernel without the use of a conventional
UEFI boot loader.
It allows an x86 kernel image to be loaded and executed directly by the UEFI firmware,
masquerading itself as a PE/COFF image and appearing to the firmware as an UEFI application.
Both BIOS and UEFI boot loaders can still load and run the same kernel image, thereby
allowing a single kernel image to work in any boot environment.
Support for the EFI Boot Stub is enabled by turning on the option CONFIG_EFI_STUB during
kernel configuration.
It was merged into the Linux kernel mainline in kernel version 3.3, released on 18 March
2012.
Gummiboot is a simple UEFI boot manager which executes configured UEFI images, accessing
only the EFI System partition.
Configuration file fragments, kernel images and initrd images are required to reside on
the EFI System partition, as there is no support for accessing files on other partitions or
file systems.
Linux kernels need to be built with CONFIG_EFI_STUB enabled so they can be directly executed as
an UEFI image.
Mount point for the EFI System partition is usually efi, where its content is accessible
after Linux is booted.
Windows Microsoft recommends that when partitioning
a disk, the EFI System partition be the first partition on the disk.
This is not a requirement of the EFI specification itself.
On Windows XP 64-Bit Edition and later, access to the EFI System partition is obtained by
running the mountvol /s command.
Apple–Intel On Apple–Intel architecture Macintosh computers,
the EFI partition is initially blank and not used for booting.
However, the EFI partition is used as a staging area for firmware updates; specifically, it
places a firmware flash utility and data file in the directory EFIFIRMWARE which is then
run when rebooting the system in "flash firmware" mode.
If deleted, the system will still boot, and the boot manager will still allow users to
choose whether to start a Boot Camp partition or the default Mac OS X, but firmware updates
will fail.
See also Unified Extensible Firmware Interface
BIOS Boot partition System partition and boot partition
Windows To Go References
External links "EFI System Partition Subdirectory Registry".
UEFI.
— a registry of the subdirectories that lie below the /EFI directory on an EFI System
partition