swapping disk with UEFI hardware - a dead end?

Matthew Garrett mjg59 at srcf.ucam.org
Thu Jun 28 21:25:43 UTC 2012


On Thu, Jun 28, 2012 at 03:03:55PM -0600, Chris Murphy wrote:
> On Jun 28, 2012, at 1:59 PM, Matthew Garrett wrote:
> 
> > The only obvious thing for it to boot is EFI/BOOT/BOOT${ARCH}.efi. 

> An optional file in an optional vendor subdirectory is the obvious 
> choice? Maybe a future spec could be more clear that the subdirectory 
> and an EFI image in it are required, who should provide it, and that 
> it should be used first in the case of invalid or missing BootOrder 
> variables in NVRAM.

It's not a vendor subdirectory. It belongs to the spec. It's also 
clearly not required, since you can have an entirely functional system 
without it.

> > Booting the first EFI executable you find on a drive is not a sensible 
> > thing to do.

> Puking in the face of the user with an incoherent boot failure message 
> is more sensible than trying the singular boot loader on the available 
> non-removable drive?

Yes. Of course any useful EFI implementation should then have an 
interface to choose your bootloader, but that's a somewhat separate 
issue.

> > Even Apple don't do that. Install Linux (only) on a Mac, 
> > zap the PRAM, see what happens - it'll boot if there's a blessed 
> > bootloader on an HFS+ partition, not otherwise.
>
> They have a vendor defined order, which 3.3 allows, even though Apple 
> EFI is not UEFI. When PRAM is zapped, the NVRAM is empty and nothing 
> is blessed, therefore the sequence I described earlier applies. That 
> it may fail on a singular valid boot loader in 
> EFI//EFI/redhat/grub.efi I'll take your word on, I haven't tried it 
> and if so it's pathetic but also really unsurprising.

Apple's firmware will only attempt to load either blessed files or the 
fallback path. The behaviour is basically identical to the one you're 
complaining about.


> And notwithstanding their non-standard EFI and ensuing problems and 
> incompatibility it has cause, the hardware does provide a vastly 
> superior UX in the same situation as the OP. Apple hardware absolutely 
> would have booted. Unquestionably. And this is not a boot loader 
> feature, or an OS feature, it is a firmware behavior.

What? No, Apple hardware wouldn't have booted. The only scenario in 
which it would have is if you had a blessed bootloader, which is clearly 
massively outside the EFI specification since it relies on HFS+.

-- 
Matthew Garrett | mjg59 at srcf.ucam.org


More information about the devel mailing list