No Boot-Args in NVRAM – How to Resolve on macOS

macosnvramosx-server

After seeing this question regarding the serverperfmode nvram boot-arg, I thought I would check my server to see its status:

$ nvram boot-args
nvram: Error getting variable - 'boot-args': (iokit/common) data was not found

Is this a normal response (i.e., if no boot-args have been set), or is something out of whack with my server. Apple's support page doesn't mention the error.

My server is a Mac Pro running 10.11.6, off of a internal SSD. And, Server.app is installed/configured.

Output of nvram -p shows the following variables:

efi-boot-device
bluetoothInternalControllerInfo
fmm-computer-name
efi-apple-recovery
SystemAudioVolumeDB
bluetoothActiveControllerInfo
SystemAudioVolume
eft-boot-device-data
BootCampProcessorPstates

Best Answer

This is indeed the normal response if the variable has not been set. Example commands and output along your line of inquiry:

$ nvram boot-args
  boot-args serverperfmode=1 -v

Whereas:

$ nvram bootargs        # missing character results in: non existing variable
  nvram: Error getting variable - 'bootargs': (iokit/common) data was not found

This is the same state for this variable you get after deleting the whole variable or after clearing all variables with an NVRAM reset.

And if nvram -p does show nothing but what you posted then such a procedure was quite recent.

To test for 'normality':

$ nvram -p                        # print all nvram variables
boot-args serverperfmode 1 -v     # output if only boot-args is set
$ sudo nvram -d boot-args         # delete nvram variable for boot-args
$ nvram -p                        # print all nvram variables
                                  # nothing to output
$ nvram boot-args                 # try to read only boot-args variable 
nvram: Error getting variable - 'boot-args': (iokit/common) data was not found # your error message
$ sudo nvram boot-args="-v"       # set boot-args to verbose boot mode
$ nvram -p                        # print all nvram variables
boot-args -v                      # output for nvram variable boot-args shown
$ nvram boot-args                 # print only boot-args nvram variable
boot-args -v