Properties
Add
- Type:
plist dict
- Description: Sets NVRAM variables from a map (
plist dict
) of GUIDs to a map (plist dict
) of variable names and their values inplist multidata
format. GUIDs must be provided in canonic string format in upper or lower case (e.g.8BE4DF61-93CA-11D2-AA0D-00E098032B8C
).
The
EFI_VARIABLE_BOOTSERVICE_ACCESS
andEFI_VARIABLE_RUNTIME_ACCESS
attributes of created variables are set. Variables will only be set if not present or deleted. That is, to overwrite an existing variable value, add the variable name to theDelete
section. This approach enables the provision of default values until the operating system takes the lead.Note: The implementation behaviour is undefined when the
plist key
does not conform to the GUID format.- Type:
Delete
- Type:
plist dict
- Description: Removes NVRAM variables from a map (
plist dict
) of GUIDs to an array (plist array
) of variable names inplist string
format.
- Type:
LegacyOverwrite
- Type:
plist boolean
- Failsafe:
false
- Description: Permits overwriting firmware variables from
nvram.plist
.
Note: Only variables accessible from the operating system will be overwritten.
- Type:
LegacySchema
- Type:
plist dict
-
Description: Allows setting certain NVRAM variables from a map (
plist dict
) of GUIDs to an array (plist array) of variable names in plist string format. - value can be used to accept all variables for certain GUID.
WARNING: Choose variables carefully, as the
nvram.plist
file is not vaulted. For instance, do not includeboot-args
orcsr-active-config
, as these can be used to bypass SIP.- Type:
WriteFlash
- Type:
plist boolean
- Failsafe:
false
- Description: Enables writing to flash memory for all added variables.
Note: This value should be enabled on most types of firmware but is left configurable to account for firmware that may have issues with NVRAM variable storage garbage collection or similar.
- Type:
The nvram
command can be used to read NVRAM variable values from macOS by concatenating the GUID and name variables separated by a :
symbol. For example, nvram 7C436110-AB2A-4BBB-A880-FE41995C9F82:boot-args
.
A continuously updated variable list can be found in a corresponding document: NVRAM Variables.