黑苹果开荒记系统篇:超详细纯净MacOS安装流程
大家好, 我是可爱的排骨
这一篇排骨来 Z490 主板的黑苹果系统安装流程 (基于 OpenCore). 仍然是以上一篇 (黑苹果开荒记硬件篇: 新品 10700K+圣旗 Z490 配置实例) 的硬件 Intel i7-10700K + 圣旗 Z490-PRO Gaming + 讯景 RX 480 为基础, 介绍排骨开荒吃土的全部过程~
流程大概有以下几步:
文本安装配置流程主要参考自 [OpenCore Desktop Guide].
由于平台限制要求, 本文所有需要下载的文件和程序都不能提供下载连接, 请充分自我发挥搜索本领~ 实在找不到可在评论区留言向排骨索取.
排骨的黑苹果安装盘制作需要以下材料.
用 Win10 电脑制作安装盘.
准备 OpenCore 需要的驱动, 补丁和工具.
上面制作的安装盘很可能无法让你直接进入到 Mac 系统安装界面, 特别是对于排骨现在开荒的这款最新的酷睿十代 Z490 主板而言.
github.com/acidanthera
仓库里的 OpenCore-0.5.9-DEBUG.zip)
并下载.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
可以保留)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 信息了.checkcoverage.apple.com
检查你生成的 Serial
是否存在, 如果不存在就能用来激活 iMessage/FaceTime, 类似黑群晖洗白操作. 如果是这个串号已经存在, 表示同串号的苹果电脑别人已经在使用, 会有一些安全问题. 如下图就是排骨试出来的一个美国马凯特大学里的苹果电脑串号, 联网后会自动加入托管证书, 获取包含清空你电脑在内的各种权限~ 怕不怕.PlatformInfo
. 其中的 SystemSerialNumber
, MLB
, SystemUUID
使用上一步从 GenSMBIOS
生成的信息来填充. MLB
就是 Board Serial
. 这步完成后就可以保存并关闭 config.plist
了.至此基于 OpenCore 的纯净安装盘已经制作完成了. 可以拨掉 U盘插到要吃黑苹果的主板上开机了. 记得把上面下载的 OpenCore Configurator
也复制到 U盘上!
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 Mode
DVMT Pre-Allocated(iGPU Memory): 64MB
F8
选择 U盘启动, 会看到有多个 U盘分区可选. 如果上面是把 EFI
放在 Win10
或 Ubuntu
分区, 那就要选 3 或者 4. (1 是 EFI 分区, 2 是 MacOS 安装镜像分区, 3 是 Win10 安装镜像分区, 4 是 Ubuntu 安装镜像分区)Install macOS Catalina
. 选择后面带 external
的表示是 U盘上的. 下图可能与你看到的选择数量和顺序不一样, 仅供参考.
apfs_module_start ...
SMCSuper IO ...
Waiting on ...
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
, 再选择一个分区开始安装.OpenCore
, 这回要选 macOS Installer
.OpenCore
, 但是选择进入的是 MacOS
. 看到下面这个时区选择界面就说明黑苹果系统已经安装好了.Terminal
再运行 sudo spctl --master-disable
命令来开启第三方软件运行权限. 然后运行 U盘里的 OpenCore Configurator
, 在其 Tools
菜单项下面选择 Mount EFI
, 挂载并打开黑苹果当前硬盘上的 EFI
分区.EFI
文件夹复制到刚刚挂载的硬盘 EFI
分区中. 这样就可以拔掉 U盘直接从硬盘启动黑苹果系统了.黑苹果 MacOS 系统安装完成!
黑苹果用得再溜, 也总会有需要用到 Windows 的时候. 在安装过 MacOS 后, 再安装 Win10 就很简单了.
OpenCore
启动菜单中选择 Windows (external)
.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
.F8
选择从 OpenCore
或者 Windows Boot Manager
启动, 也可以在 Bios
中设置启动顺序.Linux Reader
等软件才可以访问苹果分区.定制 USB 端口
github.com/headkaze/Hackintool
并运行.USBPorts.kext
, 把它复制到 EFI\OC\Kexts
文件夹中.EFI\OC\Kexts\config.plist
文件中的 USBInjectAll.kext
修改成 USBPorts.kext
, 再把 XhciPortLimit
改成 false
.修改电脑名称 打开 /Users/[用户名]/Library/Preferences/com.apple.SystemProfiler.plist
修改 CPU Names
节点的 string
值, 不要改 key
值.
CPU NamesF8JC-en-CN_CN
iMac (Shengqi Z490-PRO GAMING)
使用无核显 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 注册表了