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.

Apple kind of killed BootCamp when introducing macOS High Sierra in 2017. The important feature of the Hybrid MBR scheme were no longer included in Disk Utility. This does not mean that BootCamp cannot be used with newer macOS versions up to and including macOS Catalina released in 2019. It is just more complicated to install.

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. If the computer supports Metal then also Mojave. Catalina can be installed too but is somewhat tricky to install. Newer macOS’es will not work.
  • A shared DATA or MEDIA partition on a NTFS or exFAT 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 :

The description below sometimes refer to OS X and sometimes to macOS. It is just left-over noise from revising the text the number of times.

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 ( macOS ) Installation DVD ( sort of .. ) simply using Disk Utility.

The Disk Utility program included in OS X and macOS will automatically create the Hybrid MBR support when a partition is created that is a Windows type, like FAT or NTFS. Simple as that. But notice the last version to have this feature was Sierra. The disappearance may be related to the introduction of the APFS file system introduced in High Sierra.

It is still possible to install support for the Bootcamp concept on computers intended to run High Sierra, Mojave or Catalina. It just requires using a Sierra version of Disk Utility to do the disk partitioning. No OS needs to be installed on the disk for this to succeed.

The MBR setup allows for four primary partition. We need a primary partion to boot Windows. The official BootCamp install tool from Apple 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 ).

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 you select to initialize the disk as GPT ( called GUID by Apple ). 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.

TIP : Having the HFS+ partition as the fourth MBR partition allows Windows to access the content of the HFS+ partition provided the proper driver is installed. If this feature is not needed then yet another NTFS partition could have been created instead, effectively moving the HFS+ partition outside the MBR visible range.

Remember to leave un-allocated space after the allocated partitions so Linux can be installed. And also leave some space to allow raw disk cloning ( see below ). A reasonable figure would be 10..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 ( if installed as the fourth partition ).

(*) Whatever means up-to and including Mojave. Using the recommendable mac program CCC, it is possible to install Mojave onto a HFS+ partition. It is not very easy, but do-able. Catalina do require an APFS formatted disk and it does not support the Bootcamp concept at all nicely. The way to install Catalina is first installing it to a single partition spare disk and then use CCC to copy the content over to the HFS+ partition on the main disk with the multi-boot partitions. CCC will convert the partition to APFS. You may loose the boot manager for Windows if you had already installed Windows. It is fixed by installing a dummy Windows 10 installation to the DATA partition. It will recover the boot manager and also install Microsoft dual boot between the Windows OS’es. You can then delete the new Windows 10 if you don’t want it.

To summarize :

  • Up to and including Sierra. Use the included Disk Utility for partition the disk. And install OS X or macOS in the 4’th partition.
  • High Sierra must be partitioned using the Sierra Disk Utility ( or older ). The mac format can be HFS+. No trouble.
  • Mojave is like High Sierra except that Mojave will re-format its partition to APFS if installed to a SSD. This can be tricked by installing to a classic harddisk and then use CCC to copy the installation to the SSD keeping HFS+. No trouble except it takes extra time and requires CCC.
  • Catalina is like Mojave except there is no way around APFS. This will for some reason kill the Windows boot information if Windows were already installed. This boot problem is solved by installing a dummy Windows 10 installation on the DATA drive ( the 3’rd partition ). This will fix the boot problem of the main Windows installation ( on the 2’nd partition ). The dummy can be removed afterwards.

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

Support for BootCamp is actually nothing more than hardware drivers and a utility one to configure 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. rEFIT cannot run on Catalina though.

Backup :

There is really no safe way to backup this tricky disk system configuration using a backup program. 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 ) :

Unix Geekery: Cloning a Dual-Boot Hard Drive With dd

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.

The recently ( April 2022 ) introduced Ubuntu 22.04 Jammy is said to remove Windows from the boot list managed by Grub, forcing you to do some manual steps. This is however not true for MacBook Pro’s. No problems.

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 at this writing ) is quite reliable but I prefer the real thing.