Så här visar och rensar du NVRAM-innehållet från Terminal i OS X

Avancerade Mac-användare kan tycka att det är nödvändigt att visa eller direkt manipulera firmwarevariabler som finns i NVRAM på datorn. Vanligtvis innehåller NVRAM specifika systemdata om saker som systemets ljudnivå, detaljer om startdisken, ett aktivt användarnamn, bakgrundsbelysning och upplösning samt andra tekniska detaljer. Medan de flesta användare inte har någon verksamhet som interagerar med NVRAM, finns det tillfällen när man manuellt tittar på och rensar NVRAM-variabler kan vara till nytta för felsökningsändamål.

Med hjälp av ett kommandoradsverktyg i OS X kan Mac-användare direkt läsa och justera firmware i OS X utan att behöva starta om Mac och göra en allmän NVRAM-återställning.


Det här antas förmodligen, men förutom att notera nvram-innehållet, bör användarna absolut inte radera eller rensa nvram-variabler om de inte vet exakt vad de gör och varför.

För att komma igång startar du Terminal, finns i / Program / Utilities / och utfärdar följande kommandon beroende på önskat mål:

Så här visar du alla NVRAM-innehåll på nuvarande Mac

Utför följande kommando för att skriva ut alla aktuella NVRAM-innehåll:

nvram -xp

Detta visar utdata i XML-format, vilket är mycket mer läsbart än standardformatet, som läses med -p-flaggan:

nvram -p

Om du inte anger -x-flagg kommer du sannolikt att se mycket gibberish, XML, och kanske en vanlig text blandad i det är lättläsbar, men för det mesta kommer dessa data bara att vara relevanta för avancerad Mac användare för felsökningsändamål.

Ett exempel på nvram -p-utdata kan se ut som följande:
$ 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

Återigen blir det meningslösa data för de flesta användare men avancerade Mac-användare kan hitta användbara detaljer i NVRAM om de vet vad de ska leta efter.

Så här rensar du all NVRAM från kommandoraden i Mac OS X

Det näst mest användbara tricket är att kunna rensa NVRAM med samma kommandosträng. För att radera alla nvram-variabler använder du bara följande syntax:

nvram -c

För att ändringar ska träda i kraft måste du starta om Mac, så om du inte gör något annat kanske du bara vill initiera en omstart från kommandoraden medan du är där.

Radera specifika NVRAM-variabler på Mac OS X

För att vara mer specifik kan du också rikta in en uppsättning nvram-variabel för borttagning med -d-flaggan:

nvram -d (variable key name goes here)

Till exempel, för att rensa systemljudinställningen från nvram:

nvram -d SystemAudioVolume

Går vidare med nvram Modifications

Kommandot nvram har även andra användningsområden för avancerade användare, från inställningar som att inaktivera startuppspelningsljudet på en Mac för att alltid starta i verbose-läge i OS X eller till och med möjliggöra säkert startläge från terminalen för fjärrstyrning eller en headsless / keyboardless Mac. För dem som är intresserade av att lära sig mer om det här kraftfulla kommandot, är mansidan för nvram ganska bra, liksom den grundläggande hjälpen för att visa andra syntaxalternativ:

% 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.

Oavsett om du finner det nödvändigt eller enkelt beror verkligen på din skicklighet och dina behov. Många avancerade Mac-användare vet att de också kan återställa PRAM / NVRAM på startstart med en nyckelsekvens som kan vara till hjälp vid felsökning av vissa specifika problem, och det här tillvägagångssättet tar bort allt från NVRAM liknande -c-flaggan under en faktisk omstart, vilket är kanske enklare för många användare att komma ihåg. Detta är särskilt värdefullt för att arbeta med fjärrmaskiner anslutna via SSH eller hittade någon annanstans på nätverket, där det är omöjligt att manuellt återställa NVRAM med en genvägssekvens för tangentbordet.

Ett annat vanligt exempel där rensning av nvram kan vara till nytta för felsökningsändamål är när Mac App Store laddar en tom skärm som inte kommer att fyllas med innehåll eller lagringsdata. Oavsett orsak löser nvram -c-flaggan och omstart nästan alltid problemet.