如何在 Mac OS X 中从终端查看和清除 Mac NVRAM 内容

Mac OS X 中的终端

借助 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%0 0A00U %00P%00D%00A00U%00P%00D%00A00U%00P%00D%00A00U%00P%00D%00A00U%00P%00D%00A
efi-boot-device <数组> <字典> <键> IO匹配 <字典> <键> IOProvider类 <字符串> 媒体 <键> IO属性匹配 <字典> <键> UUID <字符串> BD2CB9D3-8A79-4E2F-94E2-C5EC9FEBBA64 <键> BLLastBSD 名称 <字符串> disk0s3 %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 --help
nvram: (usage: no such option as --)
nvram [-x] [-p] [-f filename] [-d name] [-c] name[=value] ...
-x 使用 XML 格式打印或读取变量
(必须出现在-p 或-f 之前)
-p 打印所有固件变量
-f 从文本文件设置固件变量
-d 删除命名变量
-c 删除所有变量
name=value set named variable
name print variable< br />注意参数和选项是按顺序执行的。

您是否觉得这有必要或容易,实际上取决于您的技能水平和需求。许多高级 Mac 用户知道他们还可以在启动时使用按键序列重置 PRAM / NVRAM,这有助于还解决了一些特定问题,并且该方法在实际重新启动期间从 NVRAM 中删除了类似于 -c 标志的所有内容,这对于许多用户来说可能更容易记住。这对于使用通过 SSH 连接 或在其他地方找到的远程机器特别有价值网络,不可能使用键盘快捷键序列手动重置 NVRAM。

清除 nvram 有助于故障排除的另一个常见示例是,当 Mac App Store 加载空白显示时,不会填充任何内容或存储数据。无论出于何种原因,nvram -c 标志和重新启动几乎总能单独解决该问题。