vlambda博客
学习文章列表

黑苹果开荒记系统篇: 超详细的纯净 MacOS 安装流程

大家好, 我是可爱的排骨 😁

前言

这一篇排骨来说说 Z490 主板的黑苹果系统安装流程 (基于 OpenCore). 仍然是以上一篇 (黑苹果开荒记硬件篇: 新品 10700K+圣旗 Z490 配置实例) 的硬件 Intel i7-10700K + 圣旗 Z490-PRO Gaming + 讯景 RX 480 为基础, 介绍排骨开荒吃土的全部过程~ 🤣


流程大概有以下几步:

  1. 制作安装盘.

  2. 下载相关文件和脚本工具.

  3. 提取 DSDT (系统信息)并制作补丁 (SSDT).

  4. 创建 config.plist (OC 配置) 并复制到安装盘.

  5. 重新分区

  6. 安装 MacOS 10.15.5.

  7. 补全驱动并修正 OC 配置.

  8. 安装 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 电脑制作安装盘.

  1. 下载黑果小兵或其他大佬制作的 dmg 镜像, Win10 安装镜像 (iso), Ubuntu Desktop 18.04 安装镜像 (可选).

  2. 下载 balenaEtcher, 再用它把 dmg 镜像写入 U盘.

  3. 下载 Win10 安装镜像 (iso), 用 dism 命令将镜像中的 install.wim 分成多个 1GB 的 swm 文件.

  4. 在 U盘的剩余空间中创建一个比 Win10 安装镜像稍大的 FAT32 分区. 然后将镜像里除 install.wim 外的所有文件复制到此分区. 再把上一步生成的几个 swm 文件复制到此分区里代替 install.wim.

  5. 在 U盘的剩余空间中创建一个比 Ubuntu 安装镜像稍大的 FAT32 分区. 然后将镜像里所有文件复制到此分区中 (可选). 这样排骨的完美安装盘就制作完成了. 将 Win10 和 Ubuntu 也一起做到 U盘是为了安装多系统时省事, 你也可以用多个 U盘来做.

详细的步骤可参考排骨的旧贴 [终极系统安装盘打造攻略-macOS+win10+ubuntu三合一].

📢 准备 OpenCore 需要的驱动, 补丁和工具. 上面制作的安装盘很可能无法让你直接进入到 Mac 系统安装界面, 特别是对于排骨现在开荒的这款最新的酷睿十代 Z490 主板而言. 7. 下载 github.com/acidanthera 仓库里的 OpenCore-0.5.9-DEBUG.zip) 并下载. 8. 下载并安装 python 3.8.x. 9. 下载 github.com/corpnewt 仓库里的 SSDTTimeProperTreeGenSMBIOS. 10. 下载 mackie100projects 的 OpenCore Configurator. 11. 将 OpenCore-0.5.9-DEBUG.zip 中的 EFI 文件夹复制到 U盘 Win10 安装分区, 放到 Ubuntu 那个分区也行. 这样可以免去挂载 U盘 EFI 分区的麻烦. 12. 删除 EFI\OC\Drivers 中的以下文件, 然后添加 HFSPlus.efi(). 黑苹果开荒记系统篇: 超详细的纯净 MacOS 安装流程 13. 删除 EFI\OC\Tools 中除 OpenShell.efi 以外的所有文件. (用来检查CFG Lock状态的VerifyMsrE2.efi可以保留) 14. 下载并添加 kext 驱动并复制到EFI\OC\Kexts文件夹中, 排骨开荒的这块圣旗 Z490 主板还需要额外添加 FakePCIID.kexFakePCIID_Intel_HDMI_Audio.kext才能出声音. 黑苹果开荒记系统篇: 超详细的纯净 MacOS 安装流程 15. 使用 ProperTree.bat 修改 USBInjectAll.kext 文件夹下的 Info.plist 文件 (没错, 苹果的应用程序 .app 和驱动程序 .kext 都是文件夹). 在 Root\IOKitPersonalities\ConfigurationData\Configuration 节点下找到 8086_a36d, 将它改名为 XHC 并保存. 黑苹果开荒记系统篇: 超详细的纯净 MacOS 安装流程 16. 从 github.com/dortania/Getting-Started-With-ACPI/tree/master/extra-files/compiled 下载 SSDT-AWAC.amlSSDT-PLUG-DRTNIA.amlSSDT-EC-USBX-DESKTOP.aml 三个文件放入 EFI\OC\ACPI 文件夹中. 排骨当然也全部手工折腾过这些 SSDT 的, 最后才发现用这几个现成的就够了. (此处省去三万字…)

📢 修改 OpenCore 的配置文件. 17. 将OpenCore-0.5.9-DEBUG.zip中的Docs\Sample.plist文件复制到EFI\OC文件夹并改名为config.plist. 18. 运行ProperTree.bat来打开config.plist文件. 19. 在 ProperTree 的 File 菜单里选择 OC Clean Snapshot, 然后选中 EFI\OC 文件夹. 这样上面整理好的 efi 和 kext 文件就都引用到 OpenCore 的配置文件 config.plist 里了. 20. 按下图设置好 Booter 的 Quirks. 如果开机 log 报错, 可以试尝着改变 RebuildAppleMemoryMap 和 SetupVirtualMap 的值. 黑苹果开荒记系统篇: 超详细的纯净 MacOS 安装流程 21. 按下图设置好 Kernel 的 Quirks. 其中的 AppleCpuPmCfgLock 和 AppleXcpmCfgLock 只有在主板 BIOS 的 CFG Lock 启用而又没有选项让你关闭时才需要打开 (可在开机时选择 VerifyMsrE2 来检查主板 BIOS 的 CFG Lock 状态). DisableIoMapper 打开就可以忽略 VT-d 了. XhciPortLimit 在定制好 USB 端口之后关掉. 黑苹果开荒记系统篇: 超详细的纯净 MacOS 安装流程 22. 按下图设置好 Misc 的 Debug 和 Security 节点. Debug 下面的几个设置都是用来生成调试信息和错误信息的, 这部分的改动对安装和配置黑苹果系统没有影响, 可以不动. AllowNvramReset 会在 OpenCore 启动菜单中添加 Reset NVRAM 选项, AllowSetDefault 可以让你修改 OpenCore 启动菜单的默认选择项 (按 Ctrl+Enter). 最后两个选项是屏蔽和降低 MacOS 的安装检查功能, 减少黑苹果的出错率. 黑苹果开荒记系统篇: 超详细的纯净 MacOS 安装流程 23. 按下图设置好 NVRAMUIScale 设置为 2 可以启用 HiDPI, 避免 OpenCore 启动时超高分屏显示器显示内容太小. boot-args 是 OpenCore 的启动参数, 上图参数表示显示全部启动信息, 方便进不了系统的同学拍照上线求助. prev-lang:kdb 初始语言设置, 默认是俄语, 改成 en-US:0 就是英语了. 黑苹果开荒记系统篇: 超详细的纯净 MacOS 安装流程 24. 使用前面下载的 GenSMBIOS 来生成黑苹果的硬件注册信息. 运行 GenSMBIOS.bat 再选 3. Generate SMBIOS黑苹果开荒记系统篇: 超详细的纯净 MacOS 安装流程 然后输入 iMac19,1 (注意大小写和逗号) 就能生成一套 SMBIOS 信息了. 黑苹果开荒记系统篇: 超详细的纯净 MacOS 安装流程 如果你想激活 iMessage/FaceTime 等功能, 就像去 checkcoverage.apple.com 检查你生成的 Serial 是否存在, 如果不存在就能用来激活 iMessage/FaceTime, 类似黑群晖洗白操作. 如果是这个串号已经存在, 表示同串号的苹果电脑别人已经在使用, 会有一些安全问题. 如下图就是排骨试出来的一个美国马凯特大学里的苹果电脑串号, 联网后会自动加入托管证书, 获取包含清空你电脑在内的各种权限~ 怕不怕. 黑苹果开荒记系统篇: 超详细的纯净 MacOS 安装流程 25. 按下图设置好 PlatformInfo. 其中的 SystemSerialNumberMLBSystemUUID 使用上一步从 GenSMBIOS 生成的信息来填充. MLB 就是 Board Serial. 这步完成后就可以保存并关闭 config.plist 了. 黑苹果开荒记系统篇: 超详细的纯净 MacOS 安装流程

📢 至此基于 OpenCore 的纯净安装盘已经制作完成了. 可以拨掉 U盘插到要吃黑苹果的主板上开机了. 记得把上面下载的 OpenCore Configurator 也复制到 U盘上!

安装 MacOS

  1. 按 F12 (圣旗主板的 BIOS 基本与华硕的一致) 进入 BIOS 设置.

  2. 再按 F9 搜索 Fast BootSecure BootIntel SGX 这三个选项并禁用.

  3. 继续利用搜索功能找到以下选项并修改设置:

    Intel 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
  4. 保存设置并重启, 然后按 F8 选择 U盘启动, 会看到有多个 U盘分区可选. 如果上面是把 EFI 放在 Win10 或 Ubuntu 分区, 那就要选 3 或者 4. (1 是 EFI 分区, 2 是 MacOS 安装镜像分区, 3 是 Win10 安装镜像分区, 4 是 Ubuntu 安装镜像分区) 黑苹果开荒记系统篇: 超详细的纯净 MacOS 安装流程

  5. 进到 OpenCore 启动菜单时, 选择 Install macOS Catalina. 选择后面带 external 的表示是 U盘上的. 下图可能与你看到的选择数量和顺序不一样, 仅供参考. 黑苹果开荒记系统篇: 超详细的纯净 MacOS 安装流程

  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 处理一下分区. 黑苹果开荒记系统篇: 超详细的纯净 MacOS 安装流程

  8. 从左上 View 下拉框中选中 Show All Devices 来显示整个硬盘而不只是分区. 黑苹果开荒记系统篇: 超详细的纯净 MacOS 安装流程

  9. 选择需要装黑苹果的硬盘, 点上方的格式化按钮 Erase, 格式选择 Mac OS Extended (Journaled), 分区表选择 GUID Partition Map. 完成后再点上方的分区按钮 Partition黑苹果开荒记系统篇: 超详细的纯净 MacOS 安装流程 黑苹果开荒记系统篇: 超详细的纯净 MacOS 安装流程

  10. 点两次 + 新增两个分区, 先只改名字不改格式. 反正是开荒体验, 排骨随便平均了三个区. 一个 MacOS, 一个 Win10, 一个 exFAT 交换区. 黑苹果开荒记系统篇: 超详细的纯净 MacOS 安装流程 黑苹果开荒记系统篇: 超详细的纯净 MacOS 安装流程

  11. 退出 Disk Utility, 选择 Install macOS, 再选择一个分区开始安装. 黑苹果开荒记系统篇: 超详细的纯净 MacOS 安装流程

  12. 苹果安装程序会自己重启两次, 第一次重启后继续选择上次那个 U盘的分区进入 OpenCore, 这回要选 macOS Installer黑苹果开荒记系统篇: 超详细的纯净 MacOS 安装流程 黑苹果开荒记系统篇: 超详细的纯净 MacOS 安装流程

  13. 第二次重启还是需要用 U盘引导 OpenCore, 但是选择进入的是 MacOS. 看到下面这个时区选择界面就说明黑苹果系统已经安装好了.黑苹果开荒记系统篇: 超详细的纯净 MacOS 安装流程

  14. 第一次正式进入黑苹果系统时, 先找到 Terminal 再运行 sudo spctl --master-disable 命令来开启第三方软件运行权限. 然后运行 U盘里的 OpenCore Configurator, 在其 Tools 菜单项下面选择 Mount EFI, 挂载并打开黑苹果当前硬盘上的 EFI 分区.
    黑苹果开荒记系统篇: 超详细的纯净 MacOS 安装流程

  15. 将放到 U盘的 EFI 文件夹复制到刚刚挂载的硬盘 EFI 分区中. 这样就可以拔掉 U盘直接从硬盘启动黑苹果系统了.

📢 黑苹果 MacOS 系统安装完成!

安装 Win10

黑苹果用得再溜, 也总会有需要用到 Windows 的时候. 在安装过 MacOS 后, 再安装 Win10 就很简单了.

  1. 插入前面制作的安装盘, 重启电脑. 在 OpenCore 启动菜单中选择 Windows (external)黑苹果开荒记系统篇: 超详细的纯净 MacOS 安装流程

  2. 进入 Windows 安装界面后, 按 Shift+F10 打开命令行容器. 进入 diskpart 模式, 使用 list disk 和 select disk 命令选中硬盘, 再使用 list part 命令列出硬盘的所有分区. 其中 Partition 1 是装有 OpenCore 的 EFI 分区, 其它几个分别为 macOSwin10exfat 三个分区. 黑苹果开荒记系统篇: 超详细的纯净 MacOS 安装流程

  3. 使用 select part 命令选中我们准备安装 Win10 的 Partition 3 分区, 因为它是苹果分区, Win10 不能使用, 所以要将它 delete 掉. Partition 3 被删除后, 再使用 create part primary 命令创建一个分区给 Win10 安装使用. 黑苹果开荒记系统篇: 超详细的纯净 MacOS 安装流程

  4. 使用 format fs=ntfs quick 命令将刚刚创建的分区格式化, 并用 assign 分配一个盘符. 用 list vol 命令可以看出每个分区被分配的盘符. 可以看到刚刚格式化好的要装 Win10 的 NTFS 分区盘符是 F黑苹果开荒记系统篇: 超详细的纯净 MacOS 安装流程

  5. 再选中 EFI 分区, 给它也分配一个盘符. 现在可以看到 F 是预装 Win10 的分区, G 是 EFI 启动区, C 是 Win10 安装包分区. 这几个盘符记好了. 后面要用. 黑苹果开荒记系统篇: 超详细的纯净 MacOS 安装流程

  6. 切换到 C 盘, 用 dism /get-wiminfo /wimfile:sources\install.swm 命令找出准备安装的 Win10 版本. 排骨打算安装 Index: 5 位置的 Windows 10 Pro黑苹果开荒记系统篇: 超详细的纯净 MacOS 安装流程

  7. 输入 dism /apply-image /imagefile:sources\install.swm /swmfile:sources\install*swm /index:5 /applydir:F: 直接将 Win10 安装包内存解压到 F 盘. (原 install.wim 由于大于 4GB, 在制作安装盘时被排骨分割成多个 installx.swm). 黑苹果开荒记系统篇: 超详细的纯净 MacOS 安装流程

  8. 最后使用 bcdboot F:\windows /s G: /f UEFI 命令将 F 盘里的 Windows 引导写入 G 盘, 引导格式为 UEFI黑苹果开荒记系统篇: 超详细的纯净 MacOS 安装流程

  9. 退出 Win10 安装程序重启, 等待几分钟再看到的就是熟悉的 Win10 欢迎界面了! 之后开机时可以按 F8 选择从 OpenCore 或者 Windows Boot Manager 启动, 也可以在 Bios 中设置启动顺序. 黑苹果开荒记系统篇: 超详细的纯净 MacOS 安装流程 📢 现在 MacOS/Windows 单硬盘双系统搞定! 两个系统都可以正常读写第三个 exfat 分区. MacOS 可以直接读取 NTFS 分区, Win10 需要安装 Linux Reader 等软件才可以访问苹果分区.

补遗

📢 定制 USB 端口 

  1. 下载 github.com/headkaze/Hackintool 并运行.

  2. 切换到 USB 页面, 可以看到所有可用的 USB 端口显示为绿色, 把黑色的 USB 端口都删除. 如果只有部分绿, 可以用把 USB 键盘或鼠标的 USB 2.0 插头和一个 USB 3.x 的 U盘把主机上每个 USB 都插一遍, 插绿它!

  3. 看看绿色端口总数是不是在 15 个之内, 多于 15 的话需要删除几个绿色端口. (上一篇排骨已经说明了圣旗 Z490-PRO GAMING 这块主板上哪些 USB 端口用到了, 正好与下图的绿色端口一致, 也正好是 15 个)

  4. 点击右下导出按钮生成一个 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 值.

<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 注册表了 😆