大家好, 我是可爱的排骨 😁
前言
这一篇排骨来说说 Z490 主板的黑苹果系统安装流程 (基于 OpenCore). 仍然是以上一篇的硬件 Intel i7-10700K + 圣旗 Z490-PRO Gaming + 讯景 RX 480 为基础, 介绍排骨开荒吃土的全部过程~ 🤣
流程大概有以下几步:
- 制作安装盘.
- 安装 Windows 10.
- 下载相关文件和脚本工具.
- 提取 DSDT (系统信息)并制作补丁 (SSDT).
- 创建 config.plist (OC 配置) 并复制到安装盘.
- 重新分区
- 安装 MacOS 10.15.5.
- 补全驱动并修正 OC 配置.
- 安装 Windows 10. (可选)
文本安装配置流程主要参考自 [OpenCore Desktop Guide].
由于平台限制要求, 本文所有需要下载的文件和程序都不能提供下载连接, 请充分自我发挥搜索本领~ 实在找不到可在评论区留言向排骨索取. 😅
制作安装盘
📢 排骨的黑苹果安装盘制作需要以下材料.
- 32G 以上的 USB 3.0 U盘一个. 排骨计划将 MacOS 10.15.5 Catalina 安装镜像, Windows 10 安装镜像, Ubuntu 18.04 安装镜像都放到这个 U盘里.
- 一台正常工作的 Windows 10 或 MacOS 电脑. 安装盘的制作和配置都需要用这台电脑来完成.
- 良好的网络环境, 足够的耐心, 懂点电脑技术的脑子.
📢用 Win10 电脑制作安装盘.
- 下载黑果小兵或其他大佬制作的 dmg 镜像, Win10 安装镜像 (iso), Ubuntu Desktop 18.04 安装镜像 (可选).
- 下载 balenaEtcher, 再用它把 dmg 镜像写入 U盘.
- 下载 Win10 安装镜像 (iso), 用 dism 命令将镜像中的 install.wim 分成多个 1GB 的 swm 文件.
- 在 U盘的剩余空间中创建一个比 Win10 安装镜像稍大的 FAT32 分区. 然后将镜像里除 install.wim 外的所有文件复制到此分区. 再把上一步生成的几个 swm 文件复制到此分区里代替 install.wim.
- 在 U盘的剩余空间中创建一个比 Ubuntu 安装镜像稍大的 FAT32 分区. 然后将镜像里所有文件复制到此分区中 (可选).这样排骨的完美安装盘就制作完成了. 将 Win10 和 Ubuntu 也一起做到 U盘是为了安装多系统时省事, 你也可以用多个 U盘来做. 详细的步骤可参考排骨的旧贴 [终极系统安装盘打造攻略-macOS+win10+ubuntu三合一].
📢 准备 OpenCore 需要的驱动, 补丁和工具.
上面制作的安装盘很可能无法让你直接进入到 Mac 系统安装界面, 特别是对于排骨现在开荒的这款最新的酷睿十代 Z490 主板而言.
- 下载
github.com/acidanthera
仓库里的OpenCore-0.5.9-DEBUG.zip)
并下载. - 下载并安装 python 3.8.x.
- 下载
github.com/corpnewt
仓库里的SSDTTime
,ProperTree
,GenSMBIOS
. - 下载
mackie100projects
的OpenCore Configurator
. - 将
OpenCore-0.5.9-DEBUG.zip
中的EFI
文件夹复制到 U盘 Win10 安装分区, 放到 Ubuntu 那个分区也行. 这样可以免去挂载 U盘 EFI 分区的麻烦. - 删除
EFI\OC\Drivers
中的以下文件, 然后添加HFSPlus.efi
().
7. 删除 EFI\OC\Tools
中除 OpenShell.efi
以外的所有文件. (用来检查CFG Lock
状态的VerifyMsrE2.efi
可以保留)
8. 下载并添加 kext 驱动并复制到EFI\OC\Kexts
文件夹中, 排骨开荒的这块圣旗 Z490 主板还需要额外添加FakePCIID.kex
,FakePCIID_Intel_HDMI_Audio.kext
才能出声音.
9. 使用 ProperTree.bat
修改 USBInjectAll.kext
文件夹下的 Info.plist
文件 (没错, 苹果的应用程序 .app
和驱动程序 .kext
都是文件夹). 在 Root\IOKitPersonalities\ConfigurationData\Configuration
节点下找到 8086_a36d
, 将它改名为 XHC
并保存.
10. 从 github.com/dortania/Getting-Started-With-ACPI/tree/master/extra-files/compiled
下载 SSDT-AWAC.aml
, SSDT-PLUG-DRTNIA.aml
, SSDT-EC-USBX-DESKTOP.aml
三个文件放入 EFI\OC\ACPI
文件夹中. 排骨当然也全部手工折腾过这些 SSDT
的, 最后才发现用这几个现成的就够了. (此处省去三万字…)
📢修改 OpenCore 的配置文件.
- 将
OpenCore-0.5.9-DEBUG.zip
中的Docs\Sample.plist
文件复制到EFI\OC
文件夹并改名为config.plist
. - 运行
ProperTree.bat
来打开config.plist
文件. - 在
ProperTree
的File
菜单里选择OC Clean Snapshot
, 然后选中EFI\OC
文件夹. 这样上面整理好的efi
和kext
文件就都引用到 OpenCore 的配置文件config.plist
里了. - 按下图设置好
Booter
的Quirks
. 如果开机 log 报错, 可以试尝着改变RebuildAppleMemoryMap
和SetupVirtualMap
的值.
5. 按下图设置好 Kernel
的 Quirks
. 其中的 AppleCpuPmCfgLock
和 AppleXcpmCfgLock
只有在主板 BIOS
的 CFG Lock
启用而又没有选项让你关闭时才需要打开 (可在开机时选择 VerifyMsrE2
来检查主板 BIOS
的 CFG Lock
状态). DisableIoMapper
打开就可以忽略 VT-d
了. XhciPortLimit
在定制好 USB 端口之后关掉.
6. 按下图设置好 Misc
的 Debug
和 Security
节点. Debug
下面的几个设置都是用来生成调试信息和错误信息的, 这部分的改动对安装和配置黑苹果系统没有影响, 可以不动. AllowNvramReset
会在 OpenCore
启动菜单中添加 Reset NVRAM
选项, AllowSetDefault
可以让你修改 OpenCore
启动菜单的默认选择项 (按 Ctrl+Enter). 最后两个选项是屏蔽和降低 MacOS 的安装检查功能, 减少黑苹果的出错率.
7. 按下图设置好 NVRAM
. UIScale
设置为 2 可以启用 HiDPI, 避免 OpenCore 启动时超高分屏显示器显示内容太小. boot-args
是 OpenCore 的启动参数, 上图参数表示显示全部启动信息, 方便进不了系统的同学拍照上线求助. prev-lang:kdb
初始语言设置, 默认是俄语, 改成 en-US:0
就是英语了.
8. 使用前面下载的 GenSMBIOS
来生成黑苹果的硬件注册信息. 运行 GenSMBIOS.bat
再选 3. Generate SMBIOS
.
然后输入
iMac19,1
(注意大小写和逗号) 就能生成一套 SMBIOS 信息了.
如果你想激活 iMessage/FaceTime 等功能, 就像去
checkcoverage.apple.com
检查你生成的 Serial
是否存在, 如果不存在就能用来激活 iMessage/FaceTime, 类似黑群晖洗白操作. 如果是这个串号已经存在, 表示同串号的苹果电脑别人已经在使用, 会有一些安全问题. 如下图就是排骨试出来的一个美国马凯特大学里的苹果电脑串号, 联网后会自动加入托管证书, 获取包含清空你电脑在内的各种权限~ 怕不怕.
9. 按下图设置好 PlatformInfo
. 其中的 SystemSerialNumber
, MLB
, SystemUUID
使用上一步从 GenSMBIOS
生成的信息来填充. MLB
就是 Board Serial
. 这步完成后就可以保存并关闭 config.plist
了.
📢至此基于 OpenCore 的纯净安装盘已经制作完成了. 可以拨掉 U盘插到要吃黑苹果的主板上开机了. 记得把上面下载的 OpenCore Configurator
也复制到 U盘上!
安装 MacOS
- 按
F12
(圣旗主板的 BIOS 基本与华硕的一致) 进入 BIOS 设置. - 再按
F9
搜索Fast Boot
,Secure Boot
,Intel SGX
这三个选项并禁用. - 继续利用搜索功能找到以下选项并修改设置:
1
2
3
4
5
6
7Intel VMX (这块主板没找到 VT-x): 开启
Above 4G decoding: 开启
Hyper-Threading: 开启
Execute Disable Bit: 开启
EHCI/XHCI Hand-off: 开启
OS type: Windows 8.1/10 UEFI Mode
DVMT Pre-Allocated(iGPU Memory): 64MB - 保存设置并重启, 然后按
F8
选择 U盘启动, 会看到有多个 U盘分区可选. 如果上面是把EFI
放在Win10
或Ubuntu
分区, 那就要选 3 或者 4. (1 是 EFI 分区, 2 是 MacOS 安装镜像分区, 3 是 Win10 安装镜像分区, 4 是 Ubuntu 安装镜像分区)
5. 进到 OpenCore 启动菜单时, 选择 Install macOS Catalina
. 选择后面带 external
的表示是 U盘上的. 下图可能与你看到的选择数量和顺序不一样, 仅供参考.
6. 与各种错误作斗争~在成功进入 MacOS 安装界面之前拍照, 搜索, 重启. 包含但不限于
apfs_module_start ...
SMCSuper IO ...
Waiting on <dict ID="0"> ...
apfs_sysctl_register ...
Please go to https :// panic.apple.com to report this panic
7. 终于进入了安装界面. 排骨首先打开Disk Utility
处理一下分区.
8. 从左上 View
下拉框中选中 Show All Devices
来显示整个硬盘而不只是分区.
9. 选择需要装黑苹果的硬盘, 点上方的格式化按钮 Erase
, 格式选择 Mac OS Extended (Journaled)
, 分区表选择 GUID Partition Map
. 完成后再点上方的分区按钮 Partition
.
10. 点两次 +
新增两个分区, 先只改名字不改格式. 反正是开荒体验, 排骨随便平均了三个区. 一个 MacOS, 一个 Win10, 一个 exFAT 交换区.
11. 退出 Disk Utility
, 选择 Install macOS
, 再选择一个分区开始安装.
12. 苹果安装程序会自己重启两次, 第一次重启后继续选择上次那个 U盘的分区进入 OpenCore
, 这回要选 macOS Installer
.
- 第二次重启还是需要用 U盘引导
OpenCore
, 但是选择进入的是MacOS
. 看到下面这个时区选择界面就说明黑苹果系统已经安装好了.
14. 第一次正式进入黑苹果系统时, 先找到 Terminal
再运行 sudo spctl --master-disable
命令来开启第三方软件运行权限. 然后运行 U盘里的 OpenCore Configurator
, 在其 Tools
菜单项下面选择 Mount EFI
, 挂载并打开黑苹果当前硬盘上的 EFI
分区.
- 将放到 U盘的
EFI
文件夹复制到刚刚挂载的硬盘EFI
分区中. 这样就可以拔掉 U盘直接从硬盘启动黑苹果系统了.
📢黑苹果 MacOS 系统安装完成!
安装 Win10
黑苹果用得再溜, 也总会有需要用到 Windows 的时候. 在安装过 MacOS 后, 再安装 Win10 就很简单了.
- 插入前面制作的安装盘, 重启电脑. 在
OpenCore
启动菜单中选择Windows (external)
.
2. 进入 Windows 安装界面后, 按Shift+F10
打开命令行容器. 进入diskpart
模式, 使用list disk
和select disk
命令选中硬盘, 再使用list part
命令列出硬盘的所有分区. 其中Partition 1
是装有OpenCore
的EFI
分区, 其它几个分别为macOS
,win10
,exfat
三个分区.
3. 使用select part
命令选中我们准备安装 Win10 的Partition 3
分区, 因为它是苹果分区, Win10 不能使用, 所以要将它delete
掉.Partition 3
被删除后, 再使用create part primary
命令创建一个分区给 Win10 安装使用.
4. 使用format fs=ntfs quick
命令将刚刚创建的分区格式化, 并用assign
分配一个盘符. 用list vol
命令可以看出每个分区被分配的盘符. 可以看到刚刚格式化好的要装 Win10 的 NTFS 分区盘符是F
.
5. 再选中EFI
分区, 给它也分配一个盘符. 现在可以看到F
是预装 Win10 的分区,G
是EFI
启动区,C
是 Win10 安装包分区. 这几个盘符记好了. 后面要用.
6. 切换到C
盘, 用dism /get-wiminfo /wimfile:sources\install.swm
命令找出准备安装的 Win10 版本. 排骨打算安装Index: 5
位置的Windows 10 Pro
.
7. 输入dism /apply-image /imagefile:sources\install.swm /swmfile:sources\install*swm /index:5 /applydir:F:
直接将 Win10 安装包内存解压到F
盘. (原install.wim
由于大于 4GB, 在制作安装盘时被排骨分割成多个installx.swm
).
8. 最后使用bcdboot F:\windows /s G: /f UEFI
命令将F
盘里的Windows
引导写入G
盘, 引导格式为UEFI
.
9. 退出 Win10 安装程序重启, 等待几分钟再看到的就是熟悉的 Win10 欢迎界面了! 之后开机时可以按F8
选择从OpenCore
或者Windows Boot Manager
启动, 也可以在Bios
中设置启动顺序.
📢 现在 MacOS/Windows 单硬盘双系统搞定! 两个系统都可以正常读写第三个 exfat 分区. MacOS 可以直接读取 NTFS 分区, Win10 需要安装Linux Reader
等软件才可以访问苹果分区.
补遗
📢定制 USB 端口
- 下载
github.com/headkaze/Hackintool
并运行. - 切换到 USB 页面, 可以看到所有可用的 USB 端口显示为绿色, 把黑色的 USB 端口都删除. 如果只有部分绿, 可以用把 USB 键盘或鼠标的 USB 2.0 插头和一个 USB 3.x 的 U盘把主机上每个 USB 都插一遍, 插绿它!
- 看看绿色端口总数是不是在 15 个之内, 多于 15 的话需要删除几个绿色端口. (上一篇排骨已经说明了圣旗 Z490-PRO GAMING 这块主板上哪些 USB 端口用到了, 正好与下图的绿色端口一致, 也正好是 15 个)
- 点击右下导出按钮生成一个
USBPorts.kext
, 把它复制到EFI\OC\Kexts
文件夹中.
5. 将EFI\OC\Kexts\config.plist
文件中的USBInjectAll.kext
修改成USBPorts.kext
, 再把XhciPortLimit
改成false
.
- EHCI: USB 2.0 控制器 (Intel Skylake 开始取消了, 如果你在其它教程中看到它, 请忽略)
- XHCI: USB 3.x 控制器. (向下兼容 USB 1.1/2.0)
- HSxx: HS (High Speed) 表示 XHCI 下的 USB 2.0 接口.
- SSxx: SS (Super Speed) 表示 XHCI 下的 USB 3.x 接口.
- macoS Catalina 限制每个 USB 控制器最多 15 个接口.(圣旗 Z490-PRO GAMING 只有一个 XHCI)
- 一个 USB 2.0 接口对应一个 HSxx, 如 HS13, 禁掉 HS13 这个接口就失灵了.
一个 USB 3.x 接口对应一个 HSxx 和一个 SSxx, 如 HS01/SS01. 禁掉 HS01 这个接口插鼠标键盘或其它 USB 1.1/2.0 设备不工作. 禁掉 SS01 则 USB 3.x 设备降为 2.0 模式运行. HS01/SS01 都禁掉则此接口完全失灵.◆ 修改电脑名称 打开 /Users/[用户名]/Library/Preferences/com.apple.SystemProfiler.plist 修改 CPU Names 节点的 string 值, 不要改 key 值.
1 | <key>CPU Names</key> |
📢使用无核显 CPU
如果你用的是带 F 无核显的CPU, 那么在生成 SMBIOS 时输入iMacPro1,1
, 这样黑苹果系统会将独显作为默认显卡.
📢双系统时间同步
MacOS 与 Windows 采用不能的系统时钟识别方式. MacOS 会将系统时钟设置成UTC
时间, 而 Windows 会把系统时候作为本地时间,
1 | REG ADD HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v RealTimeIsUniversal /t REG_DWORD /d 1 |
如果你可以忍受 MacOS 下使用英国时间, 就不需要改 Windows 注册表了 😆
一个 USB 3.x 接口对应一个 HSxx 和一个 SSxx, 如 HS01/SS01. 禁掉 HS01 这个接口插鼠标键盘或其它 USB 1.1/2.0 设备不工作. 禁掉 SS01 则 USB 3.x 设备降为 2.0 模式运行. HS01/SS01 都禁掉则此接口完全失灵.◆ 修改电脑名称 打开 /Users/[用户名]/Library/Preferences/com.apple.SystemProfiler.plist 修改 CPU Names 节点的 string 值, 不要改 key 值.
1 | <key>CPU Names</key> |
📢使用无核显 CPU
如果你用的是带 F 无核显的CPU, 那么在生成 SMBIOS 时输入iMacPro1,1
, 这样黑苹果系统会将独显作为默认显卡.
📢双系统时间同步
MacOS 与 Windows 采用不能的系统时钟识别方式. MacOS 会将系统时钟设置成UTC
时间, 而 Windows 会把系统时候作为本地时间,
1 | REG ADD HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v RealTimeIsUniversal /t REG_DWORD /d 1 |
如果你可以忍受 MacOS 下使用英国时间, 就不需要改 Windows 注册表了 😆