大家好, 我是可爱的排骨
前言
这一篇排骨来说说 Z490 主板的黑苹果系统安装流程 (基于 OpenCore). 仍然是以上一篇的硬件 Intel i7-10700K + 圣旗 Z490-PRO Gaming + 讯景 RX 480 为基础, 介绍排骨开荒吃土的全部过程~
黑苹果开荒记硬件篇:新品 10700K+圣旗 Z490 配置实例
流程大概有以下几步:
- 制作安装盘.
- 安装 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().
- 删除 EFI\OC\Tools 中除 OpenShell.efi 以外的所有文件. (用来检查CFG Lock状态的VerifyMsrE2.efi可以保留)
- 下载并添加 kext 驱动并复制到EFI\OC\Kexts文件夹中, 排骨开荒的这块圣旗 Z490 主板还需要额外添加 FakePCIID.kex, FakePCIID_Intel_HDMI_Audio.kext才能出声音.
- 使用 ProperTree.bat 修改 USBInjectAll.kext 文件夹下的 Info.plist 文件 (没错, 苹果的应用程序 .app 和驱动程序 .kext 都是文件夹). 在 Root\IOKitPersonalities\ConfigurationData\Configuration 节点下找到 8086_a36d, 将它改名为 XHC 并保存.
- 从 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 的值.
- 按下图设置好 Kernel 的 Quirks. 其中的 AppleCpuPmCfgLock 和 AppleXcpmCfgLock 只有在主板 BIOS 的 CFG Lock 启用而又没有选项让你关闭时才需要打开 (可在开机时选择 VerifyMsrE2 来检查主板 BIOS 的 CFG Lock 状态). DisableIoMapper 打开就可以忽略 VT-d 了. XhciPortLimit 在定制好 USB 端口之后关掉.
- 按下图设置好 Misc 的 Debug 和 Security 节点. Debug 下面的几个设置都是用来生成调试信息和错误信息的, 这部分的改动对安装和配置黑苹果系统没有影响, 可以不动. AllowNvramReset 会在 OpenCore 启动菜单中添加 Reset NVRAM 选项, AllowSetDefault 可以让你修改 OpenCore 启动菜单的默认选择项 (按 Ctrl+Enter). 最后两个选项是屏蔽和降低 MacOS 的安装检查功能, 减少黑苹果的出错率.
- 按下图设置好 NVRAM. UIScale 设置为 2 可以启用 HiDPI, 避免 OpenCore 启动时超高分屏显示器显示内容太小. boot-args 是 OpenCore 的启动参数, 上图参数表示显示全部启动信息, 方便进不了系统的同学拍照上线求助. prev-lang:kdb 初始语言设置, 默认是俄语, 改成 en-US:0 就是英语了.
- 使用前面下载的 GenSMBIOS 来生成黑苹果的硬件注册信息. 运行 GenSMBIOS.bat 再选 3. Generate SMBIOS. 然后输入 iMac19,1 (注意大小写和逗号) 就能生成一套 SMBIOS 信息了. 如果你想激活 iMessage/FaceTime 等功能, 就像去 checkcoverage.apple.com 检查你生成的 Serial 是否存在, 如果不存在就能用来激活 iMessage/FaceTime, 类似黑群晖洗白操作. 如果是这个串号已经存在, 表示同串号的苹果电脑别人已经在使用, 会有一些安全问题. 如下图就是排骨试出来的一个美国马凯特大学里的苹果电脑串号, 联网后会自动加入托管证书, 获取包含清空你电脑在内的各种权限~ 怕不怕.
- 按下图设置好 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 这三个选项并禁用.
- 继续利用搜索功能找到以下选项并修改设置:
Intel VMX (这块主板没找到 VT-x): 开启Above 4G decoding: 开启Hyper-Threading: 开启Execute Disable Bit: 开启EHCI/XHCI Hand-off: 开启OS type: Windows 8.1/10 UEFI ModeDVMT Pre-Allocated(iGPU Memory): 64MB
- 保存设置并重启, 然后按 F8 选择 U盘启动, 会看到有多个 U盘分区可选. 如果上面是把 EFI 放在 Win10 或 Ubuntu 分区, 那就要选 3 或者 4. (1 是 EFI 分区, 2 是 MacOS 安装镜像分区, 3 是 Win10 安装镜像分区, 4 是 Ubuntu 安装镜像分区)
- 进到 OpenCore 启动菜单时, 选择 Install macOS Catalina. 选择后面带 external 的表示是 U盘上的. 下图可能与你看到的选择数量和顺序不一样, 仅供参考.
- 与各种错误作斗争~在成功进入 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
- 终于进入了安装界面. 排骨首先打开 Disk Utility 处理一下分区.
- 从左上 View 下拉框中选中 Show All Devices 来显示整个硬盘而不只是分区.
- 选择需要装黑苹果的硬盘, 点上方的格式化按钮 Erase, 格式选择 Mac OS Extended (Journaled), 分区表选择 GUID Partition Map. 完成后再点上方的分区按钮 Partition.
- 点两次 + 新增两个分区, 先只改名字不改格式. 反正是开荒体验, 排骨随便平均了三个区. 一个 MacOS, 一个 Win10, 一个 exFAT 交换区.
- 退出 Disk Utility, 选择 Install macOS, 再选择一个分区开始安装.
- 苹果安装程序会自己重启两次, 第一次重启后继续选择上次那个 U盘的分区进入 OpenCore, 这回要选 macOS Installer.
- 第二次重启还是需要用 U盘引导 OpenCore, 但是选择进入的是 MacOS. 看到下面这个时区选择界面就说明黑苹果系统已经安装好了.
- 第一次正式进入黑苹果系统时, 先找到 Terminal 再运行 sudo spctl --master-disable 命令来开启第三方软件运行权限. 然后运行 U盘里的 OpenCore Configurator, 在其 Tools 菜单项下面选择 Mount EFI, 挂载并打开黑苹果当前硬盘上的 EFI 分区.
- 将放到 U盘的 EFI 文件夹复制到刚刚挂载的硬盘 EFI 分区中. 这样就可以拔掉 U盘直接从硬盘启动黑苹果系统了.
黑苹果 MacOS 系统安装完成!
安装 Win10
黑苹果用得再溜, 也总会有需要用到 Windows 的时候. 在安装过 MacOS 后, 再安装 Win10 就很简单了.
- 插入前面制作的安装盘, 重启电脑. 在 OpenCore 启动菜单中选择 Windows (external).
- 进入 Windows 安装界面后, 按 Shift+F10 打开命令行容器. 进入 diskpart 模式, 使用 list disk 和 select disk 命令选中硬盘, 再使用 list part 命令列出硬盘的所有分区. 其中 Partition 1 是装有 OpenCore 的 EFI 分区, 其它几个分别为 macOS, win10, exfat 三个分区.
- 使用 select part 命令选中我们准备安装 Win10 的 Partition 3 分区, 因为它是苹果分区, Win10 不能使用, 所以要将它 delete 掉. Partition 3 被删除后, 再使用 create part primary 命令创建一个分区给 Win10 安装使用.
- 使用 format fs=ntfs quick 命令将刚刚创建的分区格式化, 并用 assign 分配一个盘符. 用 list vol 命令可以看出每个分区被分配的盘符. 可以看到刚刚格式化好的要装 Win10 的 NTFS 分区盘符是 F.
- 再选中 EFI 分区, 给它也分配一个盘符. 现在可以看到 F 是预装 Win10 的分区, G 是 EFI 启动区, C 是 Win10 安装包分区. 这几个盘符记好了. 后面要用.
- 切换到 C 盘, 用 dism /get-wiminfo /wimfile:sources\install.swm 命令找出准备安装的 Win10 版本. 排骨打算安装 Index: 5 位置的 Windows 10 Pro.
- 输入 dism /apply-image /imagefile:sources\install.swm /swmfile:sources\install*swm /index:5 /applydir:F: 直接将 Win10 安装包内存解压到 F 盘. (原 install.wim 由于大于 4GB, 在制作安装盘时被排骨分割成多个 installx.swm).
- 最后使用 bcdboot F:\windows /s G: /f UEFI 命令将 F 盘里的 Windows 引导写入 G 盘, 引导格式为 UEFI.
- 退出 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 文件夹中.
- 将 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 值.
<key>CPU Names</key><dict><key>F8JC-en-CN_CN</key><string>iMac (Shengqi Z490-PRO GAMING)</string></dict>
使用无核显 CPU
如果你用的是带 F 无核显的 CPU, 那么在生成 SMBIOS 时输入 iMacPro1,1, 这样黑苹果系统会将独显作为默认显卡.
双系统时间同步
MacOS 与 Windows 采用不能的系统时钟识别方式. MacOS 会将系统时钟设置成 UTC 时间, 而 Windows 会把系统时候作为本地时间,
REG ADD HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v RealTimeIsUniversal /t REG_DWORD /d 1
如果你可以忍受 MacOS 下使用英国时间, 就不需要改 Windows 注册表了