本文献给所有初入黑苹果的探索者
本文的三原则:
1)尽量先模仿,再创新
2)尽量先成功,再失败:先阶段性成功,再出现一些细节性的失败
3)有issue看到必答,但问题务必描述清楚,并标注硬件配置、安装的系统镜像、EFI文件夹结构及各个文件夹的内容、config.plist文件的部分截图
提问参照模板(不拘泥于形式,内容包含下列列举的内容即可):
问题:#问题具体内容
1 硬件配置
1.1 CPU:i5 12700k
1.2 显卡:
1.2.1 核显:Intel Iris(R) Xe Graphics
1.2.2 独显:无
1.3 无线网卡: Intel AX201
1.4 有线网卡: Realtek PCIE Gbe Family Controller
1.5 触控板:(无则删除该项)
1.6 固态硬盘:Samusang 980Pro(M.2 Nvme接口)
1.7 SATA硬盘:希捷1TB
2 安装的系统镜像
2.1 系统版本:monterey 12.5.1
2.2 下载页面:https://blog.daliansky.net/macOS-Monterey-12.5.1-21G83-Release-version-with-OC-0.8.4-CLOVER-5148-and-FirPE-original-image.html
3 EFI文件夹内容及结构(可用图片代替):
![](https://sealedjn.github.io//post-images/1676881444022.png)
4 上传config.plist文件
黑苹果:苹果公司推出的操作系统 macOS 本来只应该安装在苹果自家的Mac电脑上,白苹果一般就是指 Mac+macOS。macOS 可以通过使用一些第三方引导工具(如Clover、OpenCore)安装到普通个人电脑上(台式机/笔记本/一体机/Mini电脑),所以 PC+macOS 称之为黑苹果。早期的Mac使用IBM的PowerPC架构处理器,难以安装到普通个人电脑,但从Mac全面转向使用 x86 架构的英特尔处理器后,安装门槛就大大降低;尽管如此,黑苹果终究不可能达到100%的白苹果还原度,完美的黑苹果是不存在的,只能无限接近。
【引用】
引用:国光黑苹果-基础知识
基础名词¶
名词 | 描述 |
---|---|
Hackintosh | 将 macOS 安装到非苹果官方 PC 的过程,请注意Hackintosh 不是操作系统 |
Bootloader | 加载操作系统的软件,通常由操作系统创建者制作 |
Boot Manager | 管理引导加载程序的软件比如:Clover、OpenCore 等 |
Clover | 被 OpenCore 逐步替代的一个引导方式 |
OpenCore | 由Acidanthera 团队在打造的 Hackintosh 新的更完美的引导方式 |
ACPI | 高级配置和电源接口 ,可以让系统更好的识别硬件信息 |
DSDT/SSDT | ACPI 中的表格,描述设备以及操作系统应如何与它们交互 |
.AML | ACPI 的编译文件格式 |
.DSL | ACPI 的源代码文件 |
Kexts | 全程叫 Kernel Extensions 内核扩展,我们国内可以通俗的翻译为驱动 |
BIOS | 基本输出输入系统,可以通俗的理解为主板的操作系统 |
UEFI | 统一可扩展固件接口,可以让 PC 从预启动的操作环境,加载到操作系统上 |
UEFI 驱动 | 与任何其他操作系统一样,UEFI 具有驱动程序,它们由 Clover 或 OpenCore 加载 |
NVRAM | 非易失性随机访问存储器,主板自带的,UEFI 启动的时候会先加载 NVRM |
1 前言
1.1 目标读者
1、愿意阅读中文文档和英文文档的读者(英文文档可以使用浏览器翻译)
2、想要理解黑苹果安装的各个步骤
1.2 最终要达到的目标
1、首要目标:能够在自己的电脑(台式机或笔记本)中安装BigSur、Montery、Ventura(推荐新版本)
2、次要目标:了解电脑EFI的配置
1.3 安装黑苹果的主要流程
1.3.1 了解你的电脑硬件配置
包括:CPU、GPU(核显+独显)、主板型号(主板芯片组)、NVME协议的固态硬盘、SATA接口的硬盘、有线网卡型号、无线网卡型号、声卡型号
如果是笔记本,需要额外了解:触控板+内置键盘
1.3.2 选择启动黑苹果安装的引导方式
OpenCore(推荐)
or
Clover(不推荐,容易对电脑造成不可逆的伤害,例如:独显在windows中无法加载、内存地址访问越界、笔记本电池🔋无法正常使用)【没错,这就是我曾经遇到的坑】
1)1.3.2中的OpenCore是一款开源的系统引导程序,相比Clover其设计理念更为先进,具有多种优势。
2)OpenCore是一个用来规定EFI文件夹内容的规则,真正需要我们去理解和学会配置的,是EFI文件夹里面的内容,而不是OpenCore这个规则(如果喜欢贡献你的一份力量,也鼓励向OpenCore社区多多提问题)。
3)UEFI 是 Unified Extensible Firmware Interface(统一可扩展固件接口),可以让 PC 从预启动的操作环境,加载到操作系统上。大家可以理解为 UEFI 是一种系统引导方式,基本上 2010 年后的电脑都是支持 UEFI 引导方式的。
4)UEFI 引导常配合 GPT 分区表来使用,在 DiskGenius 中,选中磁盘,右键选【转换分区表类型为 GUID 格式】即可将磁盘转换为 GPT 分区表。
引用¶
1.3.3 安装镜像到U盘中,并预留EFI的磁盘空间
最后向U盘的ESP分区加入你的EFI文件夹
1.3.4 从U盘EFI启动系统,进入OpenCore引导界面
引导界面中有install xxxx选项,选中进入安装界面
具体配置EFI和黑苹果安装过程将在下文详细阐述
2 详细安装步骤
2.1 制作EFI
2.1.1 了解并配置EFI
写给初级探索者的话:
1)EFI文件是一个名叫EFI的文件夹
2)EFI文件存放在磁盘中的ESP引导分区,才能发挥其“引导系统启动”的作用
1)OpenCore格式:EFI文件夹内有两个文件夹,以OpenCore格式引导的EFI文件夹,里面包含BOOT文件夹和OC文件夹
2)Clover格式:若是以Clover格式引导的EFI文件夹,则文件夹里面包含BOOT文件夹和Clover文件夹
EFI【文件夹】(根目录)
├── BOOT【文件夹】(不需要修改BOOT文件夹内的内容)
│ └── BOOTX64.efi
└── CLOVER【文件夹】(内部各个目录的作用可以简单了解)
├── ACPI【文件夹】
│ ├── origin【文件夹】
│ ├── WINDOWS【文件夹】
│ └── patched【文件夹】
│ └── SSDT.aml
├── drivers【文件夹】
│ ├── BIOS【文件夹】
│ ├── off【文件夹】
│ └── UEFI【文件夹】
│ ├── ApfsDriverLoader.efi
│ ├── AudioDxe.efi
│ ├── HfsPlus.efi
│ ├── EmuVariableUefi.efi
│ └── OsxAptioFixDrv.efi
├── kexts【文件夹】
│ ├── 10.12【文件夹】
│ ├── ...
│ ├── 10.15【文件夹】
│ ├── Off【文件夹】
│ └── Other【文件夹】
│ ├── Lilu.kext
│ ├── VirtualSMC.kext
│ ├── ......
│ ├── AppleALC.kext
│ └── WhateverGreen.kext
├── CLOVERX64.efi
├── config.plist
├── themes【文件夹】
├── misc【文件夹】
├── doc【文件夹】
├── OEM【文件夹】
│ └── SystemProductName
├── ROM【文件夹】
└── Tools【文件夹】
├── Shell32.efi
├── ......
└── Shell64.efi
2.1.1.1了解EFI文件夹结构
1、简要查看,重点是理解每个文件夹要放置那些文件。
2、当你每次修改完EFI文件夹中的内容,最后一步:去检查EFI/OC/config.plist(相对路径)中的内容有没有进行对应的增删改
EFI【文件夹】(根目录)
├── BOOT【文件夹】(一般不用更改该文件夹下的内容)
│ └── BOOTx64.efi
└── OC【文件夹】
├── ACPI【文件夹】
│ ├── SSDT-***.aml(需要对SSDT文件进行筛选,才能将.aml文件放进ACPI文件夹)
│ ├── ......
│ └── SSDT-***-***.aml
├── Drivers【文件夹】
│ ├── OpenCanopy.efi
│ ├── ......
│ └── OpenRuntime.efi
├── Kexts【文件夹】
│ ├── Lilu.kext【文件夹(.kext后缀结尾的文件在windows中呈现的是文件夹形式,在mac中呈现的是文件形式)】
│ ├── ......
│ └── WhateverGreen.kext
├── OpenCore.efi
├── config.plist(当你在ACPI、Kexts、Drivers文件夹中进行增删改除其中的文件,还需要对config.plist,使用xml编辑器对config.plist进行对应的修改)
├── Resources【文件夹】(存放OpenCore的引导界面主题文件,例如.css,.png)
└── Tools【文件夹】
├── ChipTune.efi
├── ......
└── VerifyMsrE2.efi
2.1.1.2 ACPI——配置EFI/OC的第一个文件夹
2.1.1.2.1 ACPI 相关名词¶
名词 | 描述 |
---|---|
EC | 嵌入式控制器。在主板和嵌入式外围设备(如热键、端口或电池)之间进行通信 |
PLUG | 允许连接 XCPM、Apple XNU 电源管理,以实现更好的整体 CPU 控制 |
AWAC | ACPI Wake Alarm Counter Clock,板的内部时钟,Hackintosh 必须对其进行修补 |
PMC | 电源管理控制器,部分主板需要 SSDT-PMC 来进行修补 |
PNLF | 内部背光显示,macOS 使用此 PNLF 设备发送和接收信息以进行亮度控制 |
XOSI/_OSI | _OSI 用于确定正在启动的操作系统,重命名为 XOSI 允许我们欺骗硬件 |
HPET | 高精度事件定时器,macOS 对设备的设置方式非常挑剔,因此我们有时需要修补 HPET |
RHUB | 根 USB 集线器,其中定义了 USB 端口。 |
IMEI | 英特尔管理引擎接口,处理杂项任务。macOS 依靠 IMEI 来实现 Intel GPU 加速 |
UNC | Uncore Bridge,类似于北桥,它处理许多与缓存相关的功能 |
SMBS | 系统管理总线,用于允许设备之间轻松通信。 |
2.1.1.3 Kexts——配置EFI/OC的第二个文件夹
2.1.1.4 Drivers——配置EFI/OC的第三个文件夹
2.2 制作U盘启动盘
2.2.1 下载镜像文件
推荐从黑果小兵的博客中下载镜像文件(其博客中也有大量的EFI可以查找)。
什么是镜像文件?
可以通过刻录软件(例如:bootice.exe),将镜像文件刻录到U盘。刻录成功后,将刻录好的U盘插入电脑的USB接口中,在开机bios界面,选择使用U盘中的EFI引导启动)
举例:
1、对标题内容进行分析:
macOS Monterey 12.5.1 21G83(系统版本) Installer for OpenCore 0.8.4(EFI引导) and CLOVER 5148(EFI引导) and FirPE(windowsPE引导,专门用于修复windows的一个简易系统) 三EFI分区原版镜像
2、了解macOS 12 系统要求
(机型是可以通过OpenCore设置的,所以在下文,会重点说明如何设置机型)
2.3 启动电脑,选择U盘EFI启动
进入OpenCore的EFI选择界面。
在2.2.1中,我们提供了monterey12.5.1镜像。该镜像的EFI选择会有三个选项,分别是:install monterey、clover、FirPE。
从界面中,选择EFI的install monterey选项(按回车或者鼠标左键点击就可以进入),进入跑码阶段(跑码顾名思义,即屏幕上出现很多行代码)
跑码阶段可能会在某一行代码加载几分钟,把电脑放在一旁,让它自己跑就行(不过也有代码卡在某一行的情况,这时需要根据常见问题来修复EFI)
电脑显示界面如下:
三个选项第二个可以用来安装苹果系统,这个选项的名称也人如其名:install monterey
第一步:显示所有设备
第二步:对磁盘/磁盘分区进行抹掉+分区操作
第一种方式:安装到整个磁盘中
第二种方式:安装到磁盘中的一个分区
2.3.1 跑码结束,进入安装界面
先打开磁盘工具,格式化磁盘(苹果系统将占满整个磁盘)或者格式化磁盘中某个分区(苹果系统占用你分配的分区)
2.3.2 格式化好磁盘之后,退出磁盘工具
选择安装macOS,一路点击同意即可(中间会有多次重启)