MacOS – Bootcamp + Custom hybrid MBR = PAIN

bootcamphard drivemacosunixwindows

I installed OS X to my MacBook from scratch. I mean used USB stick with installer and fully erased disk.

Then I created 5 partitions: One for OS X, one for Windows, two for Linux and one for Data:

| OS X - 1 | Windows - 2 | Linux - 3 | Linux2 - 4 | **Data - 5** |

Than I installed Linux and rEFInd to boot it.

Next I installed Windows. But it was awful without drivers, so I boot into OS X and created USB stick with drivers with BOOTCAMP. I boot into windows again, installed drives, rebooted, and saw only disk C: and D:, which are Windows and OS X partitions.

So I booted in Linux, and created hybrid MBR on my own, adding only Windows and Data partitions to it.

It worked. I was able to use Data on any system.

I had not booted windows for a week, and I installed OS X 10.11.2 update. And when I started Windows again, I could use only Windows and OS X partitions.

I think that BootCamp assistant or some other OS X program recreated Hybrid MBR. But they add only first 4 partitions, and Data is fifth!

How could I stop OS X from restoring MBR? Maybe I could make it not to be able to see Windows or remove bootcamp?

PS Sorry for my English

Best Answer

Update 1

I do not believe there is a way to keep OS X from updating the MBR table. It would appear that OS X relies on partition entries appearing in ascending order in the GPT. Also, OS X desires the index of each MBR partition entry to be the same as the partition entry in the GPT. Occasionally, when OS X finds a discrepancy, it will make a correction.

Users have found tools, such as gdisk, that allow editing of the MBR table. This will allow GPT entries with indices greater than 4 to appear in the MBR table. Fixes of this type are temporary since OS X may erase them at any time. Furthermore, El Captain (OS X 10.11), with SIP turned on (the default), will not let gdisk change the MBR table. Rod Smith has recently published changes to rEFInd which allow SIP to be turned on/off at boot time.

Since you refer to a Hybrid GPT for use with Windows, I will assume you have a Mac dated before 2012. My Mac is a 2007 iMac. I have run Vista in 32 mode and Windows 7, 8, 8.1 and 10 in 64 bit mode. These installs were not from upgrades, but rather clean installs into freshly formatted partitions. In each case, the Device Manager showed all devices working properly after installing the Boot Camp Support Software. Also, no version of the Boot Camp Assistant was used to install Windows. However, due to the limitations of my Macs firmware, I am required to install Windows in BIOS/MBR mode.

Along with Windows and OS X, I have also installed 64 bit Ubuntu Linux. Since Windows needs to be installed in BIOS/MBR mode, I decided to install Ubuntu in EFI/GPT mode. Also, to aid in choosing an operating system at startup, I install rEFInd in its own partition.

So how many partitions does that make my Computer? Let's count.

  • 1 EFI partition FAT formatted.
  • 2 Windows partitions NTFS formatted. (Sometimes I two different Windows installed)
  • 1 Fat formatted partition for data.
  • 1 OS X partition HFS+ formatted. ( I do not use Core Storage)
  • 1 OS X recovery partition HFS+ formatted
  • 1 HFS+ formatted partition (Sometimes I have an older OS X installed here)
  • 2 partitions needed for Ubuntu (currently empty, Ubuntu was installed)
  • 1 small HFS+ partition for rEFInd.

Since only Windows is required to use a BIOS/MBR scheme, it made sense to put all FAT and NTFS partitions first on my main drive. To do the same on a different computer depends on what equipment and software is available. In my case, I have 2 TB of external storage, a WinClone license, and a 40 MB/sec internet connection. I can boot OS X from the external storage which gives me the ability to image backup part or all of my internal disk and repartition as needed.

Original Answer

Well, the answer would seem obvious.

Put the Windows and data partitions before the OS X and Linux partitions.

I did this on my 2007 iMac and I have eliminated the problems you are having.

The easiest way to accomplish this is to install OS X on an external drive and boot from this drive. You then can repartition your internal drive. Then install OS X on the internal drive, followed by the other operating systems. This is what I did.

To explain what other installation options are available, I would need to know the model/year of your Mac.