Slik viser og fjerner du NVRAM-innholdet fra Terminal i OS X

Avanserte Mac-brukere kan finne det nødvendig å vise eller direkte manipulere firmwarevariabler som finnes i NVRAM på datamaskinen. Vanligvis inneholder NVRAM spesifikke systemdata om ting som systemlydnivå, oppstartsdiskdetaljer, et aktivt brukernavn, skjermbelysning og oppløsning og andre tekniske detaljer. Mens de fleste brukere ikke har noen forretninger i samspill med NVRAM, er det tidspunkter når man manuelt ser og fjerner NVRAM-variabler, kan være nyttige for feilsøkingsformål.

Med hjelp av et kommandolinjeverktøy i OS X kan Mac-brukere direkte lese og justere fastvare i OS X uten å måtte starte Macen på nytt og utføre en generell NVRAM-tilbakestilling.


Dette sier nok sånn, men bortsett fra notering av nvram innholdet, bør brukerne absolutt ikke slette eller slette nvram-variabler hvis de ikke vet nøyaktig hva de gjør og hvorfor.

For å komme i gang, start Terminal, funnet i / Programmer / Verktøy / og utsted følgende kommandoer, avhengig av ønsket mål:

Slik viser du alt NVRAM-innhold på nåværende Mac

Utsted følgende kommando for å skrive ut alle aktuelle NVRAM-innhold:

nvram -xp

Dette vil vise utdataene i XML-format, som er mye mer lesbart enn standardformatet, som er lest med -p-flagg:

nvram -p

Hvis du ikke angir -x-flagg, ser du sannsynligvis mye gibberish, XML, og kanskje noen vanlig tekst blandet i det er lettlest, men for det meste vil disse dataene bare være relevante for avansert Mac brukere for feilsøkingsformål.

Et eksempel på nvram -p-utgang kan se ut som følgende:
$ 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

Igjen vil dette være meningsløst data for de fleste brukere, men avanserte Mac-brukere kan finne nyttige opplysninger i NVRAM hvis de vet hva de skal se etter.

Slik fjerner du alt NVRAM fra kommandolinjen i Mac OS X

Det neste mest nyttige trikset er å kunne fjerne NVRAM med samme kommandostreng. For å slette alle nvram-variabler, bruk bare følgende syntaks:

nvram -c

For endringer som trer i kraft må du starte Macen på nytt, slik at du ikke gjør noe annet, kanskje du bare vil starte en omstart fra kommandolinjen mens du er der.

Sletter bestemte NVRAM-variabler på Mac OS X

For å være mer spesifikk, kan du også målrette mot en sett nvram-variabel for fjerning med -d-flagget:

nvram -d (variable key name goes here)

For eksempel, for å slette systemlydinnstillingen fra nvram:

nvram -d SystemAudioVolume

Går videre med nvram Modifications

Kommandoen nvram har også andre bruksområder for avanserte brukere, fra innstillinger som deaktivering av startup boot-lyden på en Mac, for alltid å starte opp i modusen i OS X eller til og med muliggjøre sikker oppstartsmodus fra terminalen for fjernadministrasjon eller en headless / keyboardless Mac. For de som er interessert i å lære mer om denne kraftige kommandoen, er man siden for nvram ganske nyttig, så er det grunnleggende -hjelpsflagget å vise andre syntaksalternativer:

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

Hvorvidt du finner dette nødvendig eller lett, avhenger egentlig av dine ferdighetsnivå og dine behov. Mange avanserte Mac-brukere vet at de også kan tilbakestille PRAM / NVRAM ved oppstart med en nøkkelsekvens. Dette kan også være nyttig ved feilsøking av bestemte problemer, og denne tilnærmingen fjerner alt fra NVRAM i likhet med -c-flagget under en faktisk omstart, noe som kanskje er lettere for mange brukere å huske. Dette er spesielt verdifullt for å jobbe med eksterne maskiner koblet via SSH eller funnet andre steder på nettverket, der det ville være umulig å manuelt nullstille NVRAM med en snarveiseksekvens.

Et annet vanlig eksempel der rydding av nvram kan være nyttig for feilsøking er når Mac App Store laster en tom skjerm som ikke vil fylle ut med innhold eller lagre data. Uansett grunn, nvram-c flagget og omstart avgjør nesten alltid problemet alene.