Hoe de Mac NVRAM inhoud van Terminal in OS X te bekijken en te wissen

Geavanceerde Mac-gebruikers kunnen het nodig vinden om de firmwarevariabelen binnen NVRAM op de computer te bekijken of direct te manipuleren. Doorgaans bevat de NVRAM specifieke systeemgegevens over zaken als het audioniveau van het systeem, opstartschijfdetails, een actieve gebruikersnaam, achtergrondverlichting van het scherm en resolutie en andere technische details. Hoewel de meeste gebruikers geen zakelijke interactie hebben met NVRAM, zijn er soms momenten waarop het handmatig bekijken en wissen van NVRAM-variabelen nuttig kan zijn voor het oplossen van problemen.

Met behulp van een opdrachtregel in OS X kunnen Mac-gebruikers de firmware in OS X direct lezen en aanpassen zonder de Mac opnieuw op te starten en een algemene NVRAM-reset uit te voeren.


Dit is waarschijnlijk vanzelfsprekend, maar afgezien van het vermelden van de inhoud van de nvram, mogen gebruikers absoluut geen nvram-variabelen verwijderen of wissen als ze niet precies weten wat ze doen en waarom.

Om te beginnen start u de Terminal, te vinden in / Applications / Utilities / en geeft u de volgende opdrachten, afhankelijk van uw gewenste doel:

Hoe alle NVRAM-inhoud op de huidige Mac te bekijken

Voer de volgende opdracht uit om alle huidige NVRAM-inhoud af te drukken:

nvram -xp

Hierdoor wordt de uitvoer in XML-indeling weergegeven, die veel leesbaarder is dan de standaardindeling, die wordt gelezen met de vlag -p:

nvram -p

Als u geen -x-vlag opgeeft, ziet u waarschijnlijk veel brabbeltaal, XML en misschien wat gewone tekst erin die gemakkelijk leesbaar is, maar deze gegevens zullen grotendeels alleen relevant zijn voor geavanceerde Mac-computers. gebruikers voor het oplossen van problemen.

Een voorbeeld van nvram -p-output ziet er misschien als volgt uit:
$ 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

Nogmaals, dit is voor de meeste gebruikers betekenisloze gegevens, maar gevorderde Mac-gebruikers kunnen nuttige informatie vinden in het NVRAM als ze weten waarnaar ze moeten zoeken.

Alle NVRAM wissen vanaf de opdrachtregel in Mac OS X

De volgende handigste truc is om NVRAM te kunnen wissen met dezelfde opdrachtstring. Om alle nvram-variabelen te verwijderen, gebruikt u gewoon de volgende syntaxis:

nvram -c

Om wijzigingen door te voeren, moet je de Mac opnieuw opstarten. Dus tenzij je iets anders doet, wil je misschien net opnieuw opstarten vanaf de opdrachtregel terwijl je daar bent.

Verwijderen van specifieke NVRAM-variabelen op Mac OS X

Om specifieker te zijn, kunt u ook een set nvram-variabele targeten voor verwijdering met de vlag -d:

nvram -d (variable key name goes here)

Bijvoorbeeld om de systeemaudio-instelling van nvram te wissen:

nvram -d SystemAudioVolume

Verder gaan met nvram-modificaties

De nvram-opdracht heeft ook andere toepassingen voor gevorderde gebruikers, van instellingen zoals het uitschakelen van het opstartgeluid op een Mac om altijd in de uitgebreide modus in OS X op te starten of zelfs een veilige opstartmodus van de terminal in te schakelen voor beheer op afstand of een zonder hoofd / toetsenbord Mac. Voor diegenen die geïnteresseerd zijn in meer informatie over dit krachtige commando, is de man-pagina voor nvram erg nuttig, net als de standaard -help-vlag om andere syntaxisopties te tonen:

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

Of je dit nodig of gemakkelijk vindt, hangt echt af van je vaardigheidsniveau en je behoeften. Veel geavanceerde Mac-gebruikers weten dat ze het PRAM / NVRAM tijdens het opstarten ook kunnen resetten met een sleutelreeks, wat handig kan zijn bij het oplossen van bepaalde specifieke problemen, en die aanpak verwijdert alles van NVRAM vergelijkbaar met de -c vlag tijdens een daadwerkelijke reboot, dat is misschien makkelijker voor veel gebruikers om te onthouden. Dit is met name waardevol voor het werken met externe machines die via SSH zijn verbonden of elders in het netwerk zijn gevonden, waar het onmogelijk zou zijn om NVRAM handmatig te resetten met een sneltoetsreeks.

Een ander veelvoorkomend voorbeeld waarbij het oplossen van nvram nuttig kan zijn voor het oplossen van problemen, is wanneer de Mac App Store een lege display laadt die niet wordt gevuld met inhoud of winkelgegevens. Om welke reden dan ook, de nvram -c vlag en het rebooten lost dat probleem bijna altijd alleen op.