#212 gptsync mishandles apple boot partition in Mac OS X Lion


The gptsync tool in rEFIt 0.14 adds the Apple_boot partition to the MBR table when it shouldn't. The gptsync tool also adds the EFI protection partition to the MBR table as well. I'm not sure of the later is required, but the first certainly is not. The end result is that one of the operating systems in the triple boot configuration won't boot.

### Symptoms ###

Selecting to boot Linux from the rEFIt menu boots Windows. This occurs even though the grub bootloader is properly installed on the Linux partition as instructed on the rEFIt Web site (i.e. not at the root level). Selecting Windows at the rEFIt menu boots Windows. Selecting Mac OS X boots Mac.

### Cause ###

The gptsync tool appears to place the first 4 GTP items in the MBR table. Unfortunately, one of these items might be the Apple_boot partition that is created with OS X Lion. Thus, the third operating system in affect becomes a 5th partition, which of course won't work in this implementation.

### Suggested Resolution ###

The easiest solution would probably be to have gptsync simply ignore the Apple_boot partition (and possibly that other EFI partition), and only sync other partitions from GPT. A more difficult solution would be to provide an interface allowing the customization of what partitions get synced, and then distribute documentation.However, I don't know much about this stuff to say definitively if there would be any side affects with that, so I leave the decision in the hands of someone who is much smarter than I.

### Workaround ###

For others experiencing this problem right now, there is a workaround and it simply requires manually editing the MBR table. I discuss the steps that I had to go through in an article here to serve as an example: http://jonsview.com/fixing-mbr-tables-on-imac-or-mbp-triple-boot-setups


  • Joe van Tunen

    Joe van Tunen - 2011-11-07

    The Apple_boot partition does not need to be in the MBR because EFI is used to boot that partition and EFI can see the partition in the GPT.

    The EFI partition does not need to be in the MBR because it's not used for booting anything. The EFI protection partition in the MBR usually covers both the GPT (at block 1) and the EFI partition (which usually starts at block 40).

    The gptsync tool is not good for disks that have more than 3 partitions. instead, you should use a different utility such as fdisk, gdisk, or iPartition and manually select which partitions from the GPT that you want to appear in the MBR.

  • Sean Constantine

    Any update to this bugtraq that we may hope to see in the future? Thanks for the great tools!

  • Atlanx

    Atlanx - 2013-11-01

    rEFIt is no longer actively maintained.

    But probably the problem was fixed in the new rEFInd.

    rEFInd : http://www.rodsbooks.com/refind/

    ::News from rEFIt website::
    "2013-03-29: As you may have noticed, rEFIt is no longer actively maintained. Please check out rEFInd, a fork that is maintaned and under active development."


Log in to post a comment.