如何在 Mac OS X 中查看 & 从终端清除 Mac NVRAM 内容
高级 Mac 用户可能会发现有必要查看或直接操作计算机 NVRAM 中的固件变量。通常,NVRAM 包含有关系统音频级别、启动磁盘详细信息、活动用户名、屏幕背光和分辨率以及其他技术详细信息等特定系统数据。虽然大多数用户没有与 NVRAM 进行交互的业务,但有时手动查看和清除 NVRAM 变量可能有助于故障排除。
借助Mac OS X中的命令行工具,Mac用户可以直接读取和调整Mac OS中的固件,而无需重新启动Mac和执行一般的NVRAM重置。
这可能是不言而喻的,但是除了列出nvram内容之外,如果用户不确切知道自己在做什么以及为什么这样做,则绝对不要删除或清除nvram变量。
要开始,请启动位于/Applications/Utilities/ 中的终端,然后根据您想要的目标发出以下命令:
如何查看当前Mac上的所有NVRAM内容
发出以下命令打印出所有当前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 中找到有用的详细信息。
如何从Mac OS X中的命令行清除所有NVRAM
下一个最有用的技巧是能够使用相同的命令字符串清除NVRAM。要删除所有 nvram 变量,只需使用以下语法:
nvram -c
要使更改生效,您必须重新启动Mac,因此,除非您正在做其他事情,否则您可能只想在您在那里时从命令行启动重新启动。
在Mac OS X上删除特定的NVRAM变量
更具体地说,您还可以使用-d 标志定位要删除的一组nvram 变量:
nvram -d(此处为变量键名)
例如,从nvram中清除系统音频设置:
nvram -d SystemAudioVolume
进一步修改nvram
nvram 命令对于高级用户还有其他用途,从诸如在 Mac 上禁用启动引导提示音等设置到在 Mac OS X 中始终启动到详细模式,甚至从用于远程管理或无头/无键盘 Mac 的终端。对于那些有兴趣了解更多关于这个强大命令的人来说,nvram 的手册页非常有用,基本的 –help 标志也可以显示其他语法选项:
% nvram --helpvram: (usage: no such option as --)vram name … -x 使用XML格式打印或读取变量(必须出现在-之前p 或 -f) -p 打印所有固件变量 -f 从文本文件设置固件变量 -d 删除命名变量 -c 删除所有变量 same=value set named variableame 打印 variableote 参数和选项按顺序执行。
您是否觉得这有必要或容易,实际上取决于您的技能水平和需求。许多高级 Mac 用户知道他们还可以在启动时使用按键序列重置 PRAM / NVRAM,这也有助于解决某些特定问题,并且这种方法会在实际重启期间从 NVRAM 中删除类似于 -c 标志的所有内容,对于许多用户来说,这可能更容易记住。这对于使用通过 SSH 连接的远程机器或在网络上的其他地方找到的远程机器特别有价值,在这种情况下,不可能使用键盘快捷键序列手动重置 NVRAM。
清除 nvram 有助于故障排除的另一个常见示例是,当 Mac App Store 加载空白显示时,不会填充任何内容或存储数据。无论出于何种原因,nvram -c 标志和重新启动几乎总能单独解决该问题。