EFI System Partition

From Gentoo Wiki
Jump to: navigation, search
This page contains changes which are not marked for translation.

Resources

The EFI system partition (ESP) is a fat formatted partition containing the boot loaders or kernel images for all installed operating systems.

Kernel

Advanced partition selection (CONFIG_PARTITION_ADVANCED) and EFI GUID Partition support (CONFIG_EFI_PARTITION) must be enabled:

KERNEL Enable support for GPT
-*- Enable the block layer --->
   Partition Types --->
      [*] Advanced partition selection
      [*] EFI GUID Partition support

Characteristics

parted (sys-block/parted) will show it with the boot, esp flags:

root #parted /dev/sda print
Model: ATA SAMSUNG SSD SM84 (scsi)
Disk /dev/sda: 256GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system  Name                          Flags
 1      1049kB  99.6MB  98.6MB  fat32        EFI System Partition          boot, esp

For creation instructions see Handbook

gdisk (sys-apps/gptfdisk) will show it with partition code EF00:

root #gdisk -l /dev/sda
GPT fdisk (gdisk) version 1.0.1

Partition table scan:
  MBR: protective
  BSD: not present
  APM: not present
  GPT: present

Found valid GPT with protective MBR; using GPT.
Disk /dev/sda: 500118192 sectors, 238.5 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): 1B59C2C8-8795-4625-9718-4D636B005AC1
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 500118158
Partitions will be aligned on 2048-sector boundaries
Total free space is 2669 sectors (1.3 MiB)

Number  Start (sector)    End (sector)  Size       Code  Name
   1            2048          194559   94.0 MiB    EF00  EFI System Partition

Size considerations

100 MB should be enough for some kernels and boot manager and dual-booting Windows 10.

Mount point

Gentoo Handbook creates the ESP as /dev/sda2 and mounts it at /boot.

FILE /etc/fstabConfiguring the ESP mountpoint
/dev/sda2              /boot             vfat              noauto,noatime             0    2

Standard layout

There is a standard layout for the ESP. Vendors and distributions are supposed to put their stuff into vendor specific directories.

user $tree -L 3 /boot
 /boot
 └── EFI
     ├── Boot
     │   └── bootx64.efi
     ├── Gentoo
     │   └── vmlinuz-4.9.16-gentoo.efi
     └── Microsoft
         ├── Boot
         └── Recovery

Here the Microsoft subtree - and also the Boot subtree[1] - was created by an earlier installation of Windows 10 Creators Update. The Boot subtree is the fallback directory. If UEFI can't find any vendor specific directories it will boot from here. In a multiboot environment with properly set up vendor specific subtrees the Boot subtree can be deleted.

UEFI boot items

Computers with UEFI usually provide a boot menu and a configuration tool for creating, sorting or deleting boot items. The content of the ESP is visible to these tools and creating a boot item is like choosing the medium from a given selection, then surfing through the ESP and selecting the item, e.g vmlinuz-4.9.16-gentoo.efi.

Alternatively, efibootmgr can be used for generating the UEFI boot items.

See also

External resources

References