After I installed Ubuntu 20.04 on this machine, now it’s definitely safe to call this whole setup the ultimate gaming and workstation machine. This machine has Windows, Mac OS and Ubuntu, the finest triple of operating systems all installed and co-existing well. Now let’s get into some detail.
This machine got 3 hard drives, a 500GB Samsung SSD, a 1TB Samsung SSD and a 3TB Seagate HDD, but not with one OS on each. Prior to installing Ubuntu, Windows was on the 500GB drive and Mac OS is taking the full of 1TB drive. That was a pretty common setup where Windows and Mac OS both have a system drive for their own and because they are physically on two different drives, their EFI partitions are different, meaning in most cases they won’t interfere with each other. Remember not to put Windows and Mac OS on a same physical disk even if you are using UEFI, which in theory should work but Windows is kind of destructive and especially when you have one of those Windows updates where it completely ruins your bootloader for Mac OS.
I was pretty comfortable with that setup for quite some time because Windows is mainly for gaming and Mac OS is good for work. Until recently I was working on a project that involves heavy PyTorch and GPU usage. Since I got an RTX 2080, the only way I could utilize that is by using CUDA on Windows. Nvidia has dropped the driver support for it’s graphics cards for Mac OS since it’s breakup with Apple a few years back and the CUDA support is nearly zero on Mac OS (you can still use CUDA if you have one of the old models which has Nvidia GPU and is still running 10.13). But i do not feel very comfortable working on Windows anymore, especially now that I have almost deleted everything work-related and am only keeping games and entertainment on Windows. Given that, the only way out is to turn to Ubuntu where CUDA is also supported. I do have a third drive (the 3TB data drive) that I can install Ubuntu on but I really want to have the OS installed on an SSD so the problem is clear: how can I install Ubuntu onto one of the two SSDs.
Apparently the only sane way is to squeeze some room from Mac OS and install Ubuntu on that disk because Mac OS, unlike Windows, would not mess up with other stuff. It’s actually easier than I thought to shrink the size of Mac disk and make a new partition. Just go to Mac OS Disk Utility, select the disk and hit partition. Remember do not select “create volume” as our goal is to create a new “physical” partition instead of having a “virtual partition” managed by Mac OS. It doesn’t matter which file system you select when partitioning, just use one of Apple’s default ones (APFS or HFS+). After that, make a Ubuntu OS image to a flash drive. Etcher is a very good flashing tool works on all three platforms, highly recommended. Now just install Ubuntu as you normally would, the only part you need to pay attention to is selecting where Ubuntu should be installed. Make sure you select the partition that you just created and check format to ext4 and mount at /. That’ll do for the most common cases. Now we have 3 operating systems installed on essentially 2 disks, hooray! If you want to switch OS, simply select the UEFI that you want to boot from on the startup screen of your MOBO. Mine is ASUS ROG z390-e and it has a shortcut of F8 to give you a quick menu for selecting which UEFI file you want to boot. I believe there is a way for the bootloader such as Clover and Opencore to take full control of the OS selecting process but that will not be discussed here.
Always be careful and back your data up before performing any destructive and potentially irreversible actions since data is priceless! In order to be more sure that Windows is not going to be able to mess other OS up, disable drives that are not needed in Windows so that Windows will not try to mount them at all. This also applies to Mac OS and Ubuntu, but they are very unlikely to give you a hard time.