大家好,欢迎来到IT知识分享网。
前几天看到有人在 Windows PC 上吃上了 macOS,于是在一台赛扬百元笔记本上开始折腾。 俗话说一入黑果深似海,个人花了一个月的时间,爬了几万个帖子 or 教程 or 博客,最后还是没有成功(原因后文有)。 虽然折腾的结果不尽人意,但从中学到了很多芝士~ 在这里把 OpenCore 黑苹果的一整个流程和踩坑排错的过程整理起来,供大家使用~
目录
6.3 卡 AppleIntelCPUPowerManagement 然后 Please go to
6.4 卡 This version of Mac OS X …
6.5 没有 Traceback 就 Please go to
6.6 AppleIntelXXXGraphicsFramebuffer 然后 Please go to
6.7 OC: Failed to find SB model Disable
6.9 OS X 10.11 及以下选择 OS X 启动项后黑屏
1. 原理
在安装前,先了解什么是黑苹果和白苹果。 白苹果就是官方苹果电脑安装 macOS,这个比较好理解。 至于黑苹果,就是非苹果电脑安装 macOS。 自从苹果使用 Intel CPU 作为 Mac 电脑的芯片,就代表着黑苹果成为可能。 因为 Windows PC 上的 Intel 芯片与 Mac 上的 Intel 指令集是兼容的。 在 00 年代晚期,第一个普及的黑苹果引导工具变色龙(Chameleon)横空出世,自此进入了黑苹果时代~
黑苹果的芯片问题解决了,就只差引导了。 从变色龙引导到 x 叶草(Clover,我也忘了是几叶草)再到全新时代的 OpenCore(简称 OC),这些引导工具其实原理都差不多。 它们是通过模拟 macOS 的启动环境而实现引导黑苹果的。 在这里列出它们所需要的工具:
驱动:有 .efi 文件与 kext 驱动两种,它们是让硬件与黑苹果系统建立联系的桥梁;
SSDT:个人理解是让黑苹果电脑硬件与白苹果细节更加一致的东东;
这里我们选择 OpenCore 引导,因为 OpenCore 更现代化,且不需要手工配置 DSDT(至于 DSDT 是什么,嗯。。 自己百度~)
由于 Apple 已经在把 Mac 的 CPU 从 Intel 移向 Apple Silicon(也就是常说的 M 系列芯片,如 M1),所以黑苹果的日子不多了,且用且珍惜~
2. 准备
2.1 先决条件
首先,黑苹果的重中之重就是时间与耐心。 最常见的 Core 和 Xeon 装黑苹果就起码需要一个星期,像啥奔腾赛扬 AMD 要更久~
然后要有一定的电脑基础。 至少你得知道什么叫笔记本和台式机,什么是 UEFI,什么是 U 盘启动,什么是 Intel 和 AMD…… 如果是纯小白不建议自己开荒 OpenCore,实在想装黑苹果可以某宝 100¥之内~
然后就是一定的英文水平。 至少要做到在阅读 OpenCore 官方文档时原生 English 和机器翻译过来的半中文两个结合起来要看得懂~ 不然等会配置 config.plist 时不要哭着去求自己的英语老师帮你翻译~
最后就是一只容量不小于 16G 的 U 盘。 我们需要用它引导 OpenCore 乃至整个黑苹果系统~
有了这几个先决条件,就可以开始安装黑苹果了!
2.2 硬件要求
CPU:
台式机的 CPU 支持会比较广泛,基本上只要是一台配置不是特别冷门的台式都能成功吃上黑苹果。 具体的 CPU 支持:
Intel Core(酷睿)3 – 10 代;
注:虽然官方文档说支持 Intel 全系 CPU,但是由于 Core 2 及更早的 CPU 不支持 UEFI,安装起来会有很多麻烦。 尽管 OpenCore 引导也支持 Legacy 传统启动,但是键盘大概率会完全报废~ 另外 11 代以上的酷睿没有被苹果官方使用过,所以大概率无解~
Intel Xeon(至强),Celeron(赛扬),Pentium (Gold)(奔腾),Atom(凌动) 等等等等~
AMD Bulldozer (推土机,15h), Jaguar (捷豹,16h),Ryzen (锐龙,17h),Ryzen Thrieapper(锐龙撕裂者,我也不知道英文单词有没有拼错,理解万岁,19h)
笔记本黑苹果就有很多限制,仅支持酷睿 3 – 10 代和至强。 官方说凌动赛扬奔腾笔记本完全无解。不过根据我的折腾经验,凌动赛扬奔腾笔记本还是有救的,macOS 10.15 Catalina 以下版本可以跑(需要仿冒 CPUID 和 XCPM,方法后文有),只不过集显是完全废了,只能用独显(如果像我的电脑只有集显没有独显那就真的无解了)
显卡:
分为集成显卡(集显)与独立显卡(独显),集成显卡为 CPU 自带,独立显卡则反之。 通常集成显卡的支持比较好,而独立显卡只能看运气。 通常集成显卡就完全够用,所以如果独显工作不正常建议禁用独显(方法后文有)
AMD 的 GPU 几乎全系支持,集显的 Vega 也支持,只是不支持 APU,毕竟 AMD 与苹果的关系老好了~
Intel 几乎全部支持,GT1 由于没有在 Mac 上官方使用过所以无解;
Nvidia 的显卡(简称 N 卡)就麻烦了。由于 Nvidia 和苹果友谊的小船翻了,9XX 和 10XX 系列仅支持至 macOS 10.13,6XX 和 7XX 系列仅支持至 macOS 11,至于其它的全都不支持。我个人建议为了避免不必要的问题,建议禁用 N 卡独显,直接使用 CPU 自带的集成显卡(当然如果是赛扬奔腾凌动 + N 卡,那 Nvidia 就勉勉强强用着吧)
主板:
全部支持,无需多讲~ 但是 HP 和华擎(AsRock)主板后面配置的时候要注意一些~
硬盘:
支持所有 SATA 接口的硬盘,以及部分 NVMe 硬盘。具体看官方文档;
网卡:
有线网卡(也就是插网线的那个)几乎全部支持,只是一些服务器网卡有些问题;
至于无线网卡,只要是 Intel 高通或者瑞昱全都不支持,Atheros 也只支持到 macOS 10.13,如果是 Broadcom(博通),那么恭喜,你的黑苹果可以用 wifi~
当然办法也不是完全没有,比如可以让安卓的 wifi 模块帮你代工,把一台咸置的安卓连上 wifi 使用 USB HoRNDIS 连上黑苹果电脑,然后再一番百度谷歌必应八仙过海各显神通一下你的黑苹果 wifi 问题就解决了~
剩下的:
已知指纹相机耳机插孔雷雳无法工作~
想了解更多这里贴出官方文档的链接~
OpenCore 硬件限制
2.3 了解电脑的硬件
由于黑苹果是与硬件紧密联系的,所以我们要把自己电脑的硬件摸透~
首先,你得知道自己的电脑是笔记本还是台式机,一般来说台式机会更好装一些;
然后是重中之重 CPU,安装一个 CPU-Z,打开,红色箭头指的那个就是 CPU 的开发代号。如果后缀有 -E -X 的要连后缀一起记下来,如果无后缀或是有不是 -E -X 的后缀的,如 -U,只要记 – 号前面的即可,如我的 Broadwell-U,只要记 Broadwell。
另外黄色箭头指向的那个是 CPU 的全称,如果里面包含 Core 或 Xeon,就说明是酷睿或至强的芯片。如果里面包含 Celeron 或 Pentium,就说明是奔腾赛扬的低配芯片。如果里面包含 AMD 就说明这是 AMD 的芯片~
然后去网上查查这个 CPU 开发代号是第几代 CPU(尽量带后缀查)。如果是 3-10 就符合要求~
接着是显卡,下一个 GPU-Z,打开可以看到 GPU 的详细信息~ 注意看红箭头部分的字符,如果是带有 GT1 的(如下图)就说明你的集显基本废了~ 如果是 GT2 及以上就还有救~ 如果又有集显又有独显最下面有个地方切换~
然后看主板,也可以在 CPU-Z 里找到。记红箭头就好~
最后一个重要的就是网卡了。win+r,输入 devmgmt.msc,呼出设备管理器;
网络适配器,画红的地方就是你的网卡部分。把 Intel 或者 Realtek(瑞昱) 或者 Broadcom(博通)记下来后面要用~
如果还想了解更多信息,这里给出了官方文档的链接:
查找硬件
3. 配置 EFI
3.1 下载必要工具
首先是 OpenCore 本尊:GitHub
(GitHub 打不开?这里有方法,冒着不过审的风险分享出来:GitHub 搜 Steam++)
这里我们下载 debug 版本的,不仅是 OC,之后的 kext 插件也都要下载 debug 版本的,这样方便调试:
然后是 Python,因为 OpenCore 的很多小工具都需要依赖 python,win8 及以上下载最新版本,win7 和 vista 下载 3.8.5 版本:官方下载;
接着是 Diskgenius,用免费版的就行:官方下载;
balenaEtcher,我们需要用它制作黑苹果启动 U 盘:官方下载;
GenSMBIOS:用于生成仿冒的苹果电脑序列号等信息:GitHub,点红箭头下载;
ProperTree,这用于编辑 config.plist 配置文件:GitHub,下载方法跟 GenSMBIOS 一样;
这几样工具放到一边,我们正式开始配置 OpenCore EFI~
3.2 .efi 驱动
把 OpenCore 解压下来,把 X64 文件夹里的 EFI 文件夹复制到一个重要的地方~
这些就是 OpenCore 的所有文件~
打开 Drivers 文件夹,把除了 OpenRuntime.efi 和 OpenHfsPlus.efi 的其它文件全部干掉,就像下面这样:
OpenRuntime.efi 是 OpenCore 的核心文件,OpenHfsPlus.efi 是支持 macOS 操作系统引导必须的文件。对于一般的电脑,我们保留这两个就可以。至于其它的是一些特殊电脑才需要的 efi 文件,详细信息可以参考官方文档:
添加 efi 驱动文件
固件驱动程序
(注意,看过官方文档的童鞋们可能会注意到如下一段话:OpenHfsPlus.efi:开源HFS Plus驱动程序,非常慢,因此我们建议您不要使用,除非您知道自己在做什么,而官方推荐的 HFS Plus 驱动程序 HfsPlus.efi 是苹果自家的,速度比较快。但是我亲测使用苹果官方的 HfsPlus.efi 开机卡 Watchdog,然后黑屏自动重启 Windows。我不知道是不是我一个人会这样。而且我使用 OpenHfsPlus.efi 开机也不会明显的感觉卡顿。不管怎么样,我个人推荐使用 OpenHfsPlus.efi。如果有使用 OpenHfsPlus.efi 特别卡顿的童鞋可以使用 HfsPlus.efi 试试水:蓝奏云,解压下来就是正常的 efi 文件了)
第一部分 .efi 驱动配置完成!
3.3 Kext 驱动
Kext,全程 Kernel EXTension,是黑苹果与硬件联系的主要驱动,下面就来收集 Kext 驱动~
驱动放入方法
把后缀名为 kext 的文件夹一整个放入 OC 目录下的 Kexts 文件夹内,如下图:
另外强调:Kext 驱动也要下载 DEBUG 版本的(压缩包后缀名 DEBUG 的),方便调试~
必备驱动
Lilu.kext
Lilu 驱动可以说是 kext 驱动之父,这里的之父不是指 kext 的创造者,而是因为没有 Lilu,其它 kext 都无法运行;
最低 macOS 版本:Mac OS X 10.4
WhateverGreen.kext
黑苹果的 GPU 要想工作都需要这个 kext 驱动,换句话说,所有 GPU 都受益于此 kext;
最低 macOS 版本:Mac OS X 10.6
VirtualSMC 及其衍生组件
VirtualSMC.kext
这是一个必备驱动,用于模拟在真实 Mac 上找到的 SMC 芯片。由于它的衍生组件有很多,所以单独拿出来~ 驱动在压缩包的 Kext 文件夹内,同样下面所说的衍生组件也都在 Kext 文件夹内;
最低 macOS 版本:Mac OS X 10.4
SMCProcessor.kext(别点我,这不是链接)
用于监控 CPU 温度,不适用于基于 AMD CPU 的系统
最低 macOS 版本:OS X 10.7
SMCSuperIO.kext
用于监控风扇速度,不适用于基于 AMD CPU 的系统
最低 macOS 版本:Mac OS X 10.6
SMCLightSensor.kext
用于笔记本电脑上的环境光传感器,台式机可以忽略
如果你没有环境光传感器,请勿使用,否则可能会导致问题
最低 macOS 版本:Mac OS X 10.6
SMCBatteryManager.kext
用于测量笔记本电脑上的电池读数,台式机可以忽略
最低 macOS 版本:Mac OS X 10.4
SMCDellSensors.kext
允许对支持系统管理模式(SMM)的戴尔计算机上的风扇进行更精细的监视和控制
如果你的电脑不是戴尔的,请不要使用,戴尔笔记本电脑可以从此 kext 中受益
最低 macOS 版本:OS X 10.7
声卡驱动
AppleALC.kext
可以说一个 kext 解决所有声卡;
最低 macOS 版本:OS X 10.8
有线网卡驱动
IntelMausi.kext
支持英特尔的 82578、82579、I217、I218 和 I219 网卡,基于 I211 的芯片组用下面那个;
最低 macOS 版本:OS X 10.9
SmallTreeIntel82576.kext
支持 I211 NIC 和 I211,但是 macOS 12 Monterey 不适用 I211
对于大多数运行英特尔 NIC 的 AMD 主板是必需的
最低 macOS 版本:OS X 10.9-10.12(v1.0.6), macOS 10.13-10.14(v1.2.5), macOS 10.15+(v1.3.0)(这个 v1.0.6 的版本我是死活也找不到了,需要的就自己看着办吧)
AtherosE2200Ethernet.kext
Atheros 和 Killer NIC 需要;
最低 macOS 版本:OS X 10.8
RealtekRTL8111.kext
用于瑞昱的千兆以太网;
最低 macOS 版本:OS X 10.8(v2.2.0 及更低版本),macOS 10.12(v2.2.2),macOS 10.14(v2.3.0+)
LucyRTL8125Ethernet.kext
适用于瑞昱的2.5Gb以太网;
最低 macOS 版本:macOS 10.15
USB
USBInjectAll.kext
用于在 ACPI 中未定义 USB 端口的系统上注入英特尔 USB 控制器(From 官方文档,我也看不懂啥意思)
Skylake 或较新的台式不需要这个,AMD 也不需要这个,华擎主板需要这个;
最低 macOS 版本:macOS 10.11
XHCI-unsupported.kext
非本机 USB 控制器需要这个,H370 B360 H310 Z390 X79 X99 和华擎主板需要这个;
最低 macOS 版本:官网没标注~
Wi-Fi
AirportItlwm.kext
大部分英特尔无线网卡在这个驱动之下都能工作~
最低 macOS 版本:macOS 10.13
好像就没找到别的了,反正本人瑞昱 8723BE 无线网卡无解,其它网卡可以网上找找~
蓝牙
IntelBluetoothFirmware.kext
在与英特尔无线网卡配对时向 macOS 添加蓝牙支持;
最低 macOS 版本:macOS 10.13
AMD
XLNCUSBFIX.kext
用于 AMD FX 平台的 USB 修复;
最低 macOS 版本:macOS 10.13
额外
NVMeFix.kext
用于修复非 Apple NVMe 上的电源管理和初始化
最低 macOS 版本:macOS 10.14
SATA-Unsupported.kext
添加了对各种 SATA 控制器的支持,主要与在 macOS 中 SATA 驱动器有问题的笔记本电脑相关,专治各种不服~ 不过建议先不用这个驱动,会带来亿些副作用,如果实在不行才用这个;
最低 macOS 版本:官网没标注~
上面看了那么多驱动,是不是早就头昏眼花了~ 实际上驱动放多了还会导致内核崩溃~ 一般来说正常的 Intel 电脑至少需要下面几个驱动:
- Lilu.kext
- WhateverGreen.kext
- VirtualSMC.kext
- SMCProcessor.kext
- SMCSuperIO.kext
- AppleALC.kext(可选,非必要)
- 亿些网卡驱动(因为网卡驱动放错正常不会导致内核崩溃)
如果想让各类硬件工作的更好可以在安装完成之后使用 Hackintools 等工具后期优化~
如果想康康更详细的这里贴出官方文档链接:
Kexts
3.4 SSDT
SSDT(Secondary System Description Table,辅助系统描述表),是在固件中存在的一种表格,用于描述硬件信息。它通常给 DSDT 这个描述硬件信息的主表格提供辅助信息,也就是打补丁~
需要什么 SSDT,我也没啥话说,直接上官网原表把~
台式机:
平台(开发代号) | CPU | EC | AWAC | NVRAM | USB |
---|---|---|---|---|---|
Penryn | N/A | SSDT-EC | N/A | N/A | N/A |
Lynnfield and Clarkdale | |||||
SandyBridge | CPU-PM(安装后运行) | ||||
Ivy Bridge | |||||
Haswell | SSDT-PLUG | ||||
Broadwell | |||||
Skylake | SSDT-EC-USBX | ||||
Kaby Lake | |||||
Coffee Lake | SSDT-AWAC | SSDT-PMC | |||
Comet Lake | N/A | SSDT-RHUB | |||
AMD 推土机/捷豹 | N/A | N/A | N/A | ||
AMD 锐龙 | SSDT-CPUR for B550 and A520 |
高端台式机 or 服务器:
平台(开发代号) | CPU | EC | RTC | PCI |
---|---|---|---|---|
Nehalem and Westmere | N/A | SSDT-EC | N/A | N/A |
Sandy Bridge-E | SSDT-UNC | |||
Ivy Bridge-E | ||||
Haswell-E | SSDT-PLUG | SSDT-EC-USBX | SSDT-RTC0-RANGE | |
Broadwell-E | ||||
Skylake-X | N/A |
笔记本:
平台(开发代号) | CPU | EC | Backlight | I2C 触摸板 | AWAC | USB | IRQ |
---|---|---|---|---|---|---|---|
Clarksfield and Arrandale | N/A | SSDT-EC | SSDT-PNLF | N/A | N/A | N/A | IRQ SSDT |
Sandy Bridge | CPU-PM(安装后运行) | ||||||
Ivy Bridge | |||||||
Haswell | SSDT-PLUG | SSDT-XOSI/SSDT-GPI0 (安装后运行) | |||||
Broadwell | |||||||
Skylake | SSDT-EC-USBX | N/A | |||||
Kaby Lake | |||||||
Coffee Lake (第八代) and Whiskey Lake | SSDT-AWAC | ||||||
Coffee Lake (第九代) | |||||||
Comet Lake | |||||||
Ice Lake | SSDT-RHUB |
续表:
平台(开发代号) | NVRAM | IMEI |
---|---|---|
Clarksfield and Arrandale | N/A | N/A |
Sandy Bridge | SSDT-IMEI | |
Ivy Bridge | ||
Haswell | N/A | |
Broadwell | ||
Skylake | ||
Kaby Lake | ||
Coffee Lake (第八代) and Whiskey Lake | ||
Coffee Lake (第九代) | SSDT-PMC | |
Comet Lake | N/A | |
Ice Lake |
官方提取 SSDT 的方法有两种:预构建法与 SSDTTime 法。由于 SSDTTime 法麻烦且不能生成所有 SSDT,所以下文使用预构建法。
预构建顾名思义就是拿别人已经编译好的 SSDT 开箱即用,省去了提取和编译的步骤。官方的仓库在这里:编译好的
如果需要一个文件,就点进去点 Download 即可~
比如我是笔记本 Broadwell 平台,就选下图这几个:
IRQ-SSDT 就先不找了把,因为实在找不到,感觉也没啥用
一个个找之后放进 OpenCore EFI OC 目录下的 ACPI 文件夹,注意其中有一些 SSDT 名称对应不上,这里重新对应一下:
- SSDT-PLUG -> SSDT-PLUG-DRTNIA
- 笔记本 SSDT-EC -> SSDT-EC-LAPTOP
- 台式机 SSDT-EC -> SSDT-EC-DESKTOP
- 笔记本 SSDT-EC-USBX -> SSDT-EC-USBX-LAPTOP
- 台式机 SSDT-EC-USBX -> SSDT-EC-USBX-DESKTOP
还有一些在上面给出的文件夹里找不到,如 SSDT-GPI0,这些需要手工编译。这里有未编译的,肉眼可见种类多了很多~
(由于 GitHub 为便于代码阅读把 Download 按键砍掉了,这里我单独上传一个:蓝奏)
然后下载编译工具,把 dsl 文件拖到编译工具相同目录下,cmd 输入 iasl.exe DSL文件名,就可以得到一个 .aml 文件,也就是已编译的文件~
把它放入 ACPI 文件夹。最后的 ACPI 文件夹就长得像下面那样:
如果想了解更多,这里惯例放了官方文档~
ACPI 快速入门
3.5 工具瘦身
在 OC 文件夹里的 Tools 文件夹存放着一些方便调试 / 使用的工具,但由于这些工具我们很少用,所以对其进行一次瘦身,加快 OC 开机加载速度~
瘦身很简单,就是把 Tools 文件夹下除 OpenShell.efi 之外的文件全部清除。留下一个 OpenShell.efi 是为了方便调试~
3.6 config.plist
终于到了黑苹果最难也最重要的一步——配置 config.plist。
先确认 ACPI、Kexts、Drivers 三个文件夹里的资源是否就位,然后把之前那个 OpenCore 压缩包解压出来的文件夹里的 Docs 里的 Sample.plist 复制一份出来至 OC 文件夹根目录,然后改名为 config.plist~ 就像下面这样~
打开 ProperTree 文件夹下的 ProperTree.bat 文件,点击 Open,然后选择刚刚复制的 config.plist 文件;
然后选择 OC Clean Snapshot,选择 OC 文件夹;
ProperTree 就帮我们把刚刚收集的那些文件全部引入过来了(注意:每当我们更改了 ACPI 或 Drivers 或 Kexts 或 Tools 文件夹里的内容,就一定要打开这个 config.plist 文件 OC Clean Snapshot 一下,使更改真正生效!)
由于 config.plist 配置部分太多且太复杂,如果全部讲,CSDN 会不堪重负,我也会不堪重负~ 所以请各位读者移步官方文档~
打开官方文档, 红箭头是 Intel 台式机配置,黄箭头是 Intel 笔记本配置,蓝箭头是 Intel 高端台式机配置,紫箭头是 AMD 台式机配置~ 然后打开相对应的子目录选择你电脑的 CPU 代号即可,比如绿箭头指向我需要的 Boardwell(台式机的 Boardwell 组件与 Haswell 整在一起了,所以有台式机 Boardwell 的小伙伴请移步 Haswell~)
ProperTree 基本使用方法:双击重命名/更改类型/更改数值,Ctrl+C Ctrl+V 复制粘贴~
config.plist 配置完可以移步文末使用 OpenCore Sanity Checker 快速排错~
在对照官方文档进行配置时,可以英文和翻译文档对照着看。由于机器翻译有一定的误差,比如 Quirks 选项它给翻译成怪癖~ 所以一定的英文基础是要有的。
附:GenSMBIOS 使用方法
在官方文档里有一处是要使用到 GenSMBIOS 的,这里讲一下使用方法。
首先打开 GenSMBIOS.bat,填写 3 开始生成;
输入你想伪造的 Mac 型号,官方文档里有说明,如 MacBookAir7,1;
把生成出来的序列号复制出来,再按照官方文档的说明填写~
config.plist 配置完成,就到了最后一步了:烧录黑苹果镜像至 U 盘!
4. 制作 U 盘
这是 2023 年 1 月更新的 U 盘制作教程,由于原来那个黑苹果镜像站(链接)已经挂了,所以我们这里不能使用那一种制作方法了。所以这里把新的制作方法写出来~
打开你下载的那个 OpenCore 文件夹,就是这个:
找到 Utilities/macrecovery 文件夹,然后点击上面的路径界面,输入 cmd 回车:
输入以下代码(你想安装什么系统版本,就复制相应的代码,把代码中的 python3 删除,然后执行就行了。10.7 – 13 全都有):
# Lion (10.7): python3 macrecovery.py -b Mac-2E6FAB96566FE58C -m 00000000000F25Y00 download python3 macrecovery.py -b Mac-C3EC7CDF -m 00000000000F0HM00 download # Mountain Lion (10.8): python3 macrecovery.py -b Mac-7DF2A3B5E5D671ED -m 00000000000F65100 download # Mavericks (10.9): python3 macrecovery.py -b Mac-F60DEB81FF30ACF6 -m 00000000000FNN100 download # Yosemite (10.10): python3 macrecovery.py -b Mac-E43C1C25D4880AD6 -m 00000000000GDVW00 download # El Capitan (10.11): python3 macrecovery.py -b Mac-FFE5EF870D7BA81A -m 00000000000GQRX00 download # Sierra (10.12): python3 macrecovery.py -b Mac-77F17D7DA -m 00000000000J0DX00 download # High Sierra (10.13) python3 macrecovery.py -b Mac-7BA5B2D9E42DDD94 -m 00000000000J80300 download python3 macrecovery.py -b Mac-BE088AF8C5EB4FA2 -m 00000000000J80300 download # Mojave (10.14) python3 macrecovery.py -b Mac-7BA5B2DFE22DDD8C -m 00000000000KXPG00 download # Catalina (10.15) python3 macrecovery.py -b Mac-00BE6ED71E35EB86 -m 00000000000000000 download # Big Sur (11) python3 macrecovery.py -b Mac-42FD25EABCABB274 -m 00000000000000000 download # Monterey (12) python3 macrecovery.py -b Mac-FFE5EF870D7BA81A -m 00000000000000000 download # Latest version # ie. Ventura (13) python3 macrecovery.py -b Mac-4B682C642B45593E -m 00000000000000000 download
比如我们想安装 13,那么输入最下面一行。下载完之后你应该会在该目录下获取到一个名叫 com.apple.recovery.boot 的文件夹,里面就是黑苹果系统的镜像了。
先放在一边,下载一个软件:Rufus:
打开 Rufus,按照下面的设置格式化你的那只可爱的 U 盘~
忽略警告继续格盘~
Perfect~ 然后就可以在文件管理器里面看了。把 Rufus 自动生成的文件全部干掉:
然后把刚刚生成的 com.apple.recovery.boot 文件夹拖进去:
最后一步,把你刚刚辛辛苦苦配置的 EFI 文件夹拖进去,大功告成~
5. BIOS 设置
进入电脑的 BIOS(方法网上搜“你品牌的电脑怎么进 BIOS”) ,关闭以下几项:
- Fast Boot
- CFG Lock(MSR 0xE2 写入保护)
- VT-d
- CSM
- Intel SGX
然后开启以下几项:
- VT-x
- Above 4G decoding(大于 4G 地址空间解码)
- Hyper Threading(超线程)
- Execute Disable Bit(执行禁止位)
- EHCI/XHCI Hand-off
- 操作系统类型:Windows 8.1/10
- Legacy RTC Device
如果有选项你的 BIOS 没有,也不用担心,只需要改变有的选项即可~
6. 排错
把电脑从 U 盘启动,不可能马上就进入操作系统界面,肯定会卡代码~(如果你直接进了 macOS 操作系统,那赶紧去买彩票,中个 100 万没问题~)
6.1 卡 Watchdog
如果你的电脑启动 U 盘卡在 Watchdog status is xxx,然后自动重启 Windows,这是 HfsPlus.efi 驱动的问题。在这里我们选用 OpenHfsPlus.efi;
6.2 卡 EBLOG EXITBS:START
这应该是每个黑苹果新手卡的第一行代码了,其实解决方法很简单~
对于 Intel:这是一个典型的 CFG Lock 问题。config.plist -> Kernel -> Quirks -> AppleXcpmCfgLock 设置为 True 即可解决~
对于 AMD:这也是一个典型的 AMD 内核补丁问题。具体详见官方文档 -> config.plist 配置 -> 内核部分。
官方解决方案:Stuck on [EB|#LOG:EXITBS:START]
6.3 卡 AppleIntelCPUPowerManagement 然后 Please go to
跟上面一样,都是典中典问题~ 把 config.plist 中的 Kernel – Emulate – DummyPowerManagement 开起来就行~
官方解决方案:Kernel Panic AppleIntelCPUPowerManagement
6.4 卡 This version of Mac OS X …
常考问题,只不过是送分题~ 把 SMBIOS 更改为黑苹果 macOS 系统版本支持的型号即可~
官方解决方案:Stuck on This version of Mac OS X is not supported: Reason Mac…
6.5 没有 Traceback 就 Please go to
具体错误如下:
panic(cpu 0 caller Oxffffff801a31c61a): initproc failed to start -- exit reason nonespace 2 wuld info: 6x188 b1000 Bx10253c088 wuld = <9c6530F8-c71a-31ef-8823-5842 919d319> uuid = <cef5027a-d50b-3020-af03-1734b19bc8c5> Thread 8 crashed RAX: 8x88687/17bef 1da60, RBX: 8x ffffed4, RCX: Bx00048, RDX: 6x RSP: DxBe0e7fr7bef 1tBde, RBP : Dx00007rf7ber 4a10de. RSI: Ox60607ff7bef 1d918, RDI: Bxe0e7ff7befR8: Bx66GBB00000, R9: 6x68000BBBB0, R19:BxB0B09999B9G9e148, ....... Thread 8: 8xfffFfF 8x00607ff808d481ed 6x080871F800cf48ca 6×.cb ....... Mac OS version: Not yet set Kernel version: Darwin Kernel Version 21.2.0: Sun Nov 28 20:20:54 PST 2821; root :xnu-8819.61.5- ....... 4 In Menory Panic Stackshot Succeeded Bytes Traced 13681 (Uncompressed 48752) IOPLatfornPantcfct lon -> AppleRHCIDiskDriver IoPlatf ornPan lcfict lon -〉 AppleSMC Please go to https://panic.apple.con to report thls palc
(由于 iOS “认字” 水平有限,所以有些错误难免,意会即可)
(该错误在 macOS 12.4+ 表示为 ASP: port is not ready for callouts 然后重启)
这个错误是奔腾赛扬凌动的 CPUID 问题。由于 Haswell+ 平台的奔腾赛扬凌动没有被 Mac 官方使用过,所以 Dortania 在官方文档里说奔腾赛扬凌动 CPU 无解。但是经过我的不懈折腾,终于在 OpenCore GitHub 上的 Issues 板块中,发现了一个 Haswell+ 平台奔腾赛扬凌动的 CPUID 补丁(Wow.jpg)
具体链接见:GitHub
里面的 Haswell+ 低端特别说明,不知道救了多少奔腾赛扬凌动的孩子啊~
补丁如何打
首先仿冒 CPUID 为 Ivy Bridge,打开 config.plist,找到 Kernel – Emulate,改成如下:
Cpuid1Data: <A9 06 03 00 00 00 00 00 00 00 00 00 00 00 00 00> Cpuid1Mask: <FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00>
然后如果是 macOS 10.11 及以下版本,NVRAM – Add – 7C-AB2A-4BBB-A880-FE41995C9F82 – boot-args 加上 -xcpm 一条即可;
如果是 macOS 10.12 及以上版本,需要打 _xcpm_bootstrap 和 AVX 两个补丁~
首先是 AVX 补丁(打补丁方法:直接复制所有内容,然后 ProperTree 打开 Kernel – Patch 选择一个同级项 Ctrl+V(下面有图文教程)):
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <array> <dict> <key>Base</key> <string></string> <key>Comment</key> <string>Haswell+ low-end Celeron/Pentium cpuid_set_info_rdmsr (c) vit9696</string> <key>Count</key> <integer>1</integer> <key>Enabled</key> <true/> <key>Find</key> <data>uaABAAAPMg==</data> <key>Identifier</key> <string>kernel</string> <key>Limit</key> <integer>0</integer> <key>Mask</key> <data></data> <key>MatchKernel</key> <string></string> <key>Replace</key> <data>uaABAAAxwA==</data> <key>ReplaceMask</key> <data></data> <key>Skip</key> <integer>0</integer> </dict> </array> </plist>
然后是 _xcpm_bootstrap 补丁(有分 10.12 和 10.13 以上)
10.13 以上:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <array> <dict> <key>Base</key> <string>_xcpm_bootstrap</string> <key>Comment</key> <string>_xcpm_bootstrap (Haswell+ low-end Celeron/Pentium) 10.13+</string> <key>Count</key> <integer>1</integer> <key>Enabled</key> <true/> <key>Find</key> <data>AMQ8Ig==</data> <key>Identifier</key> <string>kernel</string> <key>Limit</key> <integer>0</integer> <key>Mask</key> <data>AP///w==</data> <key>MatchKernel</key> <string>16.</string> <key>Replace</key> <data>AMY8Ig==</data> <key>ReplaceMask</key> <data>AP///w==</data> <key>Skip</key> <integer>0</integer> </dict> </array> </plist>
10.12:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <array> <dict> <key>Base</key> <string>_xcpm_bootstrap</string> <key>Comment</key> <string>_xcpm_bootstrap (Haswell+ low-end Celeron/Pentium) 10.12</string> <key>Count</key> <integer>1</integer> <key>Enabled</key> <true/> <key>Find</key> <data>xIMAIg==</data> <key>Identifier</key> <string>kernel</string> <key>Limit</key> <integer>0</integer> <key>Mask</key> <data>//8A/w==</data> <key>MatchKernel</key> <string>16.</string> <key>Replace</key> <data>xoMAIg==</data> <key>ReplaceMask</key> <data>//8A/w==</data> <key>Skip</key> <integer>0</integer> </dict> </array> </plist>
由于此错误只针对低端 Intel,而 Dortania 的指南直接达咩了低端 Intel,所以本错误为独家错误~
6.6 AppleIntelXXXGraphicsFramebuffer 然后 Please go to
其中 XXX 可以是 BDW(Broadwell)或 SKL(Skylake)或 CFL(Coffee Lake)等等等等,其实就是你 CPU 开发代号~
首先先确定你的集显版本是不是 GT1,前面查看显卡的地方有查看方法。如果集显是 GT1 又有核显就禁用集显(方法在下面)GT1 集显是真的无解~
一般来说是 GPU 驱动问题,详细阅读这两篇文章,应该有帮助:
Intel GPUs
Intel iGPU FAQ
还有,如果集显有问题就在 NVRAM – Add – 7C-AB2A-4BBB-A880-FE41995C9F82 – boot-args 加入 -wegnoigpu 禁用集显,如果独显有问题就在 NVRAM – Add – 7C-AB2A-4BBB-A880-FE41995C9F82 – boot-args 加入 -wegnoegpu 禁用独显~
我在官方文档里没看到这个问题,所以它也是独家问题~
6.7 OC: Failed to find SB model Disable
这个错误就很尴尬了,少写了个 d,把 Misc – Security – SecureBootModel 从 Disable 改成 Disabled 即可~
6.8 卡在 End SetConsoleMode
把 Misc – Security – SecureBootModel 设为 Disabled 即可。这个问题是老版本 macOS(macOS 10.12 – 10.14)的家常便饭了~
6.9 OS X 10.11 及以下选择 OS X 启动项后黑屏
这个不是 OpenCore 或者电脑有 Bug,这是 OS X 10.11 EI Captain 及以下版本与 OpenHfsPlus.efi 共同“协作”出的一个特性。一般来说等个 10 分钟左右即可。如果嫌慢,把 OpenHfsPlus.efi 替换成 HfsPlus.efi 即可。当然如果你电脑用 HfsPlus.efi 报错我也没有办法了~
剩下的路就靠大家自己走了。这里同样贴出官方文档链接,涵盖了大多数问题:
OpenCore 启动问题
内核加载问题(大部分问题都在这里)
人无完人,由于官方文档也存在错误遗漏,所以我们还是需要亿些搜索引擎的帮助。这里推荐两个:
1. 远景论坛
目前中国最权威的黑苹果论坛,基本上只要你的电脑配置不是太冷门,你的问题答案都能在上面找到。当然你也可以在远景上自己发帖,如果运气好会有很多大佬帮助你~ 当然前提是你需要有一个远景账号,而申请远景账号需要邀请码。邀请码可以私信远景微博小编,按照申请理由 邮箱 手机尾号求邀请码。当然这个还要看远景小编心情,就比如我私信了半个月愣是啥都没收到~ 如果实在想要可以在某宝上 10¥ 解决~
2. 度娘
如果你因为各种原因没有远景账号,那么百度也是不错的选择。它也收录了很多黑苹果案例。重要的是:百度也收录了很多远景论坛的帖子!所以如果实在没有远景论坛账号就乖乖度娘吧~
7. 安装流程
如果你在经过数次跑码数次重启数次排错之后进入了 macOS 安装界面,那么恭喜你!最难的过程已经结束了!你基本上可以盖棺论定你的 PC 将是一台 Hackintosh(黑苹果)~ 所以作为一个无果人士我觉得如果进入了 macOS 安装界面应该好好犒劳犒劳自己亿下~
但是安装流程还是需要注意亿下的,如果安装错了可能需要重新烧录重新复制重新启动~
下面的流程基于最最最最最最最最最最稳定的 macOS 10.14 Mojave,版本不同可能步骤也不同,但大同小异~
首先让白苹果跑完~
然后选择语言(不要问我截图怎么来的,开了个虚拟机,理解万岁);
继续;
继续;
同意;
最重要一步来了,Catalina 及更新版本直接在主页面打开磁盘工具,Mojave 及更旧版本见下图;
选择左边你的那块硬盘,通常是第二块,如果识别不到请检查你的硬盘和 OpenCore 是不是有问题,然后点击“抹掉”;
名称随便填,剩下的保持默认,点击“抹掉”(在完成这一步之前请把这块硬盘里的重要数据备份出来,因为 macOS 会格了你整块硬盘,如果想装 Windows macOS 双系统的建议先装 macOS 再装 Win。毕竟 macOS 都吃上了,还怕 Windows 吗?);
等待其抹掉,点击“完成”;
点击左上角红按键;
选择刚刚抹掉的那块硬盘,点继续;
等待其安装亿会儿;
第二次重启需要选择进入的是 macOS Installer(网图,理解万岁);
又是亿会儿的等待;
第三次重启选择的是 macOS,进入之后你应该会看到如下画面:
设置一下你的黑苹果,就可以使用了!欢迎来到 macOS 的世界!Enjoy it!
如果在安装流程中有什么问题请移步官方文档:
安装流程问题
8. 后记
8.1 信息/步骤/资料来源
首先感谢 Acidanthera,ta 是 OpenCore 的作者~ 感谢 Acidanthera 对黑苹果这门领域的贡献!
本文大部分步骤信息来源于 OpenCore 官方文档,感谢 Dortania 的这篇教程~ 另外备注:本文所说的官方文档实际上是指 Dortania 的 OpenCore 新手指南,不是 Acidanthera 官方认证的文档。把它说成官方文档一是因为这个指南非常详细,作用可以替代官方指南;二是纯粹图方便。如果实在想看官方文档在这里~ 只不过官方文档对小白非常不友好,而且全英文,小白慎入~
8.2 使用现成 EFI
如果你的配置比较热门,你或许可以在这个地方直接找到现成的 EFI(可能不是 OpenCore 引导):链接,这是众多大神亲自配置且实验过的 EFI,成功率比较高。
同样感谢黑果小兵的整理。注意必须要拿和你机型一模一样的,比如 Lenovo ideapad 100-15ibd 的 EFI 与 Lenovo ideapad 100-15iby 的 EFI 不能兼容。拿到 EFI 后就跟已经配置过的 EFI 一样直接 DiskGenius 操作就行。那就有人问:为什么不用大神已经配置好的呢?我个人是这样看的:老师说过自己的事情要自己做
8.3 新版本 macOS 存在的一些问题
macOS 11.3+ 要跑起来的话要把 XhciPortLimit 关掉,此外还有很多不稳定,原因纯粹是因为 Apple Silicon 的加入~
还有,最近 WWDC22 上推出的 macOS Ventura 13 砍掉了大部分 intel 机型,所以黑苹果的生命快到尽头了(T_T)
8.4 让黑苹果更加简单
如果这里有大佬想看官方文档,完全不必看英文版的,因为这里有一个全翻译且很成熟的 OpenCore 官方文档译本:这里,只不过它没有经过 Acidanthera 官方认证。不过我觉得要是 Acidanthera 亲临现场估计也会通过认证的~
还要推荐一个 OpenCore config.plist 快捷排错的网站:OpenCore Sanity Checker。上面选好 CPU 型号点中间那个大大的蓝色按键选择你的 config.plist 即可快速排错~
当然这个排错结果仅供参考,由于版本对不上,有很多 Bug。建议如果发现错误还要去 OpenCore 官方文档进行核实~
总之,整了那么多,希望每台 PC 都能通过 OpenCore 引导吃上黑苹果吧~
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/123151.html