Unified Extensible Firmware Interface
lastmod 2020-07-14created 2016-05-1414 edits
The Unified Extensible Firmware Interface (UEFI) is a specification that defines a software interface between an operating system and platform firmware. It was developed to replace the BIOS interface used on IBM PC compatibles. It originated from the EFI (Extensible Firmware Interface) specification developed by Intel, and the UEFI specification is now managed by the Unified EFI Forum.
GPT
| Note |
| Whereas UEFI uses GPT (GUID Partition Table), BIOS uses MBR (Master Boot Record). |
Format the partition
The UEFI specification mandates support for the FAT12, FAT16, and FAT32 file systems. To prevent potential issues with other operating systems and also since the UEFI specification only mandates supporting FAT16 and FAT12 on removable media, it is recommended to use FAT32.
After creating the partition, format it as FAT32. To use the mkfs.fat utility, install dosfstools.
If you get the message WARNING: Not enough clusters for a 32 bit FAT!, reduce cluster size with mkfs.fat -s2 -F32 ... or -s1; otherwise the partition may be unreadable by UEFI. See mkfs.fat(8) for supported cluster sizes.
Mount the partition
The kernels, initramfs files, and, in most cases, the processor's microcode, need to be accessible by the boot loader or UEFI itself to successfully boot the system. Thus if you want to keep the setup simple, your boot loader choice limits the available mount points for EFI system partition.
Typical mount points
The simplest scenarios for mounting EFI system partition are:
- mount ESP to
/efiand use a boot loader which is capable of accessing the kernel(s) and initramfs image(s) that are stored elsewhere (typically/boot). See Boot loader for more information on boot loader requirements and capabilities. - mount ESP to
/boot. This is the preferred method when directly booting an EFISTUB kernel from UEFI.
Tip:
-
/efiis a replacement for the previously popular (and possibly still used by other Linux distributions) ESP mountpoint/boot/efi. - The
/efidirectory is not available by default, you will need to first create it withmkdir(1)before mounting the ESP to it.
See also
- BIOS
- GUID Partition Table (GPT)
- ArchLinux:Installation: Used during installation.
Favorite site
- Wikipedia (en) Unified Extensible Firmware Interface
- Namuwiki: UEFI
- Unified Extensible Firmware Interface - ArchWiki
- EFI system partition - ArchWiki
- [Recommended] WEBDIR :: Understanding the hard disk 1 (GPT, Disk sector, UEFI, Partition table, CHS, LBA)
References
-
WEBDIR_-_Understanding_the_hard_disk.pdf ↩