目前系统硬件均已驱动(包括intel蓝牙和wifi,可隔空投送),睡眠、唤醒、关机均正常,要说不完美的地方就是还没有修复imessage、facetime等,懒得弄了,后续有时间再折腾,以下是从零开始构建oc引导安装完美黑苹果的过程:
教程参考:
1、windows环境下快速安装黑苹果双系统http://imacos.top/2022/10/25/rdrwindows-macos/
2、opencore 官方安装教程https://dortania.github.io/OpenCore-Install-Guide/
3、国光黑苹果安装教程https://apple.sqlsec.com
4、https://github.com/daliansky/OC-little
安装过程:
1、在windows环境下按照参考教程1中的步骤下载并进行镜像的写盘。(最开始选择下载的是最新版Install macOS Ventura 13.0(22A380)OC 0.8.5 Clover5150 winPE三引导恢复版.rdr,结果在按照参考教程2制作EFI始终卡住,后来尝试了官方制作usb的方法,换了好几个macOS版本,终于发现Monterey版卡屏的信息不一样,又按照参考教程2进行了EFI文件的定制,选择的是opencore 0.8.6,又是各种卡屏,最后一次卡屏也没管,在快要放弃的时候吃完饭回来看竟然进入安装界面了)
2、按照参考教程2和3进行EFI定制。其中ssdt文件和kext文件选择是后面卡屏的关键所在:SSDT按照官方教程只需要ssdt-plug.aml ssdt-ec-usbx-laptop.aml 理论上这两个就够了,其中ssdt-plug.aml使用ssdttime工具自己定制,ssdt-ec-usbx-laptop.aml官网下载,后又加入了ssdt-pnlf.aml. ssdt-xosi.aml(要配合rename的patch);KEXT文件按照官方教程选择,能简则简,其中最关键的是要按照官方教程利用usbtoolbox工具进行USB定制(定制后的文件为UTBMap.kext,同时要配合USBtoolbox.kext文件使用才行),否则会引起启动过程缓慢(经常卡在iokit好几分钟),以及无法开启自带的intel无线网卡的wifi和蓝牙。
3、安装macos,并完善系统。如果能够正常启动系统,再进行完善,一定要养成备份再改动配置的习惯,否则后悔莫及。ssdt文件基本上不需要再动,主要是kext驱动文件,继续按照官网教程增加各种驱动,包括键盘、电池、网卡等,注意触控板能否使用跟电池驱动是否完善有关。自带的intel 无线网卡不能直接按照官网的教程使用kext文件,会引起卡iokit 致使启动缓慢,需要按照国光的教程,使用 BlueToolFixup.kext替代掉IntelBluetoothInjector.kext即可。截止目前基本完美,附上EFI文件
补充1:要修改bios中的CFG LOCK 为解锁状态,DVMT 为64m或以上,hp笔记本bios中隐藏找不到这些项目,可以按照以下教程利用软件修改
链接: https://zhuanlan.zhihu.com/p/121655468?utm_id=0[/url]
补充2:发现关机不断电,按照官网的fix shutdown ssdt的方法无效,采用论坛中的方法得以解决
https://bbs.pcbeta.com/viewthread-1859243-1-1.html
经测试,以上方法还是不能关机断电
补充3:风扇狂转是因为没有通过ssdt禁用独显,通过boot args来禁用,gpu后台还是会耗电的,要利用官网的禁用独立显卡ssdt才可以,需要修改设备路径名称
补充4:睡眠唤醒有问题,晚间经常被GLAN/HID唤醒,按照官网的教程修改SSDT-GPRW可解决,后又发现每半小时会被RTC/HID唤醒,是因为电源的电能小憩设置导致的,属于正常现象。
补充5:每次更改boot args之类的要重置NVRAM,否则不生效
补充6:睡眠唤醒后不会再次休眠,原因是在使用FixShutdown-USB-SSDT.aml修复关机重启问题时,_pts更名为zpts的patch时,count的值应该为1,如果设为0就会引起换唤醒后不再休眠的问题
补充7:HDMI定制
教程:
https://www.bilibili.com/video/av726634937/?vd_source=7eee93bdc7a5847f36d68ce08063b69c
https://apple.sqlsec.com/6-实用姿势/6-13/?h=hdmi#lenovo
framebuffer-con1-alldata = 02??0A000008000087010000 ??=01-06
framebuffer-con1-enable = 01000000
framebuffer-patch-enable = 01000000
framebuffer-con2-alldata = 03??0A000008000087010000 ??=01-06
framebuffer-con2-enable = 01000000
framebuffer-patch-enable = 01000000
以上方法无效
Key Type Value
framebuffer-con1-enable Data 01000000
framebuffer-con1-alldata Data 01050A00 00080000 87010000
framebuffer-con2-enable Data 01000000
framebuffer-con2-alldata Data 02040A00 00080000 87010000
https://dortania.github.io/OpenCore-Install-Guide/config-laptop.plist/kaby-lake.html#deviceproperties
Boot-args添加 igfxonln=1,解决每次插拔才能显示问题
补充8:唤醒后风扇狂转,尝试
• 去掉ssdt-gprw.aml和相关重命名(无效)
• 网上有说是缓冲帧造成的,试一下(无效)
• 恢复默认休眠策略
sudo pmset restoredefaults:还原全部设置
pmset -g custom:查看当前所有睡眠计划
(详见https://sspai.com/post/61379)
无效
• 猜想可能是唤醒后,独显又启动了
详见:https://github.com/daliansky/OC-little/tree/master/20-SSDT屏蔽独显方法
SSDT屏蔽独显过程
• 初始化阶段禁用独显。
• 机器睡眠期间启用独显,防止独显在被禁用状态下进入 S3 而可能导致的系统崩溃。
• 机器唤醒后再次禁用独显。
果然是显卡问题,按照教程增加ssdt和相关重命名完美解决了
补充9:目前就剩下关机不断电的问题了,其他几乎完美
• 尝试1:FadtEnableReset 改为true
[url]https://github.com/daliansky/OC-little/blob/29d68fd6f698923fec262543cf5abcfa9a579eeb/00-总述/00-3-ACPI表单/README.md
无效
补充10:添加缺失的部件只是一种完善方案,非必要!
https://github.com/daliansky/OC-little/tree/master/06-添加缺失的部件
没什么卵用,去掉了
补充11:终于修复关机断电了,100%完美。
在网上尝试各种修复关机断电的方法,大体上都是https://bbs.pcbeta.com/viewthread-1859243-1-1.html里面所描述的方法,也就是:
If ((0x05 == Arg0))
{
If (CondRefOf (\_SB.PCI0.XHC.PMEE))
{
\_SB.PCI0.XHC.PMEE = Zero
}
OperationRegion (PMRS, SystemIO, 0x1830, One)
Field (PMRS, ByteAcc, NoLock, Preserve)
{
, 4,
SLPE, 1
}
SLPE = Zero
Sleep (0x10)
}
所以按照这个方法修改了之前oc-little里的ssdt-ext1-fixshut.aml,在方法里添加了 OperationRegion (PMRS, SystemIO, 0x1830, One)后面这一段,修改完重启,然后关机,果然成功了,至此100%完美!(估计还是独显禁用和启用的问题)
文件已经备份至阿里云盘--黑苹果文件夹。 |