1

I am running a 2009 MacPro (5,1) with two separate hard drives: on one, I've installed MacOS High Sierra. On the second, I used Bootcamp to install Windows 10 (legacy/BIOS, not EFI), then installed Ubuntu 18.04 using this guide. I can boot into all three systems using the Apple Startup Manager (holding ALT during bootup). The issue is that when I open High Sierra's "Startup Disk" menu (in System Preferences), I do not see Ubuntu. Only MacOS and Windows/Bootcamp appear in this menu. I'd like to boot into Ubuntu using the "Startup Disk" menu, and I think it is possible if I modify my EFI partitions as described in this second guide.

What would be the right way to do this?

/dev/disk0 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *2.0 TB     disk0
   1:                        EFI EFI                     209.7 MB   disk0s1
   2:                  Apple_HFS Mac Storage             1.2 TB     disk0s2
   3:       Microsoft Basic Data BOOTCAMP                485.9 GB   disk0s3
   4:           Linux Filesystem                         300.1 GB   disk0s4
   5:                 Linux Swap                         15.0 GB    disk0s5

/dev/disk1 (external, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *1.0 TB     disk1
   1:                        EFI EFI                     209.7 MB   disk1s1
   2:                  Apple_HFS Macintosh HD            999.3 GB   disk1s2
   3:                 Apple_Boot Recovery HD             650.0 MB   disk1s3
2

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

  • Thanks. My goal is to not install rEFInd, but fortunately the following terminal command will reboot into Ubuntu: sudo bless --device /dev/disk0s1 --setboot --nextonly && sudo reboot and this one for Windows: sudo bless --legacy --device /dev/disk0s3 --setboot --nextonly && sudo reboot I have created bash scripts to run these commands, and created docker icons that I can click to run the scripts. The result is the same in terms of booting into Ubuntu / Windows, but without having to install rEFInd. – vrl2 Sep 13 '18 at 13:35
  • Still struggling to find out how to boot from Ubuntu into either Windows or MacOS. Right now, it just resets to whichever OS is set as the default. Would you happen to know how to boot from Ubuntu to the other two OSs? – vrl2 Sep 13 '18 at 13:50
  • @vrl2: I updated my answer. – David Anderson Sep 13 '18 at 15:26
  • Thanks for updating with the Ubuntu info. Is there any way to accomplish this without rEFInd? I was looking into efibootmgr but not sure if this is a dead end. linux.die.net/man/8/efibootmgr – vrl2 Sep 13 '18 at 16:12
  • @vrl2: When running efibootmgr under Ubuntu on a my Mac, the boot order list appears to be either incomplete or corrupted. I am not sure how compatible this command is with the way Macs stores boot information. Another possible choice would be GRUB, but I believe GRUB is much more complicated than rEFInd. But, at least if have installed Ubuntu, then you probably already have GRUB installed. – David Anderson Sep 13 '18 at 16:46
0

I know this isn't the answer you're looking for, but I've been using Parallels on High Sierra, and it's been absolutely awesome. I've always prefered to run OSes on the metal, but the Virtualizer of todays hardware works fabulously now.

I've had zero issues, and since the realization of true virtualization, running MacOSX, Windows 10, and Ubuntu all at the same time has helped me develop apps for all three operating systems. I Strongly recommend going this route, because you don't have to reboot the Mac to go into the other operating systems. I can start up and shut down my Windows and Ubuntu VMs very quickly.

I use both Windows and Mac applications simultaneously using the Coherence mode, and prefer to run my Ubuntu Desktop full screen on a second monitor. I rarely have any issues, and my hard drive is fully encrypted using FileVault2, I don't even notice any performance issues with running several VMs. I am running with 32GB of ram though, BTW.

Model Name: iMac Model Identifier: iMac13,2 Processor Name: Intel Core i7 Processor Speed: 3.4 GHz Number of Processors: 1 Total Number of Cores: 4 L2 Cache (per Core): 256 KB L3 Cache: 8 MB Memory: 32 GB

I pay about 100$ per year for the Parallels subscriptions and Parallels Tools make the keyboard issues go away.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .