/boot/efi Linux partition: What is, usage recommendations

The /boot/efi partition is present on most Linux systems and is where the boot loaders (and sometimes kernel images and drivers) are stored for all of the installed operating systems on the disk. The system’s UEFI firmware will load these files upon system boot.

All systems with UEFI (as opposed to legacy BIOS) must have an EFI system partition in order to boot, however some Linux distros will choose to mount the files at some location other than /boot/efi, despite it being the most popular. In this tutorial, we will learn about the /boot/efi partition, what it is used for, and what kind of recommendations that administrators should keep in mind when partitioning their disks and creating an EFI partition.

In this tutorial you will learn:

  • What is the /boot/efi partition used for?
  • How to view the details of the /boot/efi partition
  • What size should an admin make the EFI partition?
/boot/efi Linux partition: What is, usage recommendations
/boot/efi Linux partition: What is, usage recommendations
Software Requirements and Linux Command Line Conventions
Category Requirements, Conventions or Software Version Used
System Any Linux distro
Software fdisk, parted, gdisk, GNOME Disks
Other Privileged access to your Linux system as root or via the sudo command.
Conventions # – requires given linux commands to be executed with root privileges either directly as a root user or by use of sudo command
$ – requires given linux commands to be executed as a regular non-privileged user

/boot/efi Linux partition: What is, usage recommendations



Twitter icon Follow LinuxConfig.org on Twitter for the latest tips and tricks about Linux!


The purpose of the EFI partition is to house the EFI boot loader(s). Upon booting the system, UEFI will read information from the EFI partition before letting boot loader (typically GRUB or elilo on Linux) take over and boot into the operating system or other system utilities such as system repair. The whole process happens very quickly.

Disks formatted with both GPT and MBR partition schemes can contain an EFI partition, since UEFI can read from either type. On GPT, every partition type has a globally unique identifier. For the EFI partition, the GUID is C12A7328-F81F-11D2-BA4B-00A0C93EC93B. On MBR formatted disks, the EFI partition is represented by 0xEF.

View partition details

We can see the details of this partition with various Linux tools. If you do not find the same results on your system, it could mean that the partition is mounted elsewhere, is not mounted at all, or does not exist because it is part of a virtualized environment.

  1. With fdisk:
    $ sudo fdisk -l /dev/sda
    
    Viewing EFI partition in the fdisk command
    Viewing EFI partition in the fdisk command
  2. With gdisk:
    $ sudo gdisk -l /dev/sda
    
    Viewing EFI partition in the fdisk command
    Viewing EFI partition in the fdisk command
  3. With parted:
    $ sudo parted /dev/sda print
    

    Viewing EFI partition in the parted command
    Viewing EFI partition in the parted command



  4. Or with a GUI application such as the default utility in GNOME called ‘Disks’:
    Viewing EFI partition in GNOME Disks GUI application
    Viewing EFI partition in GNOME Disks GUI application

Usage Recommendations

  • Unlike other typical Linux partitions, the EFI partition should be formatted with FAT.
  • Size recommendation is 100 MB, but 500 MB is a good way to guarantee you will not run out of space.
  • Do not use this partition to store anything except boot loader info.
  • When dual booting, leave the EFI partition alone, as it contains info to boot operating systems.
  • EFI partition needs to be a physical partition, not created under LVM or RAID.

Closing Thoughts

In this tutorial, we learned about the /boot/efi partition on a Linux system and found out what it is used for. We saw that the EFI partition is used to store boot loader files for UEFI firmware to access upon system boot. This is the first step in a long check list of what happens when booting into an operating system in your computer.



Comments and Discussions
Linux Forum