Summary
I successfully created a triple-boot on my 2015 MBP with macOS (Big Sur), Ubuntu 22.0.1, and Windows 10. I can boot into any of the 3 successfully, however, the Startup Manager does not show all the boot options. I have to use the Grub menu to boot into Windows, which is not what I want. What must I do to update the Startup Manager so that it presents me with boot options for Windows, Ubuntu and macOS installations?
Installation History
The drive has two macOS installations on different partitions - Yosemite and Big Sur - which I can choose with the startup manager. This is a fairly common practice. I installed Windows 10 using Boot Camp from Big Sur, which seems to create a Windows bootloader partition at /dev/sda1. At this point, the startup manager (holding the option key at startup) correctly showed the macOS and Windows options.
I then created a separate partition at /dev/sda3 for Ubuntu's Grub bootloader in addition to a partition /dev/sda7 for Ubuntu's main file system, and I installed Ubuntu using these partitions. I specifically chose /dev/sda3 for the EFI bootloader so that it wouldn't overwrite the Windows bootloader in /dev/sda1. Everything installed fine, however, I lost the ability to boot directly into Windows from the startup manager.
After the Ubuntu installation was complete I was expecting the startup manager to show Windows and Ubuntu options in addition to macOS, but only the Windows and macOS icons appear. But when I select the Windows icon in the startup manager, it boots into Ubuntu's grub bootloader. The Grub menu has options for booting into Ubuntu or Windows (which the grub menu shows is /dev/sda1). So I can boot into Windows or Ubuntu successfully using the Grub menu.
However I want the startup manager to display separate icons for Windows and Ubuntu at startup and allow me to select them from there. I have tried a few things to fix this unsuccessfully and am a bit baffled how to accomplish this.
Some things I tried
There are 2 EFI partitions on the disk, one created by Boot Camp at /dev/sda1 for the Windows bootloader, and one I created at /dev/sda3 for Ubuntu's Grub bootloader. When I mounted the /dev/sda3 partition, I noticed the EFI directory was empty. Following instructions from some past posts here, I copied the contents of the EFI directory in /dev/sda1 partition to the EFI directory in the /dev/sda3 partition, which allowed me to "bless" the partition in macOS as a bootable volume in the startup manager. After this, the startup manager did show an additional icon at startup, but as expected both icons look identical (Windows icon) and selecting either of them puts me into Grub.
I was hoping to adjust the contents of the two EFI partitions so that they each point to the respective bootloader, one for Windows and one for Grub/Ubuntu. This is where I am having difficulty. I know the boot configuration for Windows is displayed along with others when I run "efibootmgr -v" in Linux, but I don't know how to apply this information to accomplish what I am asking.
Disk partitions and information
Result of fdisk -l /dev/sda:
$ sudo fdisk -l /dev/sda
Disk /dev/sda: 465.92 GiB, 500277790720 bytes, 977105060 sectors
Disk model: APPLE SSD SM0512
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: A79A70A1-D180-47E6-BBAC-80365256A8F0
Device Start End Sectors Size Type
/dev/sda1 40 409639 409600 200M EFI System
/dev/sda2 409640 616597135 616187496 293.8G Apple APFS
/dev/sda3 616597504 617129983 532480 260M EFI System
/dev/sda4 617129984 702054399 84924416 40.5G Microsoft basic data
/dev/sda5 702055552 780652767 78597216 37.5G Apple HFS/HFS+
/dev/sda6 780652768 781922303 1269536 619.9M Apple boot
/dev/sda7 781955072 977104895 195149824 93.1G Linux filesystem
Result of gdisk -l /dev/sda:
$ sudo gdisk -l /dev/sda
GPT fdisk (gdisk) version 1.0.8
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Disk /dev/sda: 977105060 sectors, 465.9 GiB
Model: APPLE SSD SM0512
Sector size (logical/physical): 512/4096 bytes
Disk identifier (GUID): A79A70A1-D180-47E6-BBAC-80365256A8F0
Partition table holds up to 128 entries
Main partition table begins at sector 2 and ends at sector 33
First usable sector is 34, last usable sector is 977105026
Partitions will be aligned on 8-sector boundaries
Total free space is 34425 sectors (16.8 MiB)
Number Start (sector) End (sector) Size Code Name
1 40 409639 200.0 MiB EF00 EFI System Partition
2 409640 616597135 293.8 GiB AF0A
3 616597504 617129983 260.0 MiB EF00 EFI for GRUB
4 617129984 702054399 40.5 GiB 0700 Basic data partition
5 702055552 780652767 37.5 GiB AF00 Yosemite
6 780652768 781922303 619.9 MiB AB00 Recovery HD
7 781955072 977104895 93.1 GiB 8300
Result of efibootmgr -v:
$ sudo efibootmgr -v
BootCurrent: 0000
Timeout: 5 seconds
BootOrder: 0000,0002,0001,0080
Boot0000* ubuntu HD(1,GPT,a61ea436-09b2-4355-a10e-e89f519653d6,0x28,0x64000)/File(\EFI\ubuntu\shimx64.efi)
Boot0001* Windows Boot Manager HD(1,GPT,a61ea436-09b2-4355-a10e-e89f519653d6,0x28,0x64000)/File(\EFI\Microsoft\Boot\bootmgfw.efi)WINDOWS.........x...B.C.D.O.B.J.E.C.T.=.{.9.d.e.a.8.6.2.c.-.5.c.d.d.-.4.e.7.0.-.a.c.c.1.-.f.3.2.b.3.4.4.d.4.7.9.5.}....................
Boot0002* ubuntu HD(3,GPT,e2387071-5951-4a9f-8d7d-2b113d3ce3b7,0x24c08800,0x82000)/File(\EFI\ubuntu\shimx64.efi)
Boot0080* Mac OS X PciRoot(0x0)/Pci(0x1c,0x5)/Pci(0x0,0x0)/Sata(0,0,0)/HD(2,GPT,11eb72ed-4a8f-4f7d-a8f7-4fca3438adf6,0x64028,0x24c1e788)/VenMedia(be74fcf7-0b7c-49f3-9147-01f4042e6842,cbcfd61e0b162b4aafa0d79e9050dcbb)/File(\A62C572A-E899-4CAC-A2C9-F54103EAD91E\System\Library\CoreServices\boot.efi)
Boot0081* Mac OS X HD(1,MBR,0x901c8f2d,0x800,0xe51f800)
Boot0082* PciRoot(0x0)/Pci(0x1c,0x5)/Pci(0x0,0x0)/Sata(0,0,0)/HD(2,GPT,11eb72ed-4a8f-4f7d-a8f7-4fca3438adf6,0x64028,0x29d24458)/VenMedia(be74fcf7-0b7c-49f3-9147-01f4042e6842,cbcfd61e0b162b4aafa0d79e9050dcbb)/File(\C04D8B5C-49A1-4AD5-9182-459286FF5241\System\Library\CoreServices\boot.efi)
37.5G Apple HFS/HFS+
and619.9M Apple boot
partitions?