Thanks Alex, that worked. I was able to reinstall EFI and I got the boot screen. However my Big Sur drive didn't show up in the list. But I was able to get into the big sur reinstallation recovery partition. I noticed the drive was renamed from "Big Sur" to "Big Sur - Data". Not sure why. This change occurred after I reset the NVRAM from the command line (as described above). Did this happen because I didn't use Opencore Legacy Patcher when I upgraded my Mojave installation to Big Sur? If not any idea what happened and if I can fix it?
Hey, James: you might benefit from skimming through the "
Manually Configured Opencore on the Mac Pro" post #1. The Martin Lo package is essentially the same as the manually configured approach, except with Martin's package you kind of jump to a pre-configured end state with the plist all set up and all the files put in the OpenCore structure from the get-go. You kind of need to have at least a superficial understanding of how OpenCore works, and what you need to watch out for, lest you lock yourself out of your intended version of the MacOS (Big Sur, in this case).
What I think happened is this: when you did the Terminal command to reset the NVRAM you erased the NVRAM parameter that said "Boot into the OpenCore EFI partition" first on startup/restart. So then the firmware went looking through your other disks for something bootable. All that it could find to boot was your Mojave disk, so it booted that (natively, no OpenCore involvement). However, when you boot natively into Mojave without OpenCore being involved none of the internal memory structures have been set up to fool the firmware into thinking that your machine can boot Big Sur, so of course your Big Sur doesn't look bootable. Also, the version of APFS that Mojave runs isn't fully compatible with APFS laid down by Big Sur, so the Big Sur NVME disk probably can't even be read by Mojave.
The thing with not seeing your Big Sur drive, but instead seeing "Big Sur - Data" probably has to do with the fact that the Big Sur OS is installed on a separate read-only, signed partition, and the operating system (once booted and running) merges the OS partition and the data partition and presents it to you as though it was one volume. I think if you get booted properly through OpenCore you will see an option to boot into Big Sur, and then things should work as expected.
Can you get out of this predicament? Almost certainly yes. Your Martin Lo OpenCore partition almost certainly is still present, somewhere. Unfortunately I'm not personally experienced with Martin Lo's package, so I don't know which disk it puts OpenCore on. You can find out easily by using
diskutil list
and looking for a partition of around 208 MB on each disk (there may be more than one such). You probably will have to mount and look at each candidate partition to see if the OpenCore structure is present on that disk. I would start with the one on the NVME disk, and only check others if you strike out. What you're going to do is mount that partition according to the instructions in the Manually Configure post #1
sudo diskutil mount /dev/diskXs1
Where diskXs1 is the 208 MB partition that you think might have OpenCore on. The command above will mount a volume called EFI, and with a folder EFI inside it. Inside that you might have two folders: Boot and OC. If you find a partition with that structure, bingo, now you know where your OpenCore partition is. Make a note of the disk and partition slice: it will look something like disk1s1, meaning disk 1, slice 1. You need this later when you are specifying where the firmware boot target is.
Then all you need to do is bless that partition and tell the firmware to store that as the boot target. You do that by booting into Recovery Mode with Command-R, and issuing a Terminal command. The instructions are in the Basic Setup section of the Manually Configured guide, under the "First boot" subsection.
Whatever you do, don't drag the OpenCore Legacy Project into this unless you're really desperate, it will just muddy the waters. OCLP is fine, don't get me wrong, but you can't selectively fix a Manually Configured or a Martin Lo installation with OCLP, nor is it very easy to fix an OCLP installation by diving into it as though it were a Manually Configured install. OCLP is meant to be an easy, hands-off install. Pulling in OCLP is essentially a nuke and pave over anything else that you've got going.