Contribute
Register

Mac OS + Windows + Linux Multiboot Tips

Status
Not open for further replies.
Joined
Mar 24, 2017
Messages
66
Motherboard
Asrock z270 Extreme 4
CPU
i7 7700k
Graphics
Intel HD630 + GTX 980
Mac
  1. MacBook Pro
  2. Mac mini
Mobile Phone
  1. Android
  2. iOS
I recently went through the process of installing a multiboot system with Mac OS, Windows, and Linux Mint together. I didnt follow any guides out there so I thought I would explain some of the process I learned while getting it to work.

First of all, a quick explanation of my setup. I had originally used this computer as a dedicated gaming machine. So the Windows partition is on its own drive completely separate. These tips will be more focused on using dual partition of Mac OS and Linux Mint on a single drive. If you are planning to run all three partitions on one drive, you might have to adjust some things slightly.

The first thing to decide I believe is what operating system is going to control your partitions. If you partition with Linux, you will always have to use linux for any partition changes. If you partition with disk utility in Mac OS, you will always have to use disk utility. I have found apps like gparted in linux to be far superior to disk utility, so I personally chose this route. I also felt this was safer as well since linux is a cinch to load in any situation. If you chose disk utility route and in the future you are not able to boot in the mac os, then things might be a little more difficulty. Where as with Linux no matter what happens you can always live boot off of a thumb drive. Disk utility is not able to resize things as well after the partition is made. This is why i also like gparted and GPT partitions. You can pretty much rearrange anything after the fact.

The biggest struggle I ran in to was loading grub and clover on the same EFI. There were a couple of reasons for this when I attempted. First of all, there is usually not enough space on a standard EFI to have both of the loaders installed. I recommend manually creating your EFI partitions to around 512mb. In this case however, I decided it was easiest to have two different EFI partitions instead.

So start by loading up your Linux OS install off of a thumb drive. When Linux asks how to install, make sure you chose "Something Else" so that you can manage your own partitions. Start by creating two 512mb EFI's at the start of the drive. Next create a linux swap partition (I usually place this at the end of the drive). The swap size should be pretty much equal to the amount of system ram you have. Next create your partitions for Linux and Mac OS. You can split the size of the partitions to your own liking at this point. Set the format for the Linux partition as ext4 like normal, and the format for the Mac OS side as fat32. The FAT32 is necessary for the Mac OS side for doing the Mac OS install. When installing Mac OS later, disk utility will not recognize an ext4 partition and will not let you select it for reformatting.

Install linux mint as normal from here on the ext4 partition (you might have to set the root mount as /). You can try to install the boot loader path to the second EFI, but most likely it will bypass your selection. This is partly why I have decided to use two EFI's as well. Once linux installs and boots up for the first time. You will have to transfer your bootloader files from EFI 1 to EFI 2.

Open Linux terminal and follow these commands.

First create two directories for mounting your EFI's.

sudo mkdir /mnt/EFI1
sudo mkdir /mnt/EFI2


Next run

sudo blkid

This will give a list of all of your partitions and there ideas. Pay attention to the /dev/sda1 type information of the EFI's. You will need to get their identifiers for mounting. Next use these examples to mount your EFI's to the previous created directories.

sudo mount /dev/sda1 /mnt/EFI1
sudo mount /dev/sda2 /mnt/EFI2

Just make sure to replace the /dev/sda1 and /dev/sda2 to match the identifiers to your EFI partitions. Next you need to copy the EFI over.

sudo cp -R /mnt/EFI1 /mnt/EFI2

From here you can double check and make sure everything copied over by comparing the directories in a file browser or through terminal. EFI2 should be empty before the copy, so if there is an EFI file there then it should be good to go. Next clear out the original EFI1

sudo rm -R /mnt/EFI1/EFI

Check and see that EFI1 is now empty. If it has been deleted, then go ahead and restart the computer and see. You might have to change the boot bios in the motherboard to boot from the second partition, but everything should go as normal.

Now you should be totally clear to install Mac OS as normal. The first EFI is totally clean and ready for use so there shouldnt be any conflicting problems. After Mac OS and clover are installed with EFI1, clover should cleanly recognize grub on EFI2 which means clover will manage all of the boot loading of windows, linux, and mac os from this point on.

Im sure there are other methods for doing this, but this works very well for me.
 
What do you recommend when i have on one ssd Macos and the other ssd Win10. Should i create a partitian on the Macos drive or the windows drive?
I also read threads that GRUB is not needed or that it should be installed on the same drive where Linux (ubuntu/Lubuntu) is installed, because Clover is installed and should be able to boot Linux.

Thanks for any answer on this.
 
What do you recommend when i have on one ssd Macos and the other ssd Win10. Should i create a partitian on the Macos drive or the windows drive?
I also read threads that GRUB is not needed or that it should be installed on the same drive where Linux (ubuntu/Lubuntu) is installed, because Clover is installed and should be able to boot Linux.

Thanks for any answer on this.
I would recommend loading it on to the MacOS ssd. You are correct that grub is not necessary because clover is boot manager for all of them.
 
Thanks!
The Macos is 120GB and the windows 500GB. but a minimum install would be fine. It's just for testing things.
 
Hi
thank's @Delphius, this is an awesome tutorial !

I have two question though.

First,
I got the idea that my had drive will have 5 partitions :
1)EFI1 2)EFI2 3)LinuxOS 4)MacOs 5)LinuxSwap

What format do you use for you EFI partitions ?
3) is ext4 ; 4) is HFS ; 5) Is Swap ; but EFI1 and EFI2 ???






Second,
Now if I'm right,
- Linux will install it's bootloader - grub? - in EFI1 by default and we manually move it to EFI2
- MacOS will also install it's bootloader - clover? - in EFI1, and we let it there

Now imagine I'm messing around a bit, and :
- I want to do a clean install of MacOS
-the install process
- won't affect the partition 2)EFI2, 3)LinuxOs and 5)Linux Swap
- but it'll change 1)EFI1
- if for some reason I don't go all the way down and do not install clover on 1)EFI1, will I be able to boot in linux and how ?​

- I want to do a clean install of Linux
- the install process
- won't affect the partition 2)EFI2, 4)MacOs (and 5)Linux Swap)
- but it'll change 1)EFI1
- once I'm done I'll be able to boot in Linux from 1)EFI1, but not anymore on MacOS
- but if I want to boot in MacOS, I'll have
- to duplicate 1)EFI1 in 2)EFI2 and clear 1)EFI1
- boot with a my macos-install thumbdrive and install clover again, into 1)EFI1.​

Am I right ?

Have I miss something ?

Thank's in advance for your reply

Regards
 
Last edited:
Let me tell how i did it yesterday.
What i already had was, High Sierra on a 120GB ssd and Win10 on a 500GB ssd.
1. I unplugged the High Sierra ssd.
2 booted win10 and created a partition of 50GB and left it unallocated (do not do this when the Macos drive is still connected, this gives problems due to windows writes mbr and mess things up)
3 booted USB with Ubuntu Mate
4 created a 8GB partition from the 50GB i created before
5 the remaining approx 42GB becomes ext4 for the installation and the 8GB part for the swap file
6 choose the 42GB part also to install grub on (there seems no option to not install grub)
7 rebooted and now grub came up, and i could choose Ubuntu Mate or Win10
8 choose Ubuntu Mate and finished the installation
9 reinstalled the Macos SSD again and set the boot option in BIOS correct so that drive would boot first
10 clover sees the linux drive ok
11 i can boot Macos and Win10 and when i choose Linux then grub first comes up and then i choose linux Ubuntu Mate
 
Let me tell how i did it yesterday.
What i already had was, High Sierra on a 120GB ssd and Win10 on a 500GB ssd.
1. I unplugged the High Sierra ssd.
2 booted win10 and created a partition of 50GB and left it unallocated (do not do this when the Macos drive is still connected, this gives problems due to windows writes mbr and mess things up)
3 booted USB with Ubuntu Mate
4 created a 8GB partition from the 50GB i created before
5 the remaining approx 42GB becomes ext4 for the installation and the 8GB part for the swap file
6 choose the 42GB part also to install grub on (there seems no option to not install grub)
7 rebooted and now grub came up, and i could choose Ubuntu Mate or Win10
8 choose Ubuntu Mate and finished the installation
9 reinstalled the Macos SSD again and set the boot option in BIOS correct so that drive would boot first
10 clover sees the linux drive ok
11 i can boot Macos and Win10 and when i choose Linux then grub first comes up and then i choose linux Ubuntu Mate

Hi dude

thank's for your reply.

It however only partially address the issue I would like to rise.

First because your case is diferent to mine, i only have one ssd, and macOS is not installed yet,

Second because it do not reveal how do grub and clover works


The aim would be to be able, if possible, to re-install macOS as many times as I wish without breaking linux, that would be installed first.

One question could be, for isntance, is the uefi attempting to run what's on efi1 and if threre it no answer it attempt to run what is on efi2 ?

the underlying questions could be
If clover is on efi1 and grub on efi2, and I delete clover, will grub be run ?
if not why ? and can I simply reinstall grub on efi2 to boot again in linux, or would the instal of clover on efi1 will also mess around and prevent to simple do that ?

Also why would I need two efi?
with the most basic linux install, the installer install grub on the same partition as the OS, so why would I need to separate the efi's. It sound's like one efi for clover is enough... if not why

Do you see where am i going ?

these question are beyond hackintosh, the ask how efi and bootloader works and behave, how can they be installed or re-installed, potentially independently from the OS.
The seem to be the basics on which our implementation of dual boot should be rooted
 
A lot of questions of which i do not have the exact answer except for my own experience.
I'm not sure if this will work, am i correct that you would like 3 Os-es on 1 SSD? I think that will be though. Because with either OS you would install after another installed OS, it would mess up the bootloader of the other. And i believe that is why most take 2 or 3 drives.
If you install Macos then disconnect the other drive where you would like Windows for example, same counts if you want to install windows or Linux, then disconnect the other drive where Macos is installed.
In this case of multiboot Clover would be always your number one bootloader.
I guess the best is Macos on one drive and Windows and/or linux on another drive.

And when you have it all running then you can simply update the MacOs, you boot to it and you update it.
There are a few good tut's here on how to do it.

Also for a bit more knowledge you could also check Refind (google for it) which is a bootloader for MacBooks and such, to create multiboot on a Mac. I did that too before because on a previous job i had a Macbook and i needed win8.1 and win10 too. Cost me 2 days to get it running, because it messed up bootloaders but finnally i had it working also in tripple boot (but not linux which was also possible)
 
Yop

The idea is indeed to have 2 or 3 Os on the same drive.

I understand the route you suggest, with two drives, but I'm certain it's not the only route, however finding the outhers routes involve to understand how efi boot partition, bootloader works and what do OS installers do when they install theie bootloader.


Event if it might seems freaking, it really doesn't matter that each new os install break down the bootloader of the previously installed os.
Indeed, at least with linux, you can re-install the bootloader anytime, without toutching the OS. An I actually belive it is the same with clover, but it still need to be confirmed.

Thinking like this, we may imagine a sdd with 5 partitions
disk0p1 -> EFIBoot1 (for clover)
disk0p2 -> EFIBoot2 (for grub2 : linux bootloader)
disk0p3 -> LinuxOS
disk0p4 -> MacOS
disk0p5 -> LinuxSwap

- if the uefi look for a bootloader in the EFIBoot partitions, by order, and run the first bootloader it find, it'll run clover if clover is installed, and grub if grub is installed.
- if the uefi look for a bootloader in the EFIBoot partitions, according to a user defined order, it'll also and run the first bootloader it find, it'll either run clover or grub, depending of my choice.

in both case
- if I delete clover, grub will still be ran
- and if I delete grub, clover will still be ran

Finally if deleting a bootloader break down the other one, even if they are on separate partition, then I can simply re-install one, the other or both bootloader by booting either from a linux live usb or the MacOS install USB (who has clover).

In such circumstances, we could mess around with one OS and its bootloader without having to reinstall everything, but only grub or clover, which takes 5minutes and not a whole day !
 
Status
Not open for further replies.
Back
Top