Triple-booting Ubuntu on MacPro w/ Win10 and High Sierra (two separate drives)

Solution 1:

You can make Ubuntu appear in the Startup Disk pane of the System Preferences application, but unfortunately you can not select Ubuntu as the system you want to use to start up your computer. For example, if you try with macOS 10.13.6, you get the following error message.

u4

However, if you have rEFInd properly installed, you can use an application to select the system you want to start up your computer. For example, I have the following rEFInd icon on my dock.

u2

Clicking on the icon produces the following window.

u5

Here, I can select the startup system.

The same is true for Ubuntu. I have the following rEFInd icon on the Ubuntu launcher.

u6

Clicking on the icon on the Ubuntu launcher produces the following window.

u7

Basic steps to implement this answer

  1. Allocate a small (200 MB) "MSDOS (FAT32)" partition for rEFInd. I would suggest at the end of disk1. The command for doing this is given below.

    sudo diskutil resizevolume disk1s2 999G 1 MS-DOS REFIND 200M
    

    Note: The above command will move up disk1s3 and place the new partition disk1s4 last.

  2. Download rEFInd.

  3. Install rEFInd on the "MS-DOS (FAT)" partition.
  4. Configure rEFInd to recognize the 3 operating systems.
  5. Install the software (scripts) in each operating system to choose the default operating system to boot at startup.

Brief explanation of use

rEFInd does not change the Startup Manager menu, except rEFInd itself will now appear in this menu. In fact, you will use the Startup Manger to make rEFInd the default operating system to boot at startup. rEFInd will the silently instructs the firmware to boot what ever operating system is defined as default in the rEFInd configuration file. The software scripts you install and execute on each operating system (as shown in my answer) rewrite the rEFInd configuration file to change the default operation system. – David Anderson 21 mins ago

So, if the firmware is booting macOS through a default boot to rEFInd and you hold down the option key at startup to boot to Windows, then this boot to Windows is temporary. Next restart will boot back to rEFInd, then to macOS. If you hold down the control key while selecting Windows from the Startup Manager, then Windows will become the default operating system and rEFInd will be bypassed.

You can use the Startup Manager to enable or bypass rEFInd. The firmware has two modes to startup the Mac. The first mode boots the default operating system every time. The other mode, boots a selected operating only on the next startup and leaves the default unchanged. The rEFInd Boot Manager only uses the second mode. So, when you use rEFInd, you are actually booting the Mac twice on each restart. The first boot is to rEFInd and then second boot is after rEFInd instructs the firmware to boot to the desired operating system