OpenCore 官方文档 全文参照此文档
Ps. UEFI引导时,EFI 分区要>= 200 MB,否则安装时无法抹去磁盘(无法格式化/抹除分区)! 如果是两块硬盘,都需要有esp分区!
OpenCore 不止可用于黑苹果,还可以用于其他需要模拟EFI的场景。
原理
模拟EFI环境:注入驱动并重建 EFI 环境缓存,再缓存传给 MacOS 系统。
重建缓存可用于欺骗 MacOS 的验证(苹果的硬件内部布线不同,因此PC在不同情况下的ACPI布局不能与Mac很好地配合。 为了解决这个问题,我们使用WhateverGreen及其配套的Lilu来修补Hackintosh的不同部分,例如重命名设备,协助帧缓冲区连接,修补音频连接器,允许通过ACPI修改aty_config,aty_properties,cail_properties等。 )
Hardware Support
硬件支持上,我准备装的机子配置是 i3-4150
+ GA-H81M-DS2 Ver.2001 + HD 7770
主板搭载 网卡 声卡
GPU
其中核心显卡 HD 4400 和独立显卡 HD 7770 都是被支持的,
并且记下了我显卡必须的启动参数
# AMD
radpg=15 //Fixes initilization for HD 7730/7750/7770/R7 250/R7 250X
原理解析:
So if my GPU is natively supported, why do i need Lilu and WhateverGreen?
This is a question comes up quite a bit in the Hackintosh community, and for good reason as to why in the world would these GPUs work out of the box on a mac and not a Hackintosh? Well, the reason being is that PCs and Macs have different internal wiring and so the ACPI layouts in a PC don‘t work well with Macs in different scenarios. To get around this, we use WhateverGreen and it‘s companion Lilu to patch different parts of our Hackintosh like renaming devices, assisting in framebuffer connections, patching audio connectors, allowing modifications to aty_config, aty_properties, cail_properties via ACPI and so much more. With such a large feature set and developed by someone who knows what they‘re doing, there‘s no reason not to use it
译:
即使 GPU/显卡 在硬件上原生支持安装 MACOS,也依然需要 Lilu 和 WhateverGreen
- 首先来看,Mac 的 GPU 和普通 GPU 的区别:
- 普通GPU和苹果机的GPU有不同的内部布线,所以普通机的 ACPI 布局并不能直接完美工作在 MAC 上。PCs and Macs have different internal wiring and so the ACPI layouts in a PC don‘t work well with Macs in different scenarios.
- 解决方案:
- 用 WhateverGreen 和 Lilu 对两者间的差异部分做一些打补丁的工作(例如 重命名设备、协助帧缓冲连接、修补音频连接器,以此允许通过 ACPI等 修改 aty_config, aty_properties, cail_properties 之类的属性)
有些事情我必须告诉你:
macOS does not support either SLI, Crossfire or GPUs will multiple main cores(like the Radeon Pro Duo). This may change with the release of the Radeon Pro Vega II Duo in the Mac Pro
Getting audio through HDMI/DisplayPort may require extra work with both AppleALC.kext and some other IO-REG edits
GPU Overclocking is limited to Vega 10 GPUs with PyVega
Running a supported GPU with an unsupported GPU can have weird consequences as unsupported GPUs run off VESA drivers which have the issue in which it can break sleep and other functions in macOS. Please refer to the Disabling unsupported GPUs Guide for more info
译:
MacOS 不支持 SLI、交火(Crossfire), 也不支持多主核的GPU(如 Radeon Pro Duo )。当然在 搭载 Radeon Pro Vega II Duo 显卡的 Mac Pro
发布后,这些情况可能会有所改善。
通过 HDMI/DisplayPort 获取音频可能需要对 AppleALC.kext 和其他一些 IO-REG 参数配置进行额外的编辑
GPU超频仅限于使用PyVega的Vega 10 GPU
在两个显卡 (一个受支持,一个不受支持)上运行时 可能会产生奇怪的现象,因为不受支持的 GPU 也会从 VESA 驱动程序中运行,从而导致 macOS 的睡眠和其他功能可能会被破坏。
有关更多信息,请参阅禁用不支持的GPU指南。
Kext(Kernel Extension) 内核拓展,也就是驱动
Kext Inject
at OpenCore‘s method:
Takes existing prelinked kernel and kexts ready to inject
Rebuilds the cache in the EFI environment with the new kexts
Adds this new cache in
Things to note with OpenCore‘s method is:
OS Agnostic as the prelinked kernel format as stayed the same since 10.6, far harder to break support.
This also means proper support starts at 10.7, though 10.6 can be used as well so long as it‘s already installed(106‘s installer doesn‘t have a prelinked kernel)
Far better stability as far less patching
译:
Kext 注入
在 OpenCore 里是这样工作的:
- 把已有的预链接内核 和 准备用于注入的 kexts
- 利用新的 kexts 重建 EFI 环境里的缓存
- 把新缓存加进去
预链接在 10.6 开始被支持,10.7+ 被正式支持。更多见上面英文引用。
Wireless
我的主板没有 WIFI 模块,我也没有 USB 网卡,跳过
Installation Guides
因为我的是台式机,所以我看的是 Installation Guides
的 OpenCore Desktop Guide
部分
OpenCore 的黑苹果教程和工具都是三平台通用。详见英文原文
制作安装介质(刻盘)
我选择在 Windows 下制作,以 zip 方式下载:https://github.com/corpnewt/gibMacOS
初次打开会自动下载所需的小型工具
环境要求:Python 2或3
下载
- 右击 gitMacOS.bat 以管理员运行,(输入字母R回车)选择 Toggle Recovery-Only
- 等程序索引完成,选择你想要的且带 FULL INSTALL 的 MACOS 版本,然后程序会帮你下载镜像 RecoveryHDMetaDmg.pkg 到软件所在路径
\gibmacos-master\macOS Downloads\publicrelease\xxx-xxxxx - 10.x.x macOS xxx
刻盘
- 右击管理员打开 MakeInstall.bat,然后根据列出的U盘序号输入 数字和字母O(O代表OpenCore) 例如输入数字1和字母O
1O
- 此时U盘会被格式化,格式化完成后会要求你提供之前下载的 RecoveryHDMetaDMG.pkg 的完整路径(按住 SHIFT 右击文件,复制路径,再粘贴进去即可)
- 然后 OpenCore 就被安装到你 U 盘的EFI分区里了。可以看到U盘其中一个分区的卷标为
BOOT