Hackintosh 安装

Hackintosh 安装

来源 https://zhuanlan.zhihu.com/p/157200950

 

前言

这一篇排骨来说说 Z490 主板的黑苹果系统安装流程 (基于 OpenCore). 仍然是以上一篇的硬件 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().

13. 删除 EFI\OC\Tools 中除 OpenShell.efi 以外的所有文件. (用来检查CFG Lock状态的VerifyMsrE2.efi可以保留) 14. 下载并添加 kext 驱动并复制到EFI\OC\Kexts文件夹中, 排骨开荒的这块圣旗 Z490 主板还需要额外添加 FakePCIID.kexFakePCIID_Intel_HDMI_Audio.kext才能出声音.

15. 使用 ProperTree.bat 修改 USBInjectAll.kext 文件夹下的 Info.plist 文件 (没错, 苹果的应用程序 .app 和驱动程序 .kext 都是文件夹). 在 Root\IOKitPersonalities\ConfigurationData\Configuration 节点下找到 8086_a36d, 将它改名为 XHC 并保存.

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 的值.

21. 按下图设置好 Kernel 的 Quirks. 其中的 AppleCpuPmCfgLock 和 AppleXcpmCfgLock 只有在主板 BIOS 的 CFG Lock 启用而又没有选项让你关闭时才需要打开 (可在开机时选择 VerifyMsrE2 来检查主板 BIOS 的 CFG Lock 状态). DisableIoMapper 打开就可以忽略 VT-d 了. XhciPortLimit 在定制好 USB 端口之后关掉.

22. 按下图设置好 Misc 的 Debug 和 Security 节点. Debug 下面的几个设置都是用来生成调试信息和错误信息的, 这部分的改动对安装和配置黑苹果系统没有影响, 可以不动. AllowNvramReset 会在 OpenCore 启动菜单中添加 Reset NVRAM 选项, AllowSetDefault 可以让你修改 OpenCore 启动菜单的默认选择项 (按 Ctrl+Enter). 最后两个选项是屏蔽和降低 MacOS 的安装检查功能, 减少黑苹果的出错率.

23. 按下图设置好 NVRAMUIScale 设置为 2 可以启用 HiDPI, 避免 OpenCore 启动时超高分屏显示器显示内容太小. boot-args 是 OpenCore 的启动参数, 上图参数表示显示全部启动信息, 方便进不了系统的同学拍照上线求助. prev-lang:kdb 初始语言设置, 默认是俄语, 改成 en-US:0 就是英语了.

24. 使用前面下载的 GenSMBIOS 来生成黑苹果的硬件注册信息. 运行 GenSMBIOS.bat 再选 3. Generate SMBIOS.

然后输入 iMac19,1 (注意大小写和逗号) 就能生成一套 SMBIOS 信息了.

如果你想激活 iMessage/FaceTime 等功能, 就像去 checkcoverage.apple.com 检查你生成的 Serial 是否存在, 如果不存在就能用来激活 iMessage/FaceTime, 类似黑群晖洗白操作. 如果是这个串号已经存在, 表示同串号的苹果电脑别人已经在使用, 会有一些安全问题. 如下图就是排骨试出来的一个美国马凯特大学里的苹果电脑串号, 联网后会自动加入托管证书, 获取包含清空你电脑在内的各种权限~ 怕不怕.

25. 按下图设置好 PlatformInfo. 其中的 SystemSerialNumberMLBSystemUUID 使用上一步从 GenSMBIOS 生成的信息来填充. MLB 就是 Board Serial. 这步完成后就可以保存并关闭 config.plist 了.

 

至此基于 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
  1. 保存设置并重启, 然后按 F8 选择 U盘启动, 会看到有多个 U盘分区可选. 如果上面是把 EFI 放在 Win10 或 Ubuntu 分区, 那就要选 3 或者 4. (1 是 EFI 分区, 2 是 MacOS 安装镜像分区, 3 是 Win10 安装镜像分区, 4 是 Ubuntu 安装镜像分区)

 

  1. 进到 OpenCore 启动菜单时, 选择 Install macOS Catalina. 选择后面带 external 的表示是 U盘上的. 下图可能与你看到的选择数量和顺序不一样, 仅供参考.

 

  1. 与各种错误作斗争~在成功进入 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

  2. 终于进入了安装界面. 排骨首先打开 Disk Utility 处理一下分区.

 

  1. 从左上 View 下拉框中选中 Show All Devices 来显示整个硬盘而不只是分区.

 

  1. 选择需要装黑苹果的硬盘, 点上方的格式化按钮 Erase, 格式选择 Mac OS Extended (Journaled), 分区表选择 GUID Partition Map. 完成后再点上方的分区按钮 Partition.

 

  1. 点两次 + 新增两个分区, 先只改名字不改格式. 反正是开荒体验, 排骨随便平均了三个区. 一个 MacOS, 一个 Win10, 一个 exFAT 交换区.

 

  1. 退出 Disk Utility, 选择 Install macOS, 再选择一个分区开始安装.

 

  1. 苹果安装程序会自己重启两次, 第一次重启后继续选择上次那个 U盘的分区进入 OpenCore, 这回要选 macOS Installer.

 

  1. 第二次重启还是需要用 U盘引导 OpenCore, 但是选择进入的是 MacOS. 看到下面这个时区选择界面就说明黑苹果系统已经安装好了.

 

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

 

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

黑苹果 MacOS 系统安装完成!

安装 Win10

黑苹果用得再溜, 也总会有需要用到 Windows 的时候. 在安装过 MacOS 后, 再安装 Win10 就很简单了. 1. 插入前面制作的安装盘, 重启电脑. 在 OpenCore 启动菜单中选择 Windows (external).

2. 进入 Windows 安装界面后, 按 Shift+F10 打开命令行容器. 进入 diskpart 模式, 使用 list disk 和 select disk 命令选中硬盘, 再使用 list part 命令列出硬盘的所有分区. 其中 Partition 1 是装有 OpenCore 的 EFI 分区, 其它几个分别为 macOSwin10exfat 三个分区.

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 端口

 

  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 文件夹中.

 

  1. 将 EFI\OC\Kexts\config.plist 文件中的 USBInjectAll.kext 修改成 USBPorts.kext, 再把 XhciPortLimit 改成 false.
  2. EHCI: USB 2.0 控制器 (Intel Skylake 开始取消了, 如果你在其它教程中看到它, 请忽略)
  3. XHCI: USB 3.x 控制器. (向下兼容 USB 1.1/2.0)
  4. HSxx: HS (High Speed) 表示 XHCI 下的 USB 2.0 接口.
  5. SSxx: SS (Super Speed) 表示 XHCI 下的 USB 3.x 接口.
  6. macoS Catalina 限制每个 USB 控制器最多 15 个接口. (圣旗 Z490-PRO GAMING 只有一个 XHCI)
  7. 一个 USB 2.0 接口对应一个 HSxx, 如 HS13, 禁掉 HS13 这个接口就失灵了.
  8. 一个 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 注册表了。

 

 

=============== End

 

 

posted @ 2023-08-12 20:49  lsgxeva  阅读(196)  评论(0编辑  收藏  举报