Hi, So I was using OpenBSD on a USB thumb drive to have a look at the EFI system partition of two laptops (one Windows 10, one Windows 11) when I realized that I couldn't mount the EFI system partition of the Windows 11 laptop at all because there simply wasn't any partition letter defined for it. Here's the (partial) output of fdisk -v on that laptop:
Primary GPT: Disk: sd0 Usable LBA: 34 to 2000409230 [2000409264 Sectors] GUID: da4367e3-0319-487a-a475-79535378e9ef #: type [ start: size ] guid name ------------------------------------------------------------------------ 0: EFI Sys [ 2048: 532480 ] 10aaba25-0b31-4784-a742-47744e0d1e95 EFI system partition Attributes: (0x8000000000000001) Required MSNoAutoMount 1: e3c9e316-0b5c-4db8-817d-f92df00215ae [ 534528: 32768 ] ec2ce10b-f72e-49a4-abac-9cb519913748 Microsoft reserved partition 2: Microsoft basic data [ 567296: 1995745280 ] 9422ea37-94b2-4692-89c1-0d4e28b28acb Basic data partition 3: Win Recovery [ 1996312576: 4096000 ] ceffc3ac-538e-42c7-b5fc-23200927e300 Basic data partition Attributes: (0x8000000000000001) Required MSNoAutoMount and the (partial) output of disklabel: 16 partitions: # size offset fstype [fsize bsize cpg] c: 2000409264 0 unused i: 32768 534528 unknown j: 1995745280 567296 MSDOS As you can see, the EFI system partition of that laptop has the "Required" attribute. Digging some more, I found these slides by Ken Westerback: https://www.openbsd.org/papers/eurobsdcon2022-krw-blockstobooting.pdf which confirm (slide 22) that the OpenBSD kernel doesn't "spoof GPT partitions with 'Required' attribute" anymore. That's also confirmed by the cvs log message for revision 1.261 of src/sys/kern/subr_disk.c: ======== Add #define's for GPT partition attribute bits REQUIRED, IGNORE and BOOTABLE, set BOOTABLE attribute bit instead of using the incorrect GPTDOSACTIVE value, have 'fdisk -v' print out GPT partition attributes if any of the 64 bits are set, don't spoof any partition with REQUIRED bit set. Prompted by kettenis@ stumbling across a machine with 40+ (!!) REQUIRED GPT partitions. ======== So... now what? I'm in a situation where I can't mount a FAT partition, and as far as I know there's no OpenBSD tool to manually edit GPT partition attributes either, so I'm stuck. The explanation from the cvs log is clear but would it be possible to not spoof "Required" partitions only on arm64 rather than all platforms (arm64 being the "machine" described in the cvs log message, according to the video of Ken Westerback's presentation)? Or maybe use the MSNoAutoMount attribute to undo the effects of the Required one with regard to spoofing? Philippe