This post is not a tutorial, it’s more like a kind of summery or experience sharing. Some stupid errors may be found and I’m really sorry for author’s limited English.
OS X, Windows and Linux, three amazing operation systems to us as well as our PC. There are many methods to make these three popular OS installed & boot correctly, but which method or trick do we use depends on the specific environment. Such as:
1. UEFI/Legacy BIOS?
2. GPT/MBR partition table?
Now comes to the current situation, Apple use UEFI + GPT in their own devices many years ago. If you own a real Macintosh, that will be defined as Condition 1: UEFI (Apple) + GPT. No any Apple UEFI emulation work needed for this.
Except Apple’s products, many earlier PC actually do not have full UEFI boot support, which seems that these computers can only use old common way to boot OS, and such legacy boot method is well supported by almost all Windows & Linux distributions. Meanwhile, only x64 Windows after Vista support booting from GPT using modern UEFI. We may consider this as Condition 2, that is BIOS + MBR.
For Hackintosh, UEFI + GPT seems the best way to fully match OS X’s requirements. Though Apple didn’t follow the new UEFI 2.x standard which being implemented by many other PC manufacturers, a powerful & highly customizable boot loader will help emulate Apple UEFI and fix a lot of issues. Consider the purpose of “perfect emulation” for OS X, we may use GPT partition tables even our motherboards do not have UEFI support. That’s the Condition 3: UEFI (Non-Apple Hardware)/BIOS + GPT.
These three roughly classified conditions shall include most common situations.
For Condition 1, the solution should be quite easy via rEFIt. rEFIt supports Hybrid GPT-MBR partition tables which introduced in Apple’s Bootcamp, and it provides a simple and friendly way to help Mac users install Windows and Linux. An useful article by rEFIt project here if you still get confused: Myths and Facts About Intel Macs.
Now let’s come to Condition 2, that’s the situation on many Hackintoshs. Undoubtedly, even today, MBR partition table still works fine and has nice compatibility in almost all partiton tools. To keep use MBR, Chameleon open source boot loader can be the best choice. In an usual case, the boot order will be like this: BIOS -> boot0 -> boot1 -> boot.
Chameleon is stable, highly customizable and works fine on both GPT and MBR. But it has one weakness that the Chameleon cannot emulate UEFI, which means that it cannot provides some UEFI based functions in OS X such as Boot Camp Assistant, Startup Disk and Recovery HD partition boot support. In order to get these functions work, a boot loader implements UEFI emulation like XPC, iBoot and Clover will rock.
Thus, to Condition 3, an EFI boot loader will be the best choice. In three boot loaders mentioned above, Clover seems to be the most powerful one and currently under active development. The boot process runs as below:
UEFI BIOS->BOOTX64.efi->Apple’s boot.efi->mach_kernel
Both ways works fine but UEFI way can really save much time. A disk initialized as GPT is recommanded and a 200MB EFI partition established by OS X Disk Utility can also be used to contain boot files in order to load other EFI OS.
Besides, the Multiboot PBR sector provided by Clover can switch between Chameleon & Clover by hot-keys during early boot process. For now, Clover still has issues booting non-EFI enabled Windows/Linux. So keep Chameleon alive at the same time is quite necessary.
Enough for the this long-winded post. Thanks for reading .