Как да прегледате & Изчистете съдържанието на Mac NVRAM от терминала в Mac OS X
Напредналите потребители на Mac може да сметнат за необходимо да преглеждат или директно да манипулират променливите на фърмуера, намиращи се в NVRAM на компютъра. Обикновено NVRAM съдържа специфични системни данни за неща като нивото на звука на системата, подробности за стартовия диск, активно потребителско име, подсветка и разделителна способност на екрана и други технически подробности. Въпреки че повечето потребители нямат работа да взаимодействат с NVRAM, има моменти, когато ръчното преглеждане и изчистване на променливите на NVRAM може да бъде от полза за целите на отстраняване на неизправности.
С помощта на инструмент за команден ред в Mac OS X потребителите на Mac могат директно да четат и коригират фърмуера в Mac OS, без да се налага да рестартират Mac и да извършват общо нулиране на NVRAM.
Това вероятно се разбира от само себе си, но освен изброяването на съдържанието на nvram, потребителите абсолютно не трябва да изтриват или изчистват променливите на nvram, ако не знаят точно какво правят и защо.
За да започнете, стартирайте терминала, намиращ се в /Applications/Utilities/ и издайте следните команди в зависимост от желаната цел:
Как да видите цялото съдържание на NVRAM на текущия Mac
Издайте следната команда, за да отпечатате цялото текущо съдържание на NVRAM:
nvram -xp
Това ще покаже изхода в XML формат, който е много по-четлив от формата по подразбиране, който се чете с флага -p:
nvram -p
Ако не укажете флаг -x, вероятно ще видите много безсмислици, XML и може би някакъв обикновен текст, примесен в него, който е лесно четим, но в по-голямата си част тези данни са ще бъде от значение само за напреднали потребители на Mac за целите на отстраняване на неизправности.
Пример за извеждане на nvram -p може да изглежда по следния начин: $ 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
Отново, това ще бъдат безсмислени данни за повечето потребители, но напредналите потребители на Mac могат да намерят полезни подробности в NVRAM, ако знаят какво да търсят.
Как да изчистите цялата NVRAM от командния ред в Mac OS X
Следващият най-полезен трик е да можете да изчистите NVRAM със същия команден низ. За да изтриете всички променливи на nvram, просто използвайте следния синтаксис:
nvram -c
За да влязат в сила промените, трябва да рестартирате Mac, така че освен ако не правите нещо друго, може да искате просто да стартирате рестартиране от командния ред, докато сте там.
Изтриване на конкретни NVRAM променливи в Mac OS X
За да бъдем по-конкретни, можете също да насочите зададена променлива nvram за премахване с флага -d:
nvram -d (тук влиза името на променливия ключ)
Например, за да изчистите аудио настройката на системата от nvram:
nvram -d SystemAudioVolume
Продължаваме напред с модификациите на nvram
Командата nvram има и други приложения за напреднали потребители, от настройки като деактивиране на звука при стартиране при зареждане на Mac до винаги зареждане в подробен режим в Mac OS X или дори активиране на безопасен режим на зареждане от терминал за дистанционно управление или Mac без глава/без клавиатура. За тези, които се интересуват да научат повече за тази мощна команда, страницата с ръководство за nvram е доста полезна, както и основният флаг –help за показване на други опции за синтаксис:
% nvram --helpvram: (използване: няма такава опция като --)vram name … -x използва XML формат за отпечатване или четене на променливи (трябва да се появи преди - p или -f) -p отпечатване на всички променливи на фърмуера -f задаване на променливи на фърмуера от текстов файл -d изтриване на именованата променлива -c изтриване на всички променливиsame=стойност набор наименувана променливаame отпечатване на променлива забележете, че аргументите и опциите се изпълняват по ред.
Дали намирате това за необходимо или лесно наистина зависи от вашето ниво на умения и нужди.Много напреднали потребители на Mac знаят, че могат също да нулират PRAM / NVRAM при зареждане с последователност от клавиши, което може да бъде полезно и при отстраняване на някои конкретни проблеми, и този подход премахва всичко от NVRAM подобно на флага -c по време на действително рестартиране, което може би е по-лесно за запомняне от много потребители. Това е особено ценно за работа с отдалечени машини, свързани чрез SSH или намерени другаде в мрежата, където би било невъзможно ръчно нулиране на NVRAM с последователност от клавишни комбинации.
Друг често срещан пример, при който изчистването на nvram може да бъде от полза за целите на отстраняване на неизправности, е когато Mac App Store зареди празен дисплей, който не се попълва с никакво съдържание или съхранява данни. По каквато и да е причина флагът nvram -c и рестартирането почти винаги решават този проблем сам.