Triple boot Catalina 10.15.7, windows 10 (not bootcamp but NTFS), Ubuntu 20.10

bootcampdisk-utilitydual-bootpartitionreboot

I am using a 1 TB SSD with a macbook pro 2012 initially split into 2 x 500g: Catalina and Windows 10 NTFS (NON bootcamp partition). To install Ubuntu, I had to use the Catalina partition because the Windows partition would not allow me to partition it. So I end up having a 250G Catalina partition, a 250g Ubuntu partition along with a 500G Windows 10 partition.

Both, Catalina and Windows 10 (non bootcamp) partitions were running perfectly before the Ubuntu install. The Linux installs went very well. I have used David Anderson install process. Here is the link:

How can I triple boot MacOS Catalina , Ubuntu 18.04, and Windows 10

I did follow the step very carefully. The result was a fully working and fast Ubuntu partition. This thing shot down in less than 3 seconds and boot in less then 10. Anyway, I manage to install Refind which made all 3 partitions appear on startups. After booting Catalina and Ubuntu with success, the Windows partition fails to do so, showing instead this message:

** No bootable device, insert boot disk and press enter. **

This is usually called for a bootcamp partition problem but it seems the Ubuntu install, particularly the step where we use grub, and the step where we need to prevent hybrid disk use, may have or probably did broke something into Windows NTFS partition.

I am new to all this stuff so bear with me.

What I did next? I install the third party software gdisk and ran the thing into recovery mode. Here is a link of the procedure :

Bootcamp: no bootable device – insert boot disk and press any key

I followed the steps carefully hoping the hybrid state would fix the window partition and keep Catalina and Ubuntu running. It was a long shot I guess. The result was as expected: bad. Ubuntu is not showing up into the boot menu ; refind does not work anymore, and when I use the Mac option startup menu, Catalina and Windows hard disk do show up but Windows won’t boot. I get this message:

** Error loading operating system_**

No doubt the hybrid part seems to have broken both Windows and Ubuntu along with Refind. Nothing can be done from that message window except restarting the mac from the power button.

Once I boot into Catalina, the Windows 10 partition still shows up on the desktop. All files are there. The Ubuntu partition is still visible in disk utility partition view. It is located right between Catalina and Windows partition as you can see on the screenshot. By the way Windows partitin is the "OS" one.

disk utility partition view

Even when Ubuntu was booting perfectly, it did not show up anywhere except in disk utility partition view or on startup when Refind was still working before the gdisk process.

So, I guess the problem may come from the fact that Ubuntu was installed in second position because the NTFS Windows partition is non-partition-able.

Any idea to fix this?

Best Answer

Installing Ubuntu 20.10 when macOS 10.15.7 Catalina and Windows 10 (version 20H2) have already been installed.

This answer assumes Windows is installed to BIOS boot. This can be verified by viewing the contents of the Windows Disk Management application window. Below is an example when Windows BIOS boots. Volume (Disk 0 partition 1) has a status of Healthy (GPT Protective Partition).

BIOS

Note: To get a better look at an image, either click on the image or open the image in a new window.

Below is what would appear when Windows EFI boots. Volume (Disk 0 partition 1) has a status of Healthy (EFI System Partition).

EFI

Below are the basic steps.

  1. Use the macOS Disk Utility application or diskutil command to create a ExFAT partition which will be to contain the Ubuntu installation. Below is an example for the use of the diskutil command.

    The output from diskutil list disk0 is shown below. This shows the partitioning before adding the new ExFAT partition.

    /dev/disk0 (internal, physical):
       #:                       TYPE NAME                    SIZE       IDENTIFIER
       0:      GUID_partition_scheme                        *1.2 TB     disk0
       1:                        EFI EFI                     209.7 MB   disk0s1
       2:                 Apple_APFS Container disk1         578.6 GB   disk0s2
       3:       Microsoft Basic Data OS                      578.6 GB   disk0s3
    

    The command given below gives approximately have the space used by the APFS container to the new ExFAT partition. You may want to replace 289G with your desired new size for disk0s2 container partition occupied by macOS Catalina.

    diskutil apfs resizecontainer disk0s2 289G exfat DUMMY 0 
    

    The output from diskutil list disk0 is shown below. This shows the partitioning after adding the new ExFAT partition.

    /dev/disk0 (internal, physical):
       #:                       TYPE NAME                    SIZE       IDENTIFIER
       0:      GUID_partition_scheme                        *1.2 TB     disk0
       1:                        EFI EFI                     209.7 MB   disk0s1
       2:                 Apple_APFS Container disk1         289.0 GB   disk0s2
       3:       Microsoft Basic Data DUMMY                   289.6 GB   disk0s5
       4:       Microsoft Basic Data OS                      578.6 GB   disk0s3
    
  2. Install Ubuntu. Below are some pointers.

    When you reach the window shown below, use the following settings.

    Updates and other software

    When you reach the window shown below, use the following settings.

    Installation type

    When you reach the window shown below, highlight the /dev/sda3 device as shown below and then click on the Change... button.

    Before Change

    In the Edit partition popup, use the following setting. When finished, click on the OK button.

    Edit partition

    Click on the Install Now button shown in the image below.

    After Change

    In the Write the changes to disks? popup shown below, click on the Continue button.

    Write the changes to disks?

  3. Continue and finish installing Ubuntu.

  4. The installation of Ubuntu has changed the partition tables resulting in an unbootable Windows. This step will provide the commands needed to fix this problem. While booted to Ubuntu, press the control+option+T key combination to open a Terminal application window. Enter the following command.

    sudo gdisk /dev/sda
    

    The gdisk command is interactive. Below are the commands to enter.

    t
    3
    8300
    r
    h
    2 3 4
    y
    ff
    n
    83
    n
    07
    y
    w
    y
    

    When finished enter the command given below to close the Terminal application window.

    exit