I've written some detailed guide in my time but I'm going to keep this one shorter. I want to accomplish 2 things with this write up.1. Address the native nvram problem, this is huge for people with similar hardware moving forward with Big Sur.2. Help others get installed and booted with a very clean setup.
This included setup was used to upgrade directly to from Catalina to Big Sur but installation should be fine as well.Using OpenCore 0.6.3 and latest kexts. Using SMBIOS iMacPro1,1 even tho it may be frowned upon but it worked for DRM at least in Catalina, not willing to change it now. You can however do as you please.Everything pretty much works. FaceTime, Messages, AppStore etc. Waking the computer from sleep though requires pressing the PWR button.There is no options in OpenCore or Clover, drivers or magic to get native nvram working. You have to modify the BIOS or flash an old one that doesn't have the white list as discussed below. So if you can't go through with fixing the NVRAM, you will have to use the transplant method.NVRAM Problem
Big Sur installer fails after about 20% progress in the Apple logo, fails shortly after disk#: device is write locked ending with apfs_vfsop_unmount. Verbose output below just before restart. I imagine a new install the same problem occurs because after the first state information on the drive and whatever is stored in the native nvram and the installer can't access something that is not there because it wasn't saved in the first place.
BackgroundReddit post here starts to question it as Haswell in general but seemed more an issue with ASUS Z97 boards. A comment in that thread led me to Vit9696 saying fix your NVRAM. All other paths led to devs are aware and it's an macOS bug or giving up and transplanting the installation by using another machine. Well I ain't having none of that, Vit9696 said fix nvram, so I fixed it.WhyVit9696 actually solved this for us years ago here. The key take away is the whitelist part and replacing NvramSmi driver.
FixAs stated above we can extract the NvramSmi driver from an older BIOS and the replace it in the latest one. I believe most our boards from this era are no longer being supported but the latest firmwares do have microcode to patch vulnerabilities like Spectre, meltdown, etc. It would be ideal to go this route and it's not that hard and working nvram is great!I'm guessing another way would be to flash back to old BIOS where native nvram is working and upgrade/install Big Sur and then flash the latest after. You could save your BIOS profile if available that way you won't have to set everything back up. If this is also the case for incremental updates, sounds like a nightmare.How (I chose to fix)DISCLAIMER: Replacing the NvramSmi driver made the most sense and it was relatively easy. I am no expert and you know the responsibility I take in anyone trying this **** and failing, ZERO.
DISCLAIMER!!! Modding your UEFI can have weird things happen. So far we have 3 but all fixable. There are also multiple different ways to mod and flash if you look around you'll see. I cannot be responsible for all the methods and figuring out every issue that could arise.
THE BELOW METHOD HAS AN ISSUE WITH XMP and RAM SPEED. No matter what you set in BIOS, ram speed will remain default, likely 1333Mhz. I updated the steps and linked above to fix that but it does require Windows. If you don't have any other issues then this method would still be fine.
Download UEFITool 0.26.0 as the latest versions won't let you rebuild/replace.Download latest BIOS and one without whitelist.Load older BIOS in UEFI tool, my case 1104. Search with text nvramsmi and extract as is, the file section. Like below. Save the ffs, name it whatever and close out we are done here.Load the latest BIOS now, 3503 in my case and search nvramsmi again. This time replace as is and select the ffs you just named and saved.
If you don't have USB Flashback Utility, take a look here for alternative ways.After BIOS modified flash test your nvram, mine worked right away. Then I tried the upgrade and that worked fine. I believe it was 4 phases total and 3 reboots. Took about 25 minutes on SSD.My modified BIOS 3503 is attached, don't be stupid with it and try to install on a different board. Rename it accordingly if you want to use it.
Some BIOS SettingsAHCI - EnabledVTD - DisabledPrimary Display - AutoCPU Graphics Multi Monitor - DisabledLegacy USB - EnabledxHCI - EnabledEHCI handoff - EnabledFast Boot - DisabledSecure Boot - Other OSCSM - DisabledOpenCore Configuration Basic Understanding
USB PortsIf all accessible ports are enabled in our system it is going to break the 15 port limit so a single sacrifice needs to be made. Instead of wiping out a whole port, I personally removed USB 2.0 ability on one of the USB 3 ports.The included USBPorts.kext includes all 16 ports, so the last USB 3.0 port SSP6 port(furthest from ethernet) will not function at 3.0 speeds if you use this kext as is. Customizing is simple with the kext. Open the plist inside the kext and you can remove the one port/functionality you don't need. Included are pictures labeling what is what HSXX and SSPX. There's also a SSDT included to help identify.Shout out to @YoshiMac for posting images of the USB ports mapped out. I included some of his work so you have quick access when deciding but his post is great as well. Hopefully I can return the favor a bit with this guide.OpenCore Config Customize
Files AttachedThe included EFI is OpenCore 0.6.3 with updated kexts as of 11/18/2020USB Folder includes pics of the mapping and original USBPorts.kext with 16 ports for back up. There is also .dsl file which maps the ports if you need some clarification textually, do not use it.Modified 3503 bios for Maximus VII Hero with replaced NvramSmi from 1104.Well that wraps it up I think. If you need any extra advice or questions shoot away.
So u/stiligFox informed that XMP was broken with modified bios. I confirmed my board had the same issue. Even properly set in BIOS, RAM speeds were showing up default 1333. I found the solution and confirmed it working here's the link for the work around -natywny-zapis-do-nvram-modyfikacje-bios/?do=findComment&comment=136471, they also discuss in the thread to replacing bytes but I don't believe that'll work for every board due to variations, so not recommended.