Comment 9 for bug 811485

Revision history for this message
Adam Thompson (athompso) wrote :

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!