EFI System Partition (ESP)
The EFI System Partition is a small section of the disk set aside just for startup files. When a modern computer turns on, the firmware looks in this partition to find the program that starts the operating system. It is usually hidden, a few hundred megabytes to a gigabyte in size, and shared by every operating system installed on that machine.
The EFI System Partition (ESP) is defined by the UEFI specification. Firmware can read FAT filesystems, so the ESP is formatted FAT32 (vfat) and marked with GPT type GUID C12A7328-F81F-11D2-BA4B-00A0C93EC93B (shown as type EF00 in gdisk, or “EFI System” in fdisk).
Layout on Ubuntu (mounted at /boot/efi):
EFI/ubuntu/shimx64.efi: Secure Boot first stageEFI/ubuntu/grubx64.efi: GRUBEFI/ubuntu/grub.cfg: a stub that points to/boot/grub/grub.cfgon the root filesystemEFI/BOOT/BOOTX64.EFI: the fallback path firmware tries when no NVRAM entry worksEFI/Microsoft/Boot/: Windows Boot Manager on dual-boot machines
Sizing: 300 MB to 1 GB is typical. Ubuntu’s installer creates about 1 GB.
Boot entries vs files: firmware NVRAM stores entries that point at files on the ESP. Deleting either one breaks boot. efibootmgr manages entries; grub-install recreates the files and the entry.
One per disk is enough. Dual-boot setups share a single ESP; each OS gets its own folder under EFI/.
Source: UEFI Forum specifications
Finding and checking the ESP
# Find it: vfat, mounted at /boot/efi
$ lsblk -o NAME,SIZE,FSTYPE,PARTTYPENAME,MOUNTPOINTS
NAME SIZE FSTYPE PARTTYPENAME MOUNTPOINTS
sda 25G
├─sda1 1G vfat EFI System /boot/efi
└─sda2 24G ext4 Linux filesystem /
# What is on it
$ sudo ls /boot/efi/EFI/ubuntu
grub.cfg grubx64.efi mmx64.efi shimx64.efi
# Firmware entries that point at those files
$ sudo efibootmgr -v | grep -i ubuntu The ESP is behind many “no bootable device” errors. Causes include a dual-boot OS reinstall that formatted it, a disk cloned without it, a deleted NVRAM entry, or /boot/efi failing to mount because of a bad fstab line. The repair is the same as for GRUB: boot a live USB, mount root and the ESP, chroot, and run grub-install. Back up the ESP contents before experimenting; it is small enough to copy anywhere.