Another question, why is the NVRAM important ?
The M in NVRA
M stands for memory. Non-volatile (
NV) means it stays the same until you do something to erase it. Unlike DRAM or regular system memory, the data in it doesn't go away when you shut down or reboot your computer. Think if every time after you went to sleep at night, you woke up the next day and forgot where everything in your house was located ? How would your day go ? You'd have to relearn where everything was again. The next morning you'd wake up and it would happen all over again. I'm using some hyperbole here, but it helps you get the idea. macOS writes important info to NVRAM that helps the OS remember where things are and how they are set. It's really important so that a Mac or Hack can function well.
On Macs the NVRAM used to be called PRAM or Parameter Ram. That's why you press these keys at boot up to reset it. P and R keys refer to Parameter. Now with Opencore we can easily reset NVRAM at the OC GUI / boot menu.
Being non-volatile, the PRAM/NVRAM will remember any settings that are saved. Problems can crop up where your Mac/Hack starts to behave strangely. To quote
@pastrychef "things were never stable for me."
These problems don’t always happen because the settings are lost or not saved. They also happen because the information saved in the NVRAM gets corrupted. This is why in olden days, Mac gurus would suggest a PRAM reset as a cure all for strange behavior from your Mac.
During the course of normal operation, a Mac's configuration will change constantly. Volume changes, display brightness changes, going in and out of sleep mode, and many other things that you do as you use a Mac mean the NVRAM information is being updated and overwritten all the time. Then think of how much we are storing in NVRAM for our hacks to function properly. All the settings in our Clover or OC config.plist that make our PC hardware function well as a hackintosh.
When that information becomes corrupted or isn't saved after a reboot, it leads to a Mac/hack acting erratically. In many cases a NVRAM reset will restore normal operation if the data is corrupt. More often than that, we make changes to our config.plist that require an NVRAM reset so that the new info is now written to and stored on the NVRAM chip, replacing what was there before for a different config.