众所周知,黑苹果系统安装对硬件设备限制很多,之前一直不敢尝试,而最近找到了一个相同型号的黑苹果安装记录,Mac可以支持到Ventura版本,不过其安装过程并没有很详细。因此笔者尝试一下,在此记录下安装的过程。

参考链接:

2024/11/01更新

换成了更新的EFI,见链接https://github.com/Darkspeed294/HP-Omen-15-DC-1xxxx-Hackintosh-Opencore

2024/11/07更新

成功安装黑苹果,先将过程的一些记录放出来,后面会进行整理

本机配置

电脑型号:暗影精灵5

CPU i7-9750H
iGPU Intel UHD Graphics 630
dGPU GTX1650
Audio Realtek ALC295
Disk HP SSD EX920 + Netac SSD
Wireless Wireless-AC 9560/BCM94352z
Ethernet Realtek 8111/8168/8411 PCI Express Gigabit Ethernet

制作U盘系统安装器

首先安装几个需要的工具

  • OpenCorePkg:按照官方文档提示是推荐安装debug版本,可以方便后续问题解决;
  • ProperTree:用于修改后续生成的.plist文件。

然后开始制作安装器,有在线安装和离线安装两种方式,离线安装需要在MacOS上运行;而在线安装可以支持任意系统。因此本文选择在线安装方式:

准备几个工具:

制作USB启动器

下载macOS

在下载的OpenCore目录下/Utilities/macrecovery/打开终端。然后运行以下命令(根据你想要下载的MacOS版本挑选一个即可)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
# Lion (10.7):
py macrecovery.py -b Mac-2E6FAB96566FE58C -m 00000000000F25Y00 download
py macrecovery.py -b Mac-C3EC7CD22292981F -m 00000000000F0HM00 download

# Mountain Lion (10.8):
py macrecovery.py -b Mac-7DF2A3B5E5D671ED -m 00000000000F65100 download

# Mavericks (10.9):
py macrecovery.py -b Mac-F60DEB81FF30ACF6 -m 00000000000FNN100 download

# Yosemite (10.10):
py macrecovery.py -b Mac-E43C1C25D4880AD6 -m 00000000000GDVW00 download

# El Capitan (10.11):
py macrecovery.py -b Mac-FFE5EF870D7BA81A -m 00000000000GQRX00 download

# Sierra (10.12):
py macrecovery.py -b Mac-77F17D7DA9285301 -m 00000000000J0DX00 download

# High Sierra (10.13)
py macrecovery.py -b Mac-7BA5B2D9E42DDD94 -m 00000000000J80300 download
py macrecovery.py -b Mac-BE088AF8C5EB4FA2 -m 00000000000J80300 download

# Mojave (10.14)
py macrecovery.py -b Mac-7BA5B2DFE22DDD8C -m 00000000000KXPG00 download

# Catalina (10.15)
py macrecovery.py -b Mac-00BE6ED71E35EB86 -m 00000000000000000 download

# Big Sur (11)
py macrecovery.py -b Mac-42FD25EABCABB274 -m 00000000000000000 download

# Monterey (12)
py macrecovery.py -b Mac-FFE5EF870D7BA81A -m 00000000000000000 download

# Ventura (13)
py macrecovery.py -b Mac-4B682C642B45593E -m 00000000000000000 download

# Sonoma (14)
py macrecovery.py -b Mac-226CB3C6A851A671 -m 00000000000000000 download

# Latest version
# ie. Sequoia (15)
py macrecovery.py -b Mac-937A206F2EE63C01 -m 00000000000000000 download

由于MacOS Monterey版本比较稳定,也在上述博文中已实现的版本列表中,因此本文选择Monterey版本:

1
2
# Monterey (12)
python3 macrecovery.py -b Mac-FFE5EF870D7BA81A -m 00000000000000000 download

注意:

  • 对于MacOS 12以上的版本,需要使用USBToolBox对U盘进行处理。(推荐在安装好后再搞,如果安装过程中发现USB错误则再搞这个)

    参考链接:USB ports map for macOS with USBToolBox

    下载工具USBToolBox,选择Windows.exe安装

    安装后终端里运行,选择C修改配置信息如下:

    选择D展示所有发现的USB端口设备,绿色表示已连接,其余为白色,可以发现共有24个端口,高于苹果的15个端口的限制,因此应该进行映射来避免问题。

    其中很多端口其实电脑都用不到的,因为笔记本一共就三个USB接口,一个Type-C接口。可以用U盘和雷电接口的设备接下每个接口,看实际使用的接口有哪些。

    结束后按B返回,然后选择S重排端口,将使用过的端口排在前面。使用c:x:name命令,x代表端口号,名字为你想要设置的名字(不必要,主要是为了清晰)。

    可以按N禁用所有映射,按P将所有已知端口映射。最后按K生成kext文件。

    最后下载USBToolBox.kext文件,两个kext文件夹应同时存在,以备后续使用。

  • 在启动时需要关闭XhciPortLimit选项,后续会提到

制作U盘系统启动器

  • 根据官方文档有两种方式,我们选择第一种Disk Management method

  • 右键Win开始键,选择磁盘管理工具,选择接入的U盘,右键格式化为FAT32格式,此处分区大小需要小于32GB才能够以FAT32格式化,需要注意。另外还需要创建一个EFI分区,同样是FAT32格式化。

  • 然后在U盘根目录下创建com.apple.recovery.boot文件夹,将下载好的BaseSystem文件移入该目录下,注意dmg和chunklist两个文件都需要复制。

  • 然后打开之前下载的OpenCorePkg目录,选择X64文件夹打开,然后将其中EFI文件复制过去,此时你的U盘目录应为:

添加基本的OpenCore文件

  • 打开U盘中的EFI文件夹,OC目录中有大量的文件,其中有很多都是我们不需要的,具体可以参考官方文档。这里直接采用默认方法,参考下图:

  • 然后将你需要的各种设备驱动文件填入对应目录下,这里我参考了对应博文的内容,由于版本不一致,还是推荐阅读官方文档

    驱动 描述信息 安装路径
    HfsPlus.efi 通用驱动,必备 /OC/Drivers

    kext目录:

    SSDT这里选择直接复制博文提供的ACPI,感觉没差。

配置config.plist

新建自定义的config.plist

首先从/OpenCore/Docs/目录选取Sample.plist,将其复制到U盘/OC目录中,并重命名为config.plist

安装工具ProperTreeGenSMBIOS

按Ctrl+O打开config.plist文件

打开后,按Ctrl + Shift + R键令其指向/EFI/OC创建一个Clean Snapshot,这会将你的配置项全部加载并写入到config.plist中。

选择笔记本平台

选择了Coffee Lake and Whiskey Lake型号。

根据官方文档进行配置:

2021-9-12: 请自行按下面的说明修改config.plist(没有发布新的EFI,开学了等有时间把OC升级到0.7.3再补上,目前请手动修改),解决OC引导windows后显示型号为mac*,manufacture为Acidanthera的问题,这样在windows下 omen game hub 才能正常的对系统资源进行监控和操作。
Kernel> Quirks> CustomSMBIOSGuid> True (default is False)
PlatformInfo> UpdateSMBIOSMode> Custom (default is Create)

安装

痛苦的问题解决模块

问题解决

  1. 卡在exit:ACPI没有用最新的。

  2. 卡在ioplatformpanicaction -> applesmc

    参考链接

    删除OC config.plist的核显device_id

  3. 卡在xpc.launchd:

    1. 尝试禁用GPU独显(无果)

    2. 也有说是USB没有定制的问题,不过我本身就已经定制好了,而且关不关好像对启动都没啥影响,所以也不是这个问题

    3. 有文章说问题不是出在xpc这里,xpc报错不会影响,但是换了好几个EFI都存在这一问题,因此也不行

      1. 注意到开始出现com.xpc.launchd时并没有报错,可能确实无关?这里发现一直运行到了AppleALC这一步,启动过程参考:https://dortania.github.io/OpenCore-Install-Guide/troubleshooting/boot.html

        https://dortania.github.io/OpenCore-Install-Guide/troubleshooting/extended/kernel-issues.html#stuck-on-or-near-ioconsoleusers-gioscreenlock-giolockstate-3

        根据该问题进行修改。

        • 按照这个方法加上参数
    4. CSM也已经关闭,BIOS设置无误

    5. 尝试仿冒CPU(按理说也不行,因为本人的电脑型号按官方教程是不需要的,不过也尝试看看)

    6. 还有一个说可以把蓝牙,WIFI什么的先都去掉,等安装上之后再装,后续也可以试一试。

    7. NVME报错:按教程说是硬盘不兼容,因此不太能进行下去了,等后面配台式再说吧。
      https://apple.sqlsec.com/6-%E5%AE%9E%E7%94%A8%E5%A7%BF%E5%8A%BF/6-8/
      https://www.bilibili.com/video/av210356622/?vd_source=fb139bb297dc8adccc706ce3cb357f3a
      没有成功,然后添加启动参数nvme=-1成功在跑码后黑屏

    8. 跑码后黑屏解决

      启动参数添加-igfxblr参数

    9. 卡在IOConsoleUsers: gIOScreenLock前

      https://quanquan.space/viewtopic.php?t=390

      添加参数-igfxmlr

    10. 卡在苹果logo,没有进度条,或者说进度条是个蓝紫色的框,左上角有鼠标箭头,鼠标动不了。

      1. 怀疑是没有做USBmap,(做了后也没用
      2. 添加device_id参数,成功进入界面,不过后来又进不去了,很玄学
      3. 尝试更新其中的AppleALC驱动(无果
      4. 因为鼠标动不了,猜测是Voodoo驱动问题,更新驱动Voodoo*(触摸板驱动),也不行
      5. 最后发现是系统镜像的问题,换位13版本成功进入
    11. recovery安装无法下载。

      1. 使用Unplugged工具进行离线安装
    12. 第二次启动卡nvme successfully initialized

      1. 考虑第二次启动关闭SSD屏蔽,无果
      2. 发现可能是通过Unplugged工具安装的Ventura与前面成功启动的Ventura小版本不匹配,导致出现的一些更新特性不能兼容,因此从网上找到同一版本号的镜像进行安装(注意,前面的方法是基于Opencore的恢复式安装,接下来是安装的完整镜像)
        使用etcher烧写工具重新烧写U盘。

解决以上问题后,大功告成!!!

TODO LIST

  • 配置OC主题
  • Mac基础美化
  • 常用软件工具安装
  • OC版本更新(更新后电池保护补丁出错,还是苟在老版本吧)
  • OC相关驱动更新(更新后电池保护补丁出错,还是苟在老版本吧)
  • OC主题自定义
  • 数据盘共享
  • 触摸板
  • 键盘按键映射
  • OC引导启动项隐藏