Windows – Multi-Boot Windows 10 & Various Linux Distro on External SSD

bootcampmojavessdusbwindows

Running Mojave on MBP 2014. Just purchased a Samsung T5 SSD 1TB drive and want to run Windows 10 and various other linux distros (Elementary, Mint, Parrot Security, Kali) on it so I could take the drive with me and either boot from my mac or another computer. I got Windows 10 to work by following

https://9to5mac.com/2017/08/31/how-windows-10-mac-boot-camp-external-drive-video/

I was successfully able to boot between Mojave (on MBP HD) and Win10 (External SSD) by holding down Option key as it boots. I then made a bootable USB stick with Elementary OS and booted to that stick. I had already created a partition for the Elementary OS but went ahead and allowed it to partition it the way it wanted to during the install menus. I chose the partition that I had made before to which it changed it to EXT4. Then I created another smaller partition for swap. Once Elementary was installed, it asked for me to reboot. I held down Option and saw my MacOS drive, Windows (External SSD, which was actually the Elementary OS) and then EFI (External SSD, which was the Win10). I tried to boot into Elementary OS and just had a flashing cursor at the top and nothing else. Trying to boot into Win10, it would not get past the choosing where you want to boot from. Like it was locked up. Any ideas on how I can get this to work?

Best Answer

A short answer to your question will not fix your problem, but at least you may become more aware of the difficulties installing other operating systems on Macs.

Both Windows and Elementary install their boot files in the hidden EFI partition. When holding down the option key at startup, you invoke the Mac (firmware) Startup Manager. This startup manager does not detect all possible correctly installed operating systems.

The Mac Startup Manager assumes each EFI partition will only contain at most the boot files for a single operation system.

While both Windows and Elementary are using the same EFI partition, you will not be able to use the Mac Startup Manager to boot both operating systems.

Possible solutions are:

  • Use more than one EFI partition. A drive can have more than one EFI partition. Additional EFI partitions do not have to reside at the beginning of the drive.
  • Use a different startup manager. A free startup manager would be rEFInd. I prefer to install rEFInd so this manager can be booted from the Mac Startup Manager, the rEFInd will then allow you to select other operating systems. Actually, rEFInd instructs the Mac firmware to boot the selected operating system.

BTW, I have found difficulty installing most versions of Linux to use an EFI partition other than the default. I usually have to manually move the Linux boot files to an alternate EFI partition. Also, care must be taken to insure any Windows boot files are not overwritten by a Linux installer. The file that usually is overwritten is EFI/Boot/bootx64.efi. This file is copy of the EFI/Microsoft/Boot/bootmgfw.efi file.

You can access any EFI partition from macOS. To access the primary EFI partition on the first internal drive from the Finder, enter the command give below in a Terminal application window.

sudo diskutil mount disk0s1

To unmount, enter the command given below.

diskutil unmount disk0s1

In your case, make the appropriate substitution for your external drive.

Below are the elementary boot files store in the EFI partition. This image was captured from an VirtualBox install. Note: the files EFI/BOOT/bootx64.efi and EFI/ubuntu/shimx64.efi are identical.

b1