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.
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.
Clicking on the icon produces the following window.
Here, I can select the startup system.
The same is true for Ubuntu. I have the following rEFInd icon on the Ubuntu launcher.
Clicking on the icon on the Ubuntu launcher produces the following window.
Basic steps to implement this answer
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.
Download rEFInd.
- Install rEFInd on the "MS-DOS (FAT)" partition.
- Configure rEFInd to recognize the 3 operating systems.
- 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
Best Answer
You first need to determined the identifier for the APFS
Preboot
volume from the output of the commanddiskutil list
. Below is an example.From the above output, the identifier for the APFS
Preboot
volume isdisk1s2
. If you have a different identifier, then make the appropriate substitutions. Enter the following commands to copy theicns
file to thePreboot
volume.In the above example, there are two versions of macOS installed in the container. The
Muskie
volume has High Sierra installed. TheSnapper
andSnapper - Data
volumes have Catalina installed. When booted to the Mac Startup Manager, the.VolumeIcon.icns
file, stored in the root of thePreboot
volume, is used to display the same image for both operating systems.If you wanted different images in the Mac Startup Manager for each version of macOS, then you could install both versions of MacOS in different containers. Or, the same container could be used, but I am not sure if this would work when encryption is employed. An example is given below.
The previous example used the
/Users/admin/Desktop/icon.icns
file. In this example, this file is replaced by the two filesHigh Sierra.icns
andCatalina.icns
stored in theDesktop
folder of your Catalina account. Images of both files are shown below.The following steps could be used to install the
icns
files.Boot to Catalina and enter the commands given below to remove any existing
.VolumeIcon.icns
file from the root of thePreboot
volume.Enter the following command to install the image for High Sierra.
Boot to High Sierra and enter the command given below to install the image of Catalina.
Update for Big Sur
The
Preboot
volume is already mounted at/System/Volumes/Preboot
. To change this volume while using macOS Big Sur, first you will have to disable SIP.