给 HP-Pavilion-bc015tx 黑苹果打电池补丁

此文为我的笔记,专机专用,其他机型可以考虑在 RehabMan 的 GitHub 里找找看。

我是配合的VirtualSMC套装使用,出现了电池电量不更新的问题
对补丁进行修改,去掉不需要的操作之后电量已经能正常显示和更新了

注意:这是静态补丁方法,每次更换硬件(如增加/减少内存)或更新 BIOS 等操作后需要重新生成补丁!

准备:

补丁文件
MaciASL
iasl for macOS

  1. 将MaciASL解压并且拖拽到应用程序文件夹中安装
  2. 将iasl解压并且复制到/usr/local/bin或者其他PATH目录中

导出系统 DSDT

我们可以用 Clover 来完成这一步操作。
重启电脑,在进入到 Clover 时按下键盘上的 F4 按键(有的机器可能需要按 Fn+F4,如果不确定的话可以两个方法都尝试一遍),Clover 不会有任何提示,接着我们启动到 macOS。
挂载 EFI 分区,你会发现,在 /Volume/EFI/EFI/CLOVER/ACPI/origin目录下出现了很多 .aml 后缀名的文件。

反编译

由于我们的 CPU 为 Skylake 系列,所以使用这个命令来反编译

iasl -dl DSDT.aml SSDT*.aml

如果你的 ACPI 为更老的型号,你应该用

iasl -da -dl DSDT.aml SSDT*.aml

完成后会出现一系列 .dsl 文件👌

patch

使用 MaciASL 打开 DSDT.dsl



点击 Patch


选择我们下载好的补丁文件


加载完成后点击 Apply 应用即可

编译查错

点击 Compile 编译看看有没有错误
我这边报了这个错误

11765, 6126, syntax error, unexpected PARSEOP_ARG1

解决方法也很简单,直接将对应位置注释掉就可以了



其他的错误可以用搜索引擎搜索解决

应用补丁

编译通过后我们点击 File -> Save as...


选择下面那一项,软件会自动将 dsl 编译回 aml 文件替换掉原本的 DSDT.aml

最后我们将生成的 DSDT.aml 复制到 /Volume/EFI/EFI/CLOVER/ACPI/patched 下,然后重启即可。

已知问题:重启后成功显示出电池图标和电量,但是电量只在启动时更新,之后用电也不会更新

另可参考

https://jcstaff.club/2019/DSDT-SSDT-battery/

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容