[Bug 811485] Re: EFI SYSTEM PARTITION should be atleast 100 MiB size and formatted as FAT32, not FAT16
Adam Thompson
811485 at bugs.launchpad.net
Sat Dec 31 06:38:23 UTC 2011
The EFI/BIOS distinction does apply to the Windows boot process, but it applies ever earlier to the computer's IPL ("initial program load" - what the CPU automatically starts executing after poweron). The presence or absence of an MBR structure has no effect on whether a computer loads a legacy BIOS or EFI-style firmware at IPL - it is purely and entirely controlled by what code is present in ROM at (real-mode) address F000:FFF0 at the instant the CPU is powered on.
During a typical Ubuntu installation, what Windows thinks is happening during the boot process becomes completely irrelevant, although if Ubuntu and Windows arrive at different conclusions then yes, major brain-damage can occur.
As to the Allen's hardware, multiple independent sources confirm that HP
is, indeed, shipping UEFI-capable systems with a valid MBR *with* an EFI
boot partition. Yes, that's stupid, but given that I haven't seen a
single vendor (neither software nor hardware) ship a UEFI-based system
that's actually 100% UEFI-compliant, I'm not surprised. I've heard
anectodal reports of other OEMs shipping similar stupidity, HP's sadly
not alone. This seems to go hand-in-hand with "legacy-enabled UEFI"
firmware, which - I think, I don't have any examples on hand to check
right now - boots off an EFI-ish boot partition if one is present, even
on a non-GPT disk.
I would refactor Allen's request to be simpler: Ubuntu needs to be
*MUCH* more flexible when dealing with UEFI (and partial-UEFI, and
hybrid) systems, because the real world doesn't seem to actually conform
the UEFI spec. Not to mention that Ubuntu doesn't currently conform the
UEFI spec, either, which is a problem unto itself.
The GPT specification *requires* a Protective MBR, and in all
implementations found "in the wild" today, any GPT disk will/must/should
have a valid MBR structure at LBA sector #0. The assertion that the
presence of an MBR causes Windows to "boot in BIOS mode" is both untrue
in my experience and impossible according to the GPT specification.
That decision point comes much later, and as of at least Win7 x64
(possibly earlier, not sure), the MBR boot process is very, very similar
to the EFI boot process: even MBR systems get a small boot partition.
Thanks to HP, it's entirely possible that Allen's system does not have a
GPT disk yet still uses UEFI firmware to boot; that situation is no
longer impossible.
Regardless, we all agree that Ubuntu's handling of UEFI+GPT systems
leaves a lot to be desired. I can't imagine that it's handling of some
of the newer hybrid-UEFI or UEFI+MBR systems out there will be any
better!
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to partman-efi in Ubuntu.
https://bugs.launchpad.net/bugs/811485
Title:
EFI SYSTEM PARTITION should be atleast 100 MiB size and formatted as
FAT32, not FAT16
Status in “partman-efi” package in Ubuntu:
Confirmed
Bug description:
Create a EFI SYSTEM PARTITION of minimum 100 MiB size (200 MiB
recomended). Also partman-efi should use FAT32 instead of FAT16 for
EFI SYSTEM PARTITION as mandated by the UEFI 2.3.1 Spec. FAT16 ESP
partition is not recognised by Windows 7 UEFI bootloader because of
this.
The below quote is copied form the UEFI Specification 2.3.1 - Chapter
12.3 File System Format.
[QUOTE]
EFI encompasses the use of FAT32 for a system partition, and FAT12 or FAT16 for removable media. The FAT32 system partition is identified by an OSType value other than that used to identify previous versions of FAT. This unique partition type distinguishes an EFI defined file system from a normal FAT file system. The file system supported by EFI includes support for long file names.
FAT defines that all files in a directory must have a unique name, and
unique is defined as a case insensitive match.
UEFI does not impose a restriction on the number or location of System Partitions that can exist on a system. System Partitions are discovered when required by UEFI firmware by examining the partition GUID and verifying that the contents of the partition conform to the FAT file system as defined in Section 12.3.1.1. Further, UEFI implementations may allow the use of conforming FAT partitions which do not use the ESP GUID. Partition creators may prevent UEFI firmware from examining and using a specific partition by setting bit 1 of the Partition Attributes (see 5.3.3) which will exclude the partition as a potential ESP.
[/QUOTE]
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/partman-efi/+bug/811485/+subscriptions
More information about the foundations-bugs
mailing list