I have a workstation with an UEFI
firmware and a disk with a GPT
type partition table. According to EFI Boot Manager, the the system is instructed to boot from UUID 7e169454-1df0-40bf-9c63-0f6b094c1e15
:
# efibootmgr -v
BootCurrent: 0000
Timeout: 1 seconds
BootOrder: 0000
Boot0000* debian HD(1,GPT,7e169454-1df0-40bf-9c63-0f6b094c1e15,0x800,0xee000)/File(\EFI\debian\grubx64.efi)
#
7e169454-1df0-40bf-9c63-0f6b094c1e15
is the first partition of the /dev/sdb
disk with FAT32
file system:
# blkid /dev/sdb1
/dev/sdb1: UUID="DA79-BCEA" TYPE="vfat" PARTUUID="7e169454-1df0-40bf-9c63-0f6b094c1e15"
#
According to this UEFI guide, the UEFI spec requires, that UEFI is able to read the (GPT
) partition table. Is this needed only during installing/editing the EFI Boot Manager? As I understand, the efibootmgr
adds the start sector and end sector of the partition to the EFI Boot Manager entry. For example, based on the example above, my EFI Boot Manager entry contains the 0x800
(2048
in decimal) and 0xee000
(974848
in decimal) which match with the start and end sectors shown by the fdisk
which reads those from the GPT
:
# fdisk /dev/sdb
Welcome to fdisk (util-linux 2.33.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Command (m for help): i
Partition number (1-4, default 4): 1
Device: /dev/sdb1
Start: 2048
End: 976895
Sectors: 974848
Size: 476M
Type: EFI System
Type-UUID: C12A7328-F81F-11D2-BA4B-00A0C93EC93B
UUID: 7E169454-1DF0-40BF-9C63-0F6B094C1E15
Does UEFI
need the access to the partition table in order to populate the EFI Boot Manager with start and end sectors information?
Or maybe UEFI
requires access to partition tables during each boot because it needs to find the partition matching the UUID
? If I understand this UEFI
guide correctly, then during the boot-up UEFI
will initialize every peripheral in no particular order until it finds a partition matching that UUID
. So in my example, it would read the 7e169454-1df0-40bf-9c63-0f6b094c1e15
from the EFI Boot Manager and then go through each block device and read their GPT until the partition with 7e169454-1df0-40bf-9c63-0f6b094c1e15
is found?