grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: grub-mkrescue: Problem with MBR partition table at start of EFI part


From: Chris Murphy
Subject: Re: grub-mkrescue: Problem with MBR partition table at start of EFI partition
Date: Fri, 14 Jun 2019 18:15:00 -0600

Sorry, I lost track of this thread, but read through it and doesn't
appear I need to provide anymore info.

I would not be surprised if there are either bugs or intentional
oddity with the firmware in Apple hardware. Only recently is it based
on UEFI 2.x, for a long time it was based on Intel EFI 1.10 with a lot
of Apple only stuff added on top of that. It would not at all surprise
me if much of this is non-standard, not documented, and varies from
model to model. In fact it would not surprise me if it varied quite a
lot based on firmware revision for the same model.

For a long time, Apple's strategy for (back then) Mac OS X and Windows
dual boot was to use Intel/Apple EFI boot for OS X; and to use a CSM
mode to present BIOS to Windows. My vague recollection to trigger CSM
enabled:

1. boot disk must have "hybrid MBR" i.e. PMBR replaced with an MBR
with a partition that "protected" the LBA range for Mac OS X
partitions, and a second partition as a mirror of the GPT's Windows
partition. Super screwy and I have a million posts on Apple forums how
to fix that crazy shit when users would try to install a 3rd operating
system, which of course replaced the hybrid MBR with a PMBR and would
blow up the ability to boot Windows.
2. Bootloader code in the first 440 bytes of LBA 0.
Those two things must be true to even get the user visible option to
boot Windows
3. Choose the icon labeled Windows (either in the firmware's graphical
boot manager; or the Mac OS X startup panel which I guess wrote some
hint into NVRAM to boot Windows).

Also, I found that if I formatted the internal drive's EFI system
partition as FAT12, the firmware would faceplant. No error, no booting
of anything, just a black screen. Reformat as either FAT16 or FAT32
and it was OK.

Anyway, the point is, I'm not surprised goofy things happen with Apple
firmware. Perhaps circa 2015 or 2016 there's hardware that will EFI
boot Windows but I don't have such hardware.

So yeah, with Macs you very well might have to poke it with a stick to
find out how it works. And then whatever software change you need to
make in the pre-boot environment, even just a partition map, could be
so weird that you have to poke a lot of other hardware with that same
stick the same way with the same moon phase, to make sure you haven't
accidentally triggered some goofy firmware bug in otherwise working
hardware. I sorta sympathize with people who buy expensive hardware
and it does crazy shit they didn't think they were buying. But, life
is full of unfair, and this is pretty predictable what happens when
companies depart from specs and standards. And it's a big reason why I
haven't bought Apple hardware since 2011.

But in the meantime, I also have ISO images from Apple, the original
ones for this 2011 Macbook Pro, if anyone wants to look at that
madness.

I can tell you the Microsoft Windows ISO (udf) dd imaged to a USB
stick will not boot either my Macbook Pro or my hp spectre (2016). I
have to MBR or GPT partition a USB stick, format it FAT32, and cp -a
the files onto it, that the HP will boot, still the Mac will not (that
2011 Mac will not USB boot with the CSM; CSM booting is only possible
with optical and internal drives).

Anyway, esoteric stuff.

---
Chris Murphy



reply via email to

[Prev in Thread] Current Thread [Next in Thread]