【黑苹果】macOS Catalina 下用 launchd 保存 nvram

本教程针对于无 nvram 的机型,为了黑苹果,使用某些奇技淫巧来固化自己的 nvram。

本教程仅适用于Clover,OC用户请参照官方文档 LogoutHookOpenCore(OC)引导模拟NVRAM

nvram 即非易失性随机存取储存器(Non-Volatile Random Access Memory),是一块 macOS 或者说白苹果机器用来存储一些希望能在关机之后保存下来少量数据的记忆体,这些数据包括亮度大小、音量大小等。但是对于很多Windows主机来说,主板上并没有 nvram 的设计。这导致了一些恼人的小问题,比如开机时亮度会变成最大值,而不是关机时设置的值,之类的。本教程将教你如何把 nvram 的内容保存在硬盘上,以便开机时读取。

声明:
这不是正确的保存 nvram 的方式,然而对于现代 macOS 来说,传统的 rc 脚本已经被弃用,所以我们需要将 rc 脚本改为 Launchd 的方式来在关机时调用保存 nvram 的脚本。这个方法对我来说可以用,但是不代表所有人都可以。如果你的黑苹果在使用了我的方法后出现了任何问题,本人概不负责。

本文根据 Reddit 社区的 The bodgers guide to getting NVRAM working 一文改编而来,原文需要一些上网技巧才能访问。

准备

  • 一台黑苹果电脑💻
  • Clover 引导
  • 将 EmuVariableUefi-64.efi 放在 CLOVER/drivers64UEFI/ 目录下(通常安装Clover的时候都会自动装上)检查nvram是否正常工作时不要放入此efi driver
  • 打了 SSDT-PNLF 补丁并且可以正常调节亮度

如何检查你的 nvram 是否工作

打开终端,输入以下命令

sudo nvram foo=bar && sudo nvram -p | grep foo

此处回显应为

foo bar

接着重启你的电脑。
重启完成后再次打开终端,输入

sudo nvram -p | grep foo

如果你看到回显为

foo bar

那么你可以关掉这篇文章了。

如果你的回显是空的,证明你的 nvram 没有正常工作,而这正是导致你的电脑亮度/音量每次重启都会重置为最大值的原因。

此时再放入 EmuVariableUefi-64.efi

我们接着往下看吧!

建立 dump 脚本

由于 macOS 在很久以前就弃用了 rc.local 的启动项管理方式,转而使用 launchd 作为启动项管理,因此我们需要使用 launchd 来控制脚本的执行。

又由于 launchd 的启动命令不能太长,所以我们将要执行的命令放到一个脚本中。

sudo mount -rw /
sudo nano /usr/bin/dump-nvram.sh

在打开的文件中粘贴如下内容

#!/bin/bash
# This script is used to dump nvram while shutting down.
mount -rw /
nvram -xp | sed -n '/<key>csr-active-config<\/key>/,/<\/data>/d;p' | sed -n '/<key>fakesmc-key-.*<\/key>/,/<\/data>/d;p' > /nvram.plist
echo NVRAM Saved!"

然后 ^X 保存退出。接下来我们要赋予脚本以可执行权限

sudo chmod -x /usr/bin/dump-nvram.sh
sudo chown 0:0 /usr/bin/dump-nvram.sh

这样子我们的 dump 脚本就准备好啦!
其中的两句 sed 命令是用来删除掉 nvram 中一些不应该被保存的数据的。
这个脚本将会把 nvram 的变量内容以 xml 格式保存到 /nvram.plist 下。

配置 Launchd

输入命令

sudo nano /Library/LaunchDaemon/com.eric.nvram.dump.plist

在其中粘贴如下内容

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" 
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
  <dict>
    <key>Label</key>
    <string>com.eric.nvram.dump.plist</string>

    <key>ProgramArguments</key>
    <array>
      <string>/usr/bin/dump-nvram.sh</string>
    </array>

    <key>RunAtLoad</key>
    <true/>

    <key>StandardOutPath</key>
    <string>LOG_PATH/boot-shutdown.log</string>

    <key>StandardErrorPath</key>
    <string>LOG_PATH/boot-shutdown.err</string>

  </dict>
</plist>

然后同样地,^X 保存并退出。

再次测试 nvram

试试看把亮度调到一格,然后重启看看效果吧!

如果你的 nvram 没有正常工作

请再次检查是否安装了 EmuVariableUefi-64.efi
如果确定已经安装,请前往原帖,参照原帖的 Step 2 配置读取 /nvram.plist 的脚本。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,294评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,493评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,790评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,595评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,718评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,906评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,053评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,797评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,250评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,570评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,711评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,388评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,018评论 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,796评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,023评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,461评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,595评论 2 350

推荐阅读更多精彩内容

  • 一个人被训练的过程,就如同一颗钻石被切磨的过程。从一颗钻柸到一颗璀璨夺目的钻石,是需要极复杂和精密的切割琢磨过程。...
    一位先生陈阅读 516评论 0 3
  • Python运行的慢是历来被诟病的,一方面和语言有关,另一方面可能就是你代码的问题。语言方面的问题我们解决不了,所...
    A遇上方知友阅读 747评论 0 5
  • 背上行囊 走向遥远的他乡 寻找一曲 远方和诗 娓娓轻词 兰花指 轻弹了妩媚曲 曲曲幽幽 吾...
    桓舟子阅读 244评论 0 5