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?