分享重点:Clover配置、SSDT和DSTD打补丁

1.0 - 操作系统

Windows 11

img

Mac OS Ventura 13.3

CuteFish OS 0.8

中国Linux发行版 - 可爱鱼

img

JingOS

中国Linux平板系统 - 鲸鲮

img

Ubuntu 20.04.5 LTS 32位

海思机顶盒 armv7架构

https://bbs.histb.com/u/teasiu/likes

image-20230328150429800

2.0 名词解释

1. Macintosh和Hackintosh

Macintosh 简称 Mac,是我们所说的“白苹果”,即苹果电脑+macOS系统的形式。Hackintosh特指黑苹果,这是一个组合词:Hack + Macintosh = Hackintosh,即非苹果电脑+macOS系统的形式。

苹果公司(Apple)限制Mac OS X系统只能在Apple设备上使用,并且苹果不保证Mac OS X在其它设备上能够正常工作。所以,用户需要承担一定的风险。当然,为了避免其它的法律纠纷,你不应该用作商业用途。装上了Mac OS X的非苹果电脑,就叫做黑苹果(Hackintosh)。

2. macOS

苹果公司自家的操作系统,所有Macintosh的预装系统和Hackintosh的目标系统。

macOS 可以通过使用一些第三方引导工具(如Clover、OpenCore)安装到普通个人电脑上(台式机/笔记本/一体机/Mini电脑),所以 PC+macOS 称之为黑苹果。早期的Mac使用IBM的PowerPC架构处理器,难以安装到普通个人电脑,但从Mac全面转向使用 x86 架构的英特尔处理器后,安装门槛就大大降低;尽管如此,黑苹果终究不可能达到100%的白苹果还原度,完美的黑苹果是不存在的,只能无限接近。

3. kext

全称Kernel Extension,翻译为“内核扩展”,在 macOS 里主要作用是驱动程序。macOS虽然原有kext,但是在黑苹果情况下若不加kext驱动,macOS原有的 kext 是不会正常工作的,在黑苹果配置EFI的阶段,根据机器的不同会牵扯到大量不同的kext需要了解。所以在黑苹果安装调试阶段需要接触大量的第三方 kext 文件,解决各类硬件(如网卡、显卡、声卡)的工作运行问题,黑苹果需要的基本 kext 看这里

4. ACPI、DSDT和SSDT

ACPI:Advanced Configuration and Power Management Interface,一般翻译成高级配置与电源管理接口,由英特尔、惠普、微软、Phoenix 和东芝制订提出,其中最为广泛认可的就是电源管理标准。ACPI中包含了DSDT和SSDT信息,对于黑苹果来说,ACPI里会涉及睿频/休眠/显卡控制等重要功能。每套个人电脑理论上都具有不同的ACPI,有时候即使是同一厂家的同一产品,也会因为BIOS版本、内存大小、设置差异等,造成ACPI的不同,所以ACPI需要自行提取。苹果公司的Mac产品并不完全支持ACPI规范,但其中DSDT功能是完整支持的,所以涉及硬件方面 kext 难以搞定的问题一般通过修改DSDT解决。ACPI文件可以在Windows、Linux下提取,黑苹果也可以通过Clover提取,在Clover引导页面按下F4(笔记本注意也可能是Fn+F4),按下后不会有任何提示,Clover会把提取到的ACPI文件放到 /EFI/Clover/ACPI/origin。

DSDT:The Differentiated System Description Table,字面翻译是“差异系统描述表”,是ACPI规范的一部分。其包含了所有除基本系统以外所有不同设备的信息,也就是每台计算机设备的基本系统是相同的,而不相同的设备用DSDT来描述。和 Windows 相反,macOS 的驱动是被动驱动,需要让系统知道存在这个硬件且知道硬件位置,所以修改DSDT的主要目的就是让macOS识别存在这个硬件并告诉系统硬件位置,以便让系统内置的驱动来使硬件工作。

SSDT:System Services Descriptor Table,字面翻译是“系统服务描述符表”,是 ACPI 规范的一部分。SSDT相当于系统内部API(Application Programming Interface,应用程序接口)的指向标,作用就是告诉系统,需要调用的API在什么地方。在黑苹果中,SSDT里的信息主要关于处理器电源管理、USB、显卡等相关信息。针对DSDT打补丁,将使设备的控制尽量向白苹果靠近,解决稳定性并提升性能。

5. APFS、HFS和HFS+

HFS:Hierarchical File System,分层文件系统,是一种由苹果公司开发,并使用在 Mac OS X 上的文件系统。最初用于软盘和硬盘,同时也可以在在只读媒体如 CD-ROM 上见到。HFS是苹果自家的操作系统,搭配macOS较老版本使用,后被 HFS+ 文件系统替代。

**HFS+**:Hierarchical File System Plus,是苹果公司为替代他们的分层文件系统(HFS)而开发的一种文件系统。它被用在苹果自家的 Macintosh 或者其他运行 Mac OS X 的电脑上。它也是 iPod 上使用的其中一种格式。HFS+也被称为 Mac OS Extended 和 HFS Extended。HFS+ 是一个 HFS 的改进版本,支持更大的文件,并用 Unicode 来命名文件或文件夹,代替了 Mac OS Roman 或其他一些字符集。目前,HFS+ 能用于安装 macOS 10.13 及以下版本系统。

APFS:Apple File System,翻译为苹果文件系统,简称 APFS。是一个用于 macOS、iOS、tvOS 和 watchOS 的文件系统,由苹果公司开发和使用。它的设计目的是解决 HFS+ 文件系统的核心问题。APFS 针对闪存和固态存储设备进行了针对性优化,改进了很多性能方面的设计。目前 macOS 10.14 及以上版本默认使用该文件系统。

HFS、HFS+和APFS均不支持Windows,即不可读不可写。Windows常用的NTFS也不支持macOS,可读不可写。Windows和macOS同时可读可写的系统是exfat,但Exfat存在文件丢失的可能性。

6. EFI

是使用FAT32的系统引导分区,早期有使用FAT16的。支持EFI的电脑(即UEFI模式)需要从EFI分区启动系统,EFI固件程序可以从EFI启动系统。

7.各种引导

Ozmosis:是一款基于BIOS固件制作的启动引导固件,说白了就是把固件刷入到BIOS里,直接通过BIOS来引导硬盘来启动,支持安装和运行黑苹果系统。虽然方法较原生但操作难度大,且容错率低。目前是过时技术,已经被Clover取代,最高支持10.15。

Chameleon: 国内称之为变色龙,是一款操作系统引导程序,主要用于安装黑苹果系统,目前已被Clover取代。

Clover:译名“四叶草”。目前正在逐渐被OpenCore取代,但是在老系统中还有属于它的一席之地。教程丰富,老系统可以使用。

OpenCore:最新的黑苹果引导程序,简称OC引导。本文也使用OC引导。教程丰富,推荐新系统使用。在黑苹果的安装到使用过程中,OC起到大脑中枢的作用。从开启电脑的选择系统界面到系统的启动过程,从系统关机到你下一次启动系统都有OC的痕迹。

精解OpenCore https://blog.daliansky.net/OpenCore-BootLoader.html

8. config.plist

config.plist是OC的配置文件,决定了OC启动时加载哪些驱动。config.plist决定黑苹果能否正常开机启动,换句话说正确的、适合自己电脑的config文件才能引导自己的机器正常启动黑苹果。所以config.plist文件是黑苹果安装的重难点。

9. 各个Configurator

Clover Configurator:针对Clover的EFI配置程序。

OCAuxiliaryTools:简称OCAT,比较好用的针对OC的EFI配置程序。突出优点是同时支持Windows、macOS、Linux,这点比OCC强多了。另外,OCAT编辑后的config.plist被污染的情况比OCC少很多。

OpenCore Configuratior:简称OCC,针对OpenCore的EFI配置程序。

参考链接: https://zhuanlan.zhihu.com/p/553568297

CLOVER文件结构

1
2
3
4
5
6
7
8
9
ACPI文件夹:用于存放DSDT和SSDT文件。

kexts文件夹:用于存放kext驱动文件(xxxx.kext)

drivers文件夹:用于放置efi驱动文件(xxxx.efi)

themes文件夹:用于放置Clover图形化界面。

config.plist Clover配置文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
常见kexts的加载顺序如下:

Lilu
VirtualSMC
WhatevenGreen
SMCBattery和LightSensor(笔记本、后者光传感器笔记本)
SMCProecssor
SMCSuperIO
AppleALC
Airportitlwm或itlwm
IntelBluetoothInjector
IntelBluetoothFirmware
如果是AX网卡还需要IntelBTPatcher
VooDooPS2Controller/VooDooI2C-VoodooI2CServices.kext
VooDooPS2Controller-VooDooPS2Keyboard/VooDooI2C-VooDooGPIO
VooDooPS2Controller-VooDooPS2Mouse/VooDooI2C
VooDooPS2Controller-VoodooPS2Trackpad/VooDooI2CHID
VooDooPS2Controller-VooDooInput/VoodooPS2Controller
-/VoodooPS2Controller-VoodooPS2Keyboard
-/VoodooI2C-VoodooInput
一般在你添加VoodooI2C或PS2驱动时,附属kexts(如VoodooPS2Controller-VooDooPS2Mouse这类)都会以固定顺序一起添加,不用特地调整。

关于Drivers:Drivers是驱动,这些驱动的后缀均为.efi。

CleanNvram.efi:清理NVram的工具。效果比较彻底,如果有登录Apple ID,会被退出。
ResetNvram.efi:单纯仅清除NVram。
OpenShell.efi:UEFI Shell。
关于ACPI:ACPI的中文译名是高级配置和电源接口,定义了BIOS(UEFI)之间的硬件抽象接口。根据维基百科,ACPI有如下几种可以实现的功能:

系统电源管理(System power management)
设备电源管理(Device power management)
处理器电源管理(Processor power management)
设备和处理器性能管理(Device and processor performance management)
配置/即插即用(Configuration/Plug and Play)
系统事件(System Event)
电池管理(Battery management)
温度管理(Thermal management)
嵌入式控制器(Embedded Controller)
SMBus控制器(SMBus Controller)
ACPI由一堆“表”组成,其中我们需要研究的表就是DSDT、SSDT两表。SSDT是DSDT的扩展和注解,DSDT才是基础。

3.0 多系统引导

1. 四叶草

clover使用教程 https://blog.daliansky.net/clover-user-manual.html

EFI文件结构与调试命令 -v 打开啰嗦模式

四叶草参数配置

ACPI

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<key>ACPI</key>
<dict>
<key>DSDT</key>
<dict>
<key>Debug</key>
<false/>
<key>DropOEM_DSM</key>
<false/>
<key>ReuseFFFF</key>
<false/>
</dict>
<key>DropTables</key>
<array>
<dict>
<key>Signature</key>
<string>SSDT</string>
<key>TableId</key>
<string>CpuPm</string>
</dict>
<dict>
<key>Signature</key>
<string>DMAR</string>
</dict>
</array>
<key>SSDT</key>
<dict>
<key>DropOem</key>
<false/>
<key>Generate</key>
<dict>
<key>CStates</key>
<false/>
<key>PStates</key>
<false/>
</dict>
</dict>
</dict>

GUI

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
<key>GUI</key>
<dict>
<key>Custom</key>
<dict>
<key>Entries</key>
<array>
<dict>
<key>Disabled</key>
<false/>
<key>Ignore</key>
<false/>
<key>Path</key>
<string>\EFI\CutefishOS\grubx64.efi</string>
<key>Title</key>
<string>CutefishOS</string>
<key>Type</key>
<string>ubuntu</string>
<key>VolumeType</key>
<string>Internal</string>
</dict>
</array>
</dict>
<key>Language</key>
<string>zh_CN:0</string>
<key>Mouse</key>
<dict>
<key>DoubleClick</key>
<integer>500</integer>
<key>Enabled</key>
<true/>
<key>Mirror</key>
<false/>
<key>Speed</key>
<integer>8</integer>
</dict>
<key>Scan</key>
<dict>
<key>Entries</key>
<true/>
<key>Legacy</key>
<false/>
<key>Linux</key>
<false/>
<key>Tool</key>
<false/>
</dict>
<key>ScreenResolution</key>
<string>1920x1080</string>
<key>Theme</key>
<string>imac.hk</string>
</dict>

Graphics <ig-platform-id 0x16160002>

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<key>Graphics</key>
<dict>
<key>DualLink</key>
<string>1</string>
<key>EDID</key>
<dict>
<key>Inject</key>
<false/>
</dict>
<key>Inject</key>
<dict>
<key>ATI</key>
<false/>
<key>Intel</key>
<true/>
<key>NVidia</key>
<false/>
</dict>
<key>ig-platform-id</key>
<string>0x16160002</string>
</dict>
<key>KernelAndKextPatches</key>
<dict>

2. 三卡驱动

黑苹果Clover驱动配置文件 https://gitee.com/wwj256/clover

黑苹果 Clover 驱动配置文件分享 https://www.sqlsec.com/2018/07/hackintosh.html

远景macOS Sierra置顶向导集合贴 https://bbs.pcbeta.com/viewthread-1696212-1-1.html

显卡

Intel核显platform ID整理及smbios速查表 https://blog.daliansky.net/Intel-core-display-platformID-finishing.html

Hackintosh黑苹果长期维护机型整理清单 https://blog.daliansky.net/Hackintosh-long-term-maintenance-model-checklist.html

声卡

两个方案:AppleALC声卡仿冒驱动 / 万能声卡驱动 VoodooHDA

关于VoodooHDA完美修改,轻松制作属于自己的完美声卡 https://bbs.pcbeta.com/viewthread-1474116-1-1.html

关于VoodooHDA的常见疑问综合列表 https://bbs.pcbeta.com/viewthread-958157-1-1.html

网卡

有线网卡

无线网卡 可USB网卡代替

网卡驱动教程 http://www.imacosx.cn/jc/wkjc

SSDT和DSDT

什么是SSDT和DSDT https://www.mfpud.com/topics/2799/

DSDT和HOTpatch https://bbs.pcbeta.com/forum.php?mod=viewthread&tid=1741377&extra=page%3D1%26filter%3Drecommend%26orderby%3Drecommends%26recommend%3D1%26recommend%3D1%26orderby%3Drecommends

HOTpatch和传统方式对比图.jpg

4.0 - 安装方法

一、正常安装过程:

https://www.pianshen.com/article/3253990992/

https://macx.top/5673.html

1.制作启动盘(选择colver中的对应config.plist文件,按照核显型号选取,修改platformid,根据核显型号查询)

2.安装系统,过程中可能会多次卡死。

3.将u盘中的efi-colver文件夹复制到硬盘efi中,完成u盘剥离,并修改启动项。

二、macOS黑苹果系统镜像恢复版安装教程:https://www.bilibili.com/read/cv18687658/

5.0 - 辅助软件

DiskGenius磁盘管理与数据恢复软件

Clover Configurator(四叶草设置助手)https://blog.csdn.net/qq_28735663/article/details/101620456

黑苹果常用工具 https://bbs.pcbeta.com/forum.php?mod=viewthread&tid=1713831&extra=page%3D1%26filter%3Drecommend%26orderby%3Drecommends%26recommend%3D1%26recommend%3D1%26orderby%3Drecommends

磁盘读写工具Tuxera NTFS https://download.tuxera.com/mac/tuxerantfs_2021.1.dmg

1
2
3
4
5
6
7
8
9
什么是 NTFS?

NT文件系统 (NTFS), 是英文首字母缩写 New Technology File System是微软在Windows操作系统中引入的文件系统。但是在macOS中,默认的NTFS磁盘只能读,不能写。也就是默认你可以读取NTFS磁盘中的文件,但是却不能编辑,更改或者添加文件。

为什么macOS不支持NTFS写入?

NTFS是在1993年的 Windows NT 3.1中引入的,至今windows 7/8/10/11都在使用,微软也没有开源NTFS文件系统,苹果没有任何理由去支持一个自己竞争对手不公布任何细节的文件系统,况且苹果的APFS也非常好用。macOS10.13之前Apple还有命令行可以开启NTFS写入权限的命令行,后面直接就不支持了。

Tuxera NTFS是专门为 Mac用户提供的专业NTFS驱动软件, 它在提供最快速数据传输的同时,也使用智能缓存层来保护您的数据。 Tuxera NTFS支持所有版本的OS X,, 同时Tuxera NTFS还具备Tuxera特有的先进功能,如支持 NTFS 拓展属性。 能完全读写NTFS文件,兼容跨越Mac和Windows平台,数据传输速度快而稳定。

6.0 - 推荐网站

远景论坛 https://bbs.pcbeta.com/

黑果小兵的部落阁 https://blog.daliansky.net/

黑苹果动力 https://www.mfpud.com/

黑苹果社区 https://osx.cx/

黑苹果乐园 https://mackext.com/

7.0 - 存在的问题

给黑苹果注入三码,解锁iCloud/FaceTime/iMessage/随航

https://heipg.cn/tutorial/inject-identifier-for-hackintosh.html

本文标题: Mac-OS黑苹果安装-实战篇

本文作者: 狂欢马克思

发布时间: 2024年04月15日 09:46

最后更新: 2025年01月03日 13:59

原始链接: https://haoxiang.eu.org/2e88617f/

版权声明: 本文著作权归作者所有,均采用CC BY-NC-SA 4.0许可协议,转载请注明出处!

× 喜欢就赞赏一下呗!
打赏二维码