- Jul 26, 2012
- MSI Raider X299
- Core i9-7860X
- Radeon RX Vega 64
- Mobile Phone
Thanks for posting. I will try this over the weekend. I think this method will also work for "upgrade" from Catalina.PRELIMINARY METHOD FOR INSTALLING BIG SUR ON SYSTEM WITH BROKEN NVRAM
After much testing I think I have a reproducible method by which someone can do a fresh Big Sur install without having working NVRAM.
At least, this method is working reliably for me in my tests. I am testing a 'broken NVRAM' situation by clearing my NVRAM from the OpenCore picker after each reboot.
@rustEswan @amitbapat @oli.mathieu and anyone else with broken NVRAM, if one of you could try this method to confirm it works on a real board with no NVRAM, that would be great.
So far I have only tested this with a fresh Big Sur install. I will look at upgrades next. The same method likely also works for upgrades, but the script provided definitely won't. I hope to have news on upgrades in the next 24 hours.
Please read and follow the method carefully.
Requirements: A Big Sur install USB stick, with EFI containing OpenCore 0.6.3 DEBUG version and suitable config capable of booting and running Big Sur on your system.
In order for this preliminary method to work, you must set Target = 65 in config.plist, which will enable debug boot logging. This will create opencore-<date>.txt logfiles in the root of the EFI partition on your USB.
In order to run the script necessary for generating the required NVRAM key, you must have another macOS system available. This could be a second Hack, a real Mac, or even the same X299 Hack if you reboot to an existing install (though in this test that would also require some disk swapping, as I'd like you to do the install with no other drives plugged in).
In future I hope to provide a method that requires no second system, but for now you need to run a command line script on macOS to generate the necessary NVRAM key, which is based on data in your OpenCore logfile.
Script: Download the script from this URL. Save it somewhere you can easily run it from Terminal, eg your home directory.
- Find a suitable SSD on which to do a test install of macOS. I have been using a spare 120GB SSD.
- Remove all other SSDs/NVMe drives from the machine during the install process. This shouldn't be necessary in future, but to ensure the success of this test run and my script for generating the key, I want to be sure no other drives are present that could affect anything.
- Get a USB stick prepared with the Big Sur installer, and your EFI partition.
- Please prepare the USB stick according to the Dortania guide, using gibMacOS: https://dortania.github.io/OpenCore.../mac-install.html#downloading-macos-modern-os
- The EFI partition must contain OpenCore 0.6.3 DEBUG version
- The config.plist must have Target = 65 set, so that debug logging will be written to the USB EFI.
- If you have any existing opencore-*.txt logfiles, please move or delete them, so you can be sure you know which log files were generated during the test run.
- Boot from USB and choose the Install Big Sur option from the USB drive.
- When the GUI appears, open Disk Utility.
- Format your target SSD as APFS / GUID. Give it any name.
- Now run the installation as normal.
- When it gets to "12 minutes remaining", the system will reboot.
- Let it reboot to OpenCore, but then do not select any option in the boot picker. Just get to the boot picker menu, then:
- SHUTDOWN THE SYSTEM AND REMOVE THE USB STICK.
- We will return to it in a moment. But first we need to edit the config.plist.
- It is vital it does not continue automatically into step two of the install, as if it starts and fails this process, you will likely have to start from step 1 again.
- Take your USB stick and mount the EFI on your secondary macOS machine.
- Look in /Volumes/EFI and note the most recent opencore-*.txtlogfile.
- We want the logfile that was generated by step 6 - when you rebooted after stage 1 of the install, and then shut down the system without selecting any option.
- Open Terminal.
- Change to the directory where you downloaded my script.
- First we need to make it executable, run:
- chmod +x GenNVRAMKey.command
- Now run it:
- It will prompt you for the location of an OpenCore logfile. You can either type in the path, or just drag and drop the file from Finder, which will paste in the path. Then hit enter.
- For example: /Volumes/EFI/opencore-2020-11-30-151132.txt
- If it has worked correctly you will be given some code to put in config.plist, as in the following screenshot
- Open your config.plistin a text editor:
- Scroll down to NVRAM -> ADD -> 7C436110-AB2A-4BBB-A880-FE41995C9F82
- This entry should already exist in your config.plist, as it's used to supply csr-active-config, amongst others.
- Paste in the two lines of code given by the script, and save the file.
- With the lines added, file should look something like this (your data value will differ, of course):
- Unmount your EFI, and put the USB back in the X299 system.
- Boot again from the USB, and continue the install by choosing "macOS Installer" from the OpenCore menu, as your normally would. It won't be the default entry, due to your broken NVRAM.
- If the method has been successful, you expect the next stage of the install to take 10-20+ minutes, rather than rebooting immediately as it would have done before.
- It will reboot 3 more times before you reach the setup screen.
- Note that on one or two of the later reboots you might see that the progress bar is right back to the beginning, and doesn't move at all during that stage of the process. This is OK, don't abort it; it should still complete fine. I believe the progress bar level is set by another NVRAM variable, and without this it shows the bar right at the beginning. It's just cosmetic.
- Once you've (hopefully) reached the setup screen and created your account and logged in, you can confirm that diskutil apfs list shows "Snapshot Sealed: Yes" (though the filesystem itself will be 'Broken', as we were talking about in recent posts), and that the OS is running fine.
- You can then remove the new NVRAM key you added (msu-product-url) for subsequent boots. It won't work again for future upgrades, as a new key needs to be generated for that.
And that's it. Someone try it out and let me know if it works, and do report back if you have problems anywhere along the way.
Once it's confirmed to work on machines with real broken NVRAM, I'll start investigating the update process. And if/when I can get it working reliably for both installs and upgrades, I will contact Acidanthera and see if they'd be interested to add this method as a Quirk, to fix upgrade/install for anyone with non-working NVRAM. No guarantees they'll consider it suitable to add, but I'll have a go. At the very least, I'll look into making a Dortania guide for it in future.
But first we need to see if it works