NVRAM(8) System Manager's Manual NVRAM(8)

nvrammanipulate firmware NVRAM variables

nvram [-x] [-p] [-f filename] [-d name] [-c] [name [= value [...]]]

The nvram command allows manipulation of firmware NVRAM variables. It can be used to get or set a variable. It can also be used to print all of the variables or set a list of variables from a file. Changes to NVRAM variables are only saved by clean restart or shutdown.

In principle, name can be any string. In practice, not all strings will be accepted. Some variables require administrator privilege to get or set.

The given value must match the data type required for name. Binary data can be set using the %xx notation, where xx is the hex value of the byte. The type for new variables is always binary data.

name
Deletes the named firmware variable.
name
Deletes the named firmware variable and returns error code if any.
filename
Set firmware variables from a text file. The file must be a list of "name value" statements. The first space on each line is taken to be the separator between "name" and "value". If the last character of a line is \, the value extends to the next line.
Use XML format for reading and writing variables. This option must be used before the -p or -f options, since arguments are processed in order.
Delete all of the firmware variables.
Print all of the firmware variables.

example% nvram boot-args="-s rd=*hd:10"

Set the boot-args variable to "-s rd=*hd:10". This would specify single user mode with the root device in hard drive partition 10.

example% nvram my-variable="String One%00String Two%00%00"

Create a new variable, my-variable, containing a list of two C-strings that is terminated by a NUL.

example% nvram -d my-variable

Deletes the variable named my-variable.

January 25, 2021 macOS