Dark's Code Dump

Possibly useful

UEFI won’t mount ESP and rEFInd reports “chain on hard drive failed”

Had this issue on an OVH (SoYouStart) server where I had reformatted the NVMe drives to 4K logical sectors, and then partitioned them to 100 MB ESP and remainder LVM.

The UEFI refused to mount the ESP, and when forcibly mounted could not read any files from it. Likewise OVH's network boot rEFInd reported "chain on hard drive failed", also failing to mount/read the partition.

After a lot of digging, it turns out EFI system partitions must be at least 260 MB when using advanced format 4K sector drives:

For Advanced Format 4K Native drives (4-KB-per-sector) drives, the minimum size is 260 MB, due to a limitation of the FAT32 file format. The minimum partition size of FAT32 drives is calculated as sector size (4KB) x 65527 = 256 MB.

Advanced Format 512e drives are not affected by this limitation, because their emulated sector size is 512 bytes. 512 bytes x 65527 = 32 MB, which is less than the 100 MB minimum size for this partition.

Source: https://docs.microsoft.com/en-us/windows-hardware/manufacture/desktop/configure-uefigpt-based-hard-drive-partitions?view=windows-11

The problem was immediately resolved after reformatting to a 300 MB sized partition.

Leave a Reply