How-to Triple-Boot Windows, MacOS, Ubuntu and a shared DATA partition on the same disk

Preamble :

As Apple now turns to ARM processors for their MacBooks, killing BootCamp as a concept, then I though I should just make a short how-to install multiple OS’s on the older, soon to be considered useless, computers as they will probably be very affordable.

Apple created the official BootCamp concept for OS X Leopard 10.5 in 2007. They released an official installer to install OS X and Windows. However they chose to make it a hands-off installation which did not use the full potential of the concept.

Why bother :

The procedure I will outline allows to install :

  • Windows 7 or 10 on a NTFS partition.
  • MacOS up to and including High Sierra ( the computer does not support Metal so no Catalina ).
  • A shared DATA partition on a NTFS partition.
  • An Ubuntu installation with a root and a swap partition.

The benefit here is that you get two Windows accessible partitions instead of one. You can use them for whatever you want. I prefer one separate partition to hold DATA.

This requires five partitions and with some hidden extra partitions for boot and recovery that makes for seven partitions.

Introduction :

BootCamp as a concept is a slightly fragile mix of a disk simulating having been initialiased as a MBR disk yet really being a GPT disk. The first four partitions created on the disk will have a MBR identity. Additional partitions will not have a MBR identity, only a GPT identity and can only been seen by OS X and Ubuntu.

The difference from the official installation method is that one should make the partitioning from an OS X Installation DVD simply using Disk Utility.

The recent versions of MacOS has apparently crippled Disk Utility functionality so get a DVD for 10.9 Mavericks to do the partitioning. Maybe newer OS X versions will work too.

The official BootCamp concept installs OS X in the first partition before Windows. This is silly as the OS X recovery partition will take up a partition wasting a precious MBR partition ( seen from the Windows perspective ).

When you start partitioning, Disk Utility will silently create a small EFI boot partition as first partition. It will just be there. The first -official- partition to create should be the NTFS Windows System partition. The second should be the NTFS DATA partition. And the third partition should be an HFS+ journaled case insensitive partition. That defined the four MBR partitions and completes the operations for which Disk Utility is needed.

Remember to leave un-allocated space after the allocated partitions so Linux can be installed. And also leave some space to allow disk cloning ( see below ). A reasonable figure would be 50..100 GBytes.

You can now install whatever flavour of OS X ( ~ MacOS ) you want onto the HFS+ partition. OS X will silently resize the HFS+ partition to add a partition for recovery. It does so without destroying the MBR mapping and without taking up a MBR partition.

Thereafter you can install Windows. Windows will see the disk as a basic MBR disk. Nothing special. Then you install Support for BootCamp in Windows.

Support for BootCamp is actually nothing more than hardware drivers and a few utilities, as one to control the BIOS, selecting whether you boot to the Mac boot disk selection menu, or boot directly to Windows.

Thereafter you can install Ubuntu. It will install itself by accessing the disk as a GPT disk and use some of the un-allocated disk space. It will recognize that you have Windows installed and offer to install a GRUB boot menu that offers to boot either Windows or Ubuntu. I prefer using that option.

Booting between the three OS’s is therefore something like this. Either boot to OS X selection or Windows/Ubuntu selection as programmed into BIOS. That BIOS setting can be modified in OS X Preferences and in the Windows Task Bar. If you see the Windows/Ubuntu selection then you can choose which OS to boot. There is a default timeout which in effect allows the computer to boot to Windows or Ubuntu without human interaction.

Corrupt Partitioning Check ( rEFIt 0.14 ) :

The dual partitioning mapping ( MBR and GPT ) can get out of sync. I haven’t experienced this for years but it was quite normal to happen in the early days. It is therefore important to verify that the two tables are in sync. There is a utility to check this, called rEFIt 0.14. It is a nerdy thing, yet easy to use, that runs under OS X. Download it and do a check !

Backup :

There is really no safe way to backup this tricky disk system configuration. So I do something different. I make a complete disk copy ( ~clone ). To do so you must have ( at least ! ) two identical disks. Or spare disks which are the same size or somewhat larger than the currently used. Look for the number of sectors. Not just the number of GBytes.

Cloning is effectively done, booting into OS X Recovery Mode.

First un-mount the clone disk ( if mounted ) using Disk Utility.

Then get the disk numbers and use DD to clone the disk using a Terminal window. Use the procedure listed on the following web site to do the actual cloning ( yes it is from 2011 ) :

See the Clone Your Hard Drive section there for the required typing. It is marked in red for your convenience. It is only a few lines that needs to be typed.

You clone the whole disk in one operation. Not the individual partitions.

Hint – You may need to use the Caffeinate command to prevent the computer from going into sleep while cloning.

I have used DD for years as there were no reliable alternatives. Nowadays there are utilities for MacOS that claims to handle the hybrid partitioning scheme. But why bother ..

Updating :

Updating/refreshing each OS is no different from what one would do if there were only one OS on the disk. I even made an in-place update to Windows 10 from Windows 7, back in 2015. It just works.

Summary :

This is the old school way of managing multiple OS’s on one disk. Modern people prefers virtual environments like VMware. VMware player 15 ( the current version now ) is quite reliable but I prefer the real thing.