微信扫一扫 分享朋友圈

已有 7631 人浏览分享

开启左侧

修复CFG锁

[复制链接]
7631 18
群主  14:21:56
修复CFG锁
本指南仅推荐给已安装 macOS 的用户、首次安装的用户启用AppleCpuPmCfgLock及AppleXcpmCfgLock以下Kernel -> Quirks

请注意,本指南仅适用于英特尔用户。AMD 用户没有任何类型的 CFG 锁
#什么是CFG-Lock
CFG-Lock 是 BIOS 中的一项设置,允许写入特定寄存器(在本例中为 MSR 0xE2)。默认情况下,大多数主板锁定此变量,许多甚至将选项直接隐藏在 GUI 中。而我们关心它的原因是 macOS 实际上想要写入这个变量,而不仅仅是 macOS 的一部分。相反,Kernel(XNU) 和 AppleIntelPowerManagement 都需要这个寄存器。

因此,要修复它,我们有 2 个选项:

#1. 修补 macOS 以与我们的硬件配合使用
这会给许多人带来不稳定和不必要的修补
我们为此使用的 2 个补丁:
AppleCpuPmCfgLock 用于 AppleIntelPowerManagement.kext
AppleXcpmCfgLock 内核(XNU)
#2. 修补我们的固件以支持 MSR E2 写入
非常受欢迎,因为避免打补丁,从而在稳定性和操作系统升级方面具有更大的灵活性
注意:基于 Penyrn 的机器实际上不需要担心解锁这个寄存器

#检查您的固件是否支持 CFG Lock 解锁
在继续本指南的其余部分之前,您首先需要检查您的固件是否支持 CFG 锁解锁。要检查它,您可以通过两种方式进行:

使用 OpenCore 的 DEBUG 版本并检查日志中关于 CFG Lock 的内容
使用名为的工具VerifyMsrE2将加快整个检查过程
#通过 OpenCore 日志检查
对于喜欢使用 DEBUG 版本的用户,您需要启用 OpenCore 的 DEBUG 变体并Target设置为67并启动 OpenCore。这应该为您提供一个格式为opencore-YYYY-MM-DD-hhmmss.txt驱动器根目录的文件。

在此文件中,搜索OCCPU: EIST CFG Lock:

OCCPU: EIST CFG Lock 1
如果它返回1,那么您在此处继续本指南:禁用 CFG 锁定。

否则(即。0),没有理由继续,您可以简单地禁用Kernel -> Quirks -> AppleCpuPmCfgLock和Kernel -> Quirks -> AppleXcpmCfgLock。

#通过 VerifyMsrE2 检查
首先,下载VerifyMsrE2 (打开新窗口)并添加这个工具里面EFI/OC/Tools和config.plist(这可以用ProperTree的快照功能(即加利福尼亚+ R)来完成)。接下来,启动 OpenCore 并选择VerifyMsrE2.efi条目。这应该为您提供以下之一:

CFG-Lock 已启用:
This firmware has LOCKED MSR 0xE2 register!
CFG-Lock 被禁用:
This firmware has UNLOCKED MSR 0xE2 register!
对于前者,请在此处继续:禁用 CFG 锁定。

对于后者,您不需要做任何 CFG-Lock 补丁,只需禁用Kernel -> Quirks -> AppleCpuPmCfgLock和Kernel -> Quirks -> AppleXcpmCfgLock。

#禁用 CFG 锁定
因此,您已经创建了 EFI 文件夹,但在 CFG 锁定之前,如果不解锁,您仍然无法启动。为此,您需要以下内容:

在您的EFI/OC/Tools文件夹 和 中config.plist,添加以下工具(这可以使用 ProperTree 的快照功能(即 Cmd+R)来完成):

修改的 GRUB 外壳(打开新窗口)
还有一些应用程序可以帮助我们:

UEFI工具 (打开新窗口)(确保它是 UEFITool 而不是 UEFIExtract)
通用 IFR 提取器(打开新窗口)
最后一部分,从供应商的网站上获取您的 BIOS。

现在是有趣的部分!

#手动关闭 CFG-Lock
请注意,UEFITool 可以直接打开的固件只有 ASUS、MSI 和 ASRock。其他固件需要一个特殊的程序,我们不会在本指南中直接介绍。戴尔固件请参考dreamwhite指南(打开新窗口)

1.使用 UEFITool 打开您的固件,然后查找CFG Lock为 Unicode 字符串。如果什么都没有弹出,那么你的固件不支持CFG Lock,否则继续。


您会发现该字符串位于 Setup 文件夹中,右键单击并导出为Setup.bin(或什至Setup.sct)

2.ifrextract使用终端打开您的设置文件并导出为 .txt 文件:

path/to/ifrextract path/to/Setup.bin path/to/Setup.txt
3.打开文本文件,然后搜索CFG Lock, VarStoreInfo (VarOffset/VarName):并注意向右偏移之后(即:0x5A4)



运行修改后的 GRUB Shell 并编写以下命令,其中0x5A4替换为您之前提取的值:

setup_var 0x5A4
如果出现错误,例如error: offset is out of range运行以下命令:

setup_var2 0x5A4
和以前一样,如果你仍然得到error: offset is out of range你需要使用这个命令:

setup_var_3 0x5A4
如果您没有收到任何类型的错误,请编写不会导致error: offset is out of range(例如setup_var_3 0x5A4)的命令并0x00在其后编写:

setup_var_3 0x5A4 0x00
此时,reboot在 shell 中运行或简单地重新启动您的机器。有了这个,你应该已经CFG Lock解锁了!要验证,您可以运行检查您的固件是否支持 CFG 锁定解锁中列出的方法以验证变量是否设置正确,然后最终禁用Kernel -> Quirks -> AppleCpuPmCfgLock和Kernel -> Quirks -> AppleXcpmCfgLock。

请注意,可变偏移量不仅对于每个主板都是唯一的,甚至对于其固件版本也是唯一的。切勿在不检查的情况下尝试使用偏移量。
你完成了!现在您将拥有正确的 CPU 电源管理

注意:每次重置 BIOS 时,您都需要再次翻转此位,请确保将其与 BIOS 版本一起写下来,以便您知道是哪个版本。

注 2:联想等一些 OEM 可能设置了变量,但如果不对 BIOS 进行物理修改就无法解锁它,对于这些情况,您可能需要使用像RU这样的工具 (打开新窗口): CFG 锁定/解锁 - 替代方法工具慎RU 工程师?你必须是 BIOS 工程师才能在这里找到我!这是 RU.EXE 和 RU.EFI 的家。

评论 18

hdj133  新手上路  发表于 2023-3-15 02:17 | 显示全部楼层
我来学习下

举报 使用道具

回复 支持 反对
rockyrocky  新手上路  发表于 2023-3-15 02:17 | 显示全部楼层
如果能软解锁,基本oc自带那个工具就能解了,如果不能,只能拆下来刷打补丁的bios ,有些连打补丁可能都不行。

举报 使用道具

回复 支持 反对
lihaobibi  新手上路  发表于 2023-3-15 02:18 | 显示全部楼层
很多主板就差不到cfg lock设置,bios中就没有,这种采用oc的设置,是否在黑苹果使用中就无法启动原生电源管理(如何判断?) 但实际入nuc8就没有cfg lock,也没看出电源管理哪里不一样?x86那几个都是正常能看到加载的

举报 使用道具

回复 支持 反对
rockyrocky  新手上路  发表于 2023-3-15 02:18 | 显示全部楼层
我来学习下

举报 使用道具

回复 支持 反对
fengyuanqi  高级会员  发表于 2023-3-15 06:10 | 显示全部楼层
抢个楼板不容易

举报 使用道具

回复 支持 反对
wangxq73  高级会员  发表于 2023-3-15 07:39 | 显示全部楼层
黑哥的论坛,要支持

举报 使用道具

回复 支持 反对
qazqwewsx  高级会员  发表于 2023-3-15 08:41 | 显示全部楼层
抢个楼板不容易

举报 使用道具

回复 支持 反对
jjtennyson  高级会员  发表于 2023-3-15 10:02 | 显示全部楼层
不错,支持下楼主

举报 使用道具

回复 支持 反对
李太爽  金牌会员  发表于 2023-3-15 11:15 | 显示全部楼层
我喜欢黑妹,可以约起来吗

举报 使用道具

回复 支持 反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

关注

23

粉丝

13

主题
精彩推荐
热门资讯
网友晒图
图文推荐
  • 微信公众平台

  • 扫描访问手机版

Archiver|手机版|小黑屋|水窝ibm

GMT+8, 2024-11-26 07:24 , Processed in 0.090871 second(s), 23 queries .

Powered by Discuz! X3.5

© 2001-2022 Comsenz Inc.