Skip to content
Search

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.

$ mkfs.fat -F32 /dev/sdxY

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 /efi and 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:

  • /efi is a replacement for the previously popular (and possibly still used by other Linux distributions) ESP mountpoint /boot/efi.
  • The /efi directory is not available by default, you will need to first create it with mkdir(1) before mounting the ESP to it.

See also

Favorite site

References


  1. WEBDIR_-_Understanding_the_hard_disk.pdf ↩

author Zer0 sitemap