Triple boot: Fedora, Windows, macOS

Hi.

After more than 15 years of using macOS, my old MacBook (Late 2008), used currently by my kids, needed a new SSD and an up-to-date OS, so I thought that besides reinstalling the last supported version of macOS (El Capitan), I would additionally install both Windows and a Linux distro.

As a side note, some 20 years have passed since I have played around with Linux distros, but I am happy to get in touch with Linux again, and to have chosen Fedora Workstation for this purpose.

So what I did is:

  • reinstall macOS
  • install Windows 7 via Bootcamp (last supported version)
  • upgrade from Windows 7 to Windows 10
  • install Fedora on the same disk.

My last step removed Windows from mac’s boot menu, keeping only macOS, macOS recovery and Fedora. I later found out by looking up online that installing Windows via Bootcamp creates a hybrid MBR, and installing Fedora afterwords turned the partition table back to GPT.

I have read that I could try to change the boot sector back to hybrid MBR, but it would be risky and not advisable, so I would like to stay away from that workaround.

So my question is if there is any possibility that I could also boot into Windows from within grub’s menu?

This is my output from sudo fdisk -l:

Disk /dev/sda: 447.13 GiB, 480103981056 bytes, 937703088 sectors
Disk model: KINGSTON SA400S3
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 69DD3A38-C56F-4AC7-A6AC-EC2B6E9A2E25

Device         Start       End   Sectors   Size Type
/dev/sda1         40    409639    409600   200M EFI System
/dev/sda2     409640 235261607 234851968   112G Apple HFS/HFS+
/dev/sda3  235261608 236531143   1269536 619.9M Apple boot
/dev/sda4  236531712 549031935 312500224   149G Microsoft basic data
/dev/sda5  549031936 550260735   1228800   600M Apple HFS/HFS+
/dev/sda6  550260736 552357887   2097152     1G Linux filesystem
/dev/sda7  552357888 937701375 385343488 183.7G Linux filesystem

Interesting enough, in the grub boot menu I also have the macOS entry, but not as /dev/sda2, but instead as /dev/sda3 (which is the recovery partition). Of course, I cannot boot from here into macOS, or macOS recovery, for that matter.

The output from sudo os-prober is:
/dev/sda5:Mac OS X:MacOSX:macosx
(whereas /dev/sda5 is Fedora’s EFI partition).

I could easily settle on dual-boot only (macOS and Fedora) on this macbook, but not before reaching out and searching for a triple-boot-solution.

Thanks.

Should I remind myself that this is a Fedora/Linux forum and just forget about Windows? :slightly_smiling_face:

Maybe ask in an Apple forum. Current Linux distros are capable enough that the number of liunx users who need Windows is declining and with, current hardware, multiple VM’s are less hassle than multi-boot. End result is that very few people share your problem.

Fair enough. I guess it was rather a personal ambition than a real need to use Windows.

Before I give up, I would like to ask one more question: is it possible to edit grub (manually?), i.e. creating an entry for an existing Windows installation/partition, and make it bootable from within grub’s menu?

When dual booting macOS and Linux I used rEFind. I occurred to me to search for “rEFind triple boot”, which led to Triple Boot Macbook Pro Windows Linux. This suggests installing Windows to an oversized partition, shrinking the partition, installing linux, and then installing EFind. The rEFind project seems still active,

Thanks for the suggestion. It was my mistake that I didn’t mention before: I have read about rEFind, and saw that it can boot multiple OSes.

Given that rEFind is an additional mini-OS (if it can be seen that way), it is another system to take care of. Would you know if there are any security risks by using it (generally, and specifically if not kept up to date)?

You might instead boot fedora then use libvirt/qemu to run a VM where you install windows. This would avoid the triple boot entirely and only dual boot.

I have windows 11 installed that way in a VM on my main desktop.

Thanks @computersavvy . I also value the convenience of VMs, but the MacBook used for this purpose is an old one with limited RAM, so running Windows in a VM is not an option.

Take a look at its git repository at https://sourceforge.net/p/refind/code/ci/master/tree/

With an old Mac there are security risks associated with old versions of macOS and Windows. You may find that modern linux meets your kids’ needs, but depending on your kids and their friends, you may have assume the system will be broken early and often, so backups and recovery are a priority. You may want to consider Chrome OS Flex.

I might give it a try after all…

I did try ChromeOS Flex, from a live USB, without installing it. And while I found it polished and useful for kids (given the parental controls via Google Family Link), the performance was less than expected. I assumed that installing it would not improve that much. I also found out that the MacBook I’m using was not supported by ChromeOS Flex anymore.

Anyhow, thanks for all the great answers. I will come back to post here about my experience in case I will try to install rEFind.

Problem solved, right from within macOS.

I mentioned in my first post that I would try to avoid creating a new hybrid MBR, one of the reasons also being that I expected this step would remove Fedora from the partition table. Nevertheless, I took that chance, and did the following.

  1. Boot into macOS
  2. Open the terminal
  3. Start gdisk utility
  4. Create a new hybrid MBR (following the steps in this link or this thread)
    (I had to turn off System Integrity Protection (SIP), as instructed by gdisk utility, which referred this quora post, in order to be able to write partition table to disk.)
  5. Re-enable System Integrity Protection (SIP).
  6. Boot into either of the 3 installed OSes (Fedora, macOS, Windows 10).

It seems that re-creating the hybrid MBR for Windows didn’t affect the existing Fedora installation after all.

1 Like