Sådan får du vist og ryd Mac NVRAM Indhold fra Terminal i OS X

Avancerede Mac-brugere kan finde det nødvendigt at se eller direkte manipulere firmware-variabler, der findes i NVRAM på computeren. Typisk indeholder NVRAM specifikke systemdata om ting som systemlydniveau, opstartsdiskdetaljer, et aktivt brugernavn, skærmbelysning og opløsning og andre tekniske detaljer. Mens de fleste brugere ikke har noget forretningsmæssigt at interagere med NVRAM, er der tidspunkter, hvor man manuelt kan se og rydde ud NVRAM-variable kan være til gavn for fejlfindingsformål.

Med hjælp af et kommandolinjeværktøj i OS X kan Mac-brugere direkte læse og justere firmware i OS X uden at skulle genstarte Mac'en og udføre en generel NVRAM-nulstilling.


Dette siger nok nok, men udover at notere nvram indholdet, bør brugerne absolut ikke slette eller slette nvram-variabler, hvis de ikke ved præcis, hvad de laver og hvorfor.

For at komme i gang skal du starte Terminal, der findes i / Programmer / Hjælpeprogrammer / og udstede følgende kommandoer afhængigt af det ønskede mål:

Sådan får du vist alle NVRAM-indhold på nuværende Mac

Udsted følgende kommando for at udskrive alle aktuelle NVRAM-indhold:

nvram -xp

Dette vil vise output i XML-format, hvilket er meget mere læsbart end standardformatet, som læses med -p-flag:

nvram -p

Hvis du ikke angiver -x-flag, vil du sandsynligvis se meget gibberish, XML, og måske er en del almindelig tekst blandet i det let læsbar, men for det meste er disse data kun relevante for avanceret Mac brugere til fejlfinding.

Et eksempel på nvram -p-output kan se ud som følger:
$ nvram -p
efi-apple-payload-data %20%10%00%CC%00U%00P%00D%00A%20%10%00%CC%00U%00P%00D%00A%20%10%00%CC%00U%00P%00D%00A%20%00U%00P%00D%00A00U%00P%00D%00A00U%00P%00D%00A00U%00P%00D%00A00U%00P%00D%00A00U%00P%00D%00A00U%00P%00D%00A00U%00P%00D%00A00U%00P%00D%00A00U%00P%00D%00A00U%00P%00D%00A00U%00P%00D%00A00U%00P%00D%00A00U%00P%00D%00A00U%00P%00D%00A
efi-boot-device IOMatchIOProviderClassIOMediaIOPropertyMatchUUIDBD2CB9D3-8A79-4E2F-94E2-C5EC9FEBBA64BLLastBSDNamedisk0s3%00
SystemAudioVolumeDB %00
prev-lang:kbd en:0

Igen vil det være meningsløse data for de fleste brugere, men avancerede Mac-brugere kan finde nyttige oplysninger i NVRAM, hvis de ved, hvad de skal kigge efter.

Sådan slettes alle NVRAM fra kommandolinjen i Mac OS X

Det næste mest nyttige trick er at kunne rydde NVRAM med den samme kommandostreng. Hvis du vil slette alle nvram-variabler, skal du blot bruge følgende syntaks:

nvram -c

For ændringer, der skal træde i kraft, skal du genstarte Mac'en, så medmindre du laver noget andet, kan du bare starte en genstart fra kommandolinjen, mens du er der.

Sletning af specifikke NVRAM-variabler på Mac OS X

For at være mere specifik, kan du også målrette mod en sæt nvram-variabel til fjernelse med -d-flag:

nvram -d (variable key name goes here)

For at slette systemets lydindstilling fra nvram:

nvram -d SystemAudioVolume

Går videre med nvram Modifikationer

Nvram-kommandoen har også andre anvendelser til avancerede brugere, fra indstillinger som deaktivering af startup boot-lyden på en Mac for altid at starte i verbose-tilstand i OS X eller endda muliggøre sikker boot-tilstand fra terminalen til fjernstyring eller en hovedløs / tastaturløs Mac. For dem, der er interesseret i at lære mere om denne kraftfulde kommando, er man-siden for nvram ret nyttig, ligesom det grundlæggende -help-flag viser andre syntax-muligheder:

% nvram --help
nvram: (usage: no such option as --)
nvram [-x] [-p] [-f filename] [-d name] [-c] name[=value] ...
-x use XML format for printing or reading variables
(must appear before -p or -f)
-p print all firmware variables
-f set firmware variables from a text file
-d delete the named variable
-c delete all variables
name=value set named variable
name print variable
Note that arguments and options are executed in order.

Uanset om du finder det nødvendigt eller nemt, afhænger det virkelig af dit færdighedsniveau og dine behov. Mange avancerede Mac-brugere ved, at de også kan nulstille PRAM / NVRAM ved opstart med en nøglesekvens. Det kan også være nyttigt ved fejlfinding af nogle bestemte problemer, og den fremgangsmåde fjerner alt fra NVRAM svarende til -c-flag under en faktisk genstart, hvilket måske er lettere for mange brugere at huske. Dette er særligt værdifuldt for at arbejde med eksterne maskiner, der er tilsluttet via SSH eller fundet andetsteds på netværket, hvor det ville være umuligt at manuelt nulstille NVRAM med en tastaturgenvejssekvens.

Et andet almindeligt eksempel, hvor clearing nvram kan være til gavn for fejlfinding, er, når Mac App Store indlæser et tomt display, der ikke vil udfylde med indhold eller gemme data. Af hvilken som helst grund løser nvram -c-flag og genstart næsten altid problemet alene.