Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I've read everywhere that you can't have more than 4 partitions because of GPT on intel Macs. But what happens if you make more than 4? On my iMac I have EFI, Macintosh HD, Windows, Linux, and Linux swap partitions and I am able to boot from all three operating systems with rEFIt. So, I have 5 partitions, so why does it work? I made the partitions with Snow Leopard's Disk Utility by the way.

share|improve this question
add comment

5 Answers 5

up vote 13 down vote accepted

Intel-based Macs use the GUID Partition Table (GPT) by default. GPT in turn supports up to 128 partitions by default (that value can be increased if necessary, although most partition tools don't enable you to do so). Thus, there's no problem with having more than four partitions on an Intel-based Mac.

The limitation you've heard about is a distortion of the limitation on hybrid MBRs, which are a dangerous and standards-violating hybridization of GPT with the older Master Boot Record (MBR) partitioning system used on most PCs. In a hybrid MBR, up to three of the GPT's partitions are duplicated in an MBR data structure. MBR is limited to four primary partitions, and in a hybrid MBR the fourth primary partition is occupied by a special partition that identifies the disk as being a GPT disk. This fourth partition is often mistaken for an MBR-side duplicate of the EFI System Partition (ESP) that's present on most GPT disks, but it's not that.

Apple uses hybrid MBRs to enable Windows to dual-boot with OS X on Macs. Windows favors the MBR data structures, so it sees the disk as being an MBR disk, whereas OS X favors GPT data structures, so it sees the disk as being a GPT disk. (Linux, like OS X, sees a hybrid MBR as a GPT disk.) A hybrid MBR doesn't limit the number of GPT partitions you may have, but it does limit the number of partitions that the Windows installation can see, to no more than three.

Note that extended partitions and Extended Boot Records (EBRs) have nothing to do with hybrid MBRs -- or at least, they shouldn't! In the MBR scheme, extended partitions serve as placeholders for logical partitions, which are defined by EBRs. Using this scheme, an MBR disk can support a huge number of partitions -- theoretically about half as many as there are sectors on the disk, although practical limits are much lower than that. Disks with hybrid MBRs don't use extended partitions, though, because maintaining consistency between the GPT and MBR sides of the disk -- already a challenging enough task with regular hybrid MBRs -- would become much tougher.

share|improve this answer
add comment

It's not because of GPT. It's because of MBR. There are many problems with MBR and GPT compatibility which limit partition number to 4. If you aren't using MBR at all, which could be happening, everything should work fine. New versions of windows support GPT, so there is a chance that MBR isn't being used.

If you are using MBR, then I have no idea what's happening.

share|improve this answer
    
That must be it. I never used Boot Camp for either Windows or Linux, and I understand it's Boot Camp that does the GPT-MBR hybrid stuff. Also, I'm using 64 bit Windows 7 which I believe supports GPT. It makes sense now, thanks. –  Mk12 Jul 5 '10 at 17:29
add comment

I found this article which explains the partitioning scheme.

Essentially, if I understand the article correctly, there is an “Extended Boot Record” on one of the partitions on one of the primary four partitions which describes the extra "extended" partitions. Some legacy operating systems cannot see them.

Linux can see the extended partitions after the kernel is loaded. I presume you're able to boot properly because the Linux partition is on one of the four "primary" partitions.

share|improve this answer
    
I already knew about this, but I'm pretty sure they're all primary because I never made any logical or extended partitions, and I don't think the Disk Utility would do this without telling me. But thanks for the answer. –  Mk12 Jul 5 '10 at 17:31
add comment

While Windows 7 x86_64 supports GPT, it only supports UEFI or BIOS. Windows 7 does not support "Apple EFI" which is an amalgam of Intel EFI 1.1, and some bits of Apple's own and some bits of UEFI 2.x. It is not strictly a UEFI 2.x implementation which is what all non-Mac OS operating systems require. So this in effect limits Bootcamp (or rEFIt) users to using the CSM (BIOS), and thus require an MBR since BIOS only understands MBRs.

MBR=4 partitions, but 1 of which is reserved when it's a hybrid MBR, as mentioned it's to indicate that the entire drive is GPT so that you have some warning from an MBR-only aware partitioning application. So in effect hybrid MBR is limited to 3 partitions.

In theory you can choose which 3 of the potentially 128 GPT partitions you want exported to the hybrid MBR. But most tools don't let you do this. The only one I know that does is gdisk.

I agree that hybrid MBR is standards-violating and is a bastardization. My preference would be for Apple to issue a fully standards compliant UEFI 2.x firmware for all machines sold in the past few years. In particular it's annoying as balls that brand new machines sold today still are based on Intel EFI 1.1, not UEFI 2.x.

share|improve this answer
    
thanks for mentioning gdisk! sourceforge.net/projects/gptfdisk –  hcris Jul 18 '12 at 21:32
add comment

The problem here is that, as cmurphy says, Windows (x64) can't use Apple's EFI implementation(which is basically EFI 1.1). It needs either UEFI (EFI 2.0) or BIOS. But because Windows has an artificial limitation of tying up UEFI to GPT disks and BIOS to MBR disks, it needs some trickery to work. Specifically, Windows and OS X on an EFI 1.1 can coexist on a single drive "only" if Windows is fooled into thinking it's an MBR drive while it's actually GPT (OS X does not support MBR). This trickery is what is called Hybrid MBR - it's a dangerous and ugly hack like cmurphy says.

However, you CAN boot windows on GPT from BIOS IF you have any small MBR drive you can boot off, or even a floppy. It's not even a hack and will even work on Windows 32-bit.

Basically Boot into the Windows install/repair disc. Just create the system drive on the floppy, and use bcdboot to put your boot files on the floppy. Add a bootsector with bootsect. Change the {bootmgr} device to boot. Boot from floppy.

Steps are detailed here.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.