现在网络上的黑苹果教程很多,也有不少写的非常好,但是大部分教程仅包含很小的一部分,具体讲到怎么折腾,怎么设置,怎样完善的帖子却很少。新手遇到问题不仅需要大量查贴,还往往徒劳无功。

随着苹果公司 macOS 的更新迭代,功能越来越强大,越来越吸引人,安装黑苹果的需求也越来越大。

而现在已经是2020年,黑苹果经历多年的发展,已经非常完善了,但是教程却不完善。

所以我萌生了写这篇文章的想法,希望可以帮助想安装黑苹果的同学。内容也许并不完全科学准确,为了照顾基础薄弱的同学,也会比较啰嗦,但是可以给各位提供成功安装的方法和研究的方向。

只有越多人接触到黑苹果,凝聚大家的力量,这份技术活才能越来越简单完善。

这篇文章会用尽可能简单易懂的文字,帮助你在你的 Windows 电脑上安装苹果 macOS 系统。

阅读指南

  • 请使用网站自带的文字大小缩放功能适当放大文字,不知道为什么字体小的话部分加粗效果会不怎么明显。

  • 尽量使用浅色模式阅读,比较容易分辨一些文字效果。

  • 尽量打开文章的目录功能,方便查阅。同时不要使用网站的阅读模式。

1. 前言

1.1. 什么是黑苹果

通俗点来说,在普通的非苹果电脑上安装 macOS 系统,叫黑苹果,外文 Hackintosh。

如何实现的呢?首先凡是电脑系统都需要通过引导来开机,就好像每个产品都需要一份说明书,别人才懂得如何使用,引导就是告诉电脑 ”这个硬盘里装了个系统,这部电脑有哪些硬件“等等许多信息。

而这个引导的部分叫EFI分区,黑苹果就是通过这个 EFI 分区来骗过系统,可以理解为给电脑套了个 Mac 的壳,让系统以为这台电脑是一台真·Mac。

所以,其实安装黑苹果只需要两个东西:①一个真正的 macOS 系统;②一个 EFI 分区,就足够了。只有极少部分情况需要特地修改 macOS 的文件。

1.2. 我的电脑能装黑苹果吗

基本上都能。如果你的电脑配备 Intel CPU + Intel 核显或者苹果使用过的 AMD 显卡,安装工作会比较简单。这里不谈 AMD CPU 平台的安装,首先这部分 CPU 的安装目前还不完善,其次因为我没有 AMD 的平台,也没了解过相关操作,不敢乱说。

另外,如果你的电脑不带有核显,只有不支持的 Nvidia 型号的显卡,你就不能安装 macOS 10.13 High Sierra 以上的系统了。

如果你的电脑不支持 UEFI 启动,安装也会比较麻烦,是否支持最简单的验证方法是,直接进入 BIOS 看是否有 UEFI 相关设置。一般来说新电脑都支持了,所以这里也不讨论传统 BIOS + MBR 引导。

1.3. 准备工具

一台拥有64G以上硬盘空间电脑(有两台更保险),大于等于16GB的u盘一个。

1.4. 为什么要装 macOS

  • 流畅度。在苹果的神优化下,macOS 使用起来如丝般顺滑,动画十分流畅,甚至可以秒杀你现在使用的 Windows。
  • Final Cut Pro X. 可能是你使用过最流畅的视频剪辑软件。
  • Logic Pro X. 这个星球上界面最友好,系统级教程最丰富的音乐制作软件。
  • Xcode. 几乎是苹果系开发的唯一选择。开发自家的软件驱动还是自家的工具好。
  • 深色模式支持。可以打开 Windows 的控制面板对比一下。
  • Handoff, Airdrop, iCloud, Sidecar 等神器。
    ……

2. 前期准备

如果你已经下定决心要折腾,那么我们马上开始。请在你的手机/平板/第二台电脑上打开本网页,以方便日后抢救(狗头)。经过多年的经验积累,网上的教程已经很详尽,而这篇文章会将我的安装经验和网上我认为最好的教程相结合,尽量解决问题。

2.1. BIOS 设置

很多人就是这一步没做,导致启动失败。每台电脑的 BIOS 设置项目名称也有可能不一样,有些选项不禁用也没有关系,请善用搜索和翻译软件,多尝试在设置之前先更新 BIOS。具体如何进BIOS系统因电脑而异,请自行搜索。另外,如果你打算顺便重新安装 Windows,建议在完成 BIOS 设置之后再进行安装,会少很多不必要的麻烦。

需要更改以下设置:(参考:Link1-Clover设置Link2-OC设置(推荐看看)Link3-OC设置

Clover:

项目 设置 备注
CSM 关闭 兼容性支持模块
Secure Boot 关闭 安全启动
OS Type Other OS 我的电脑就没有这一项
SATA Mode AHCI 硬盘的模式,如果更改了win可能无法开机,注意资料备份。真挂了可以选择重装win或者用镜像修复系统
CFG Lock 关闭 我的电脑也没有
Intel Virtualization Technology 关闭 也叫IVT,英特尔虚拟化技术
VT-d和VT-x 关闭 虚拟技术
XHCI Hand-off 启用

OpenCore:

项目 设置 备注
Fast Boot 关闭 快速启动。修改后Win可能会无法关机,在 控制面板\所有控制面板项\电源选项\系统设置 关闭勾选“启用快速启动”修复。
VT-d 关闭 虚拟技术。若在之后的Config.plist里修改DisableoMapper为YES也可以不用关闭
CSM 关闭 兼容性支持模块
Intel SGX 关闭 Intel Software Guard Extensions
Intel Platform Trust 关闭
CFG Lock 关闭 MSR 0xE2 write protection,关不了也可以通过打补丁解决,我没折腾这个
VT-x 启用 虚拟技术
Above 4G decoding 启用 大于 4G 地址空间解码
Hyper-Threading 启用 超线程
Execute Disable Bit 启用 执行禁止位
EHCI/XHCI Hand-off 启用 接手 EHCI/XHCI 控制
OS type: Windows 8.1/10 UEFI Mode 启用 操作系统类型: Windows 8.1/10
SATA Mode AHCI 应该是最快速的硬盘模式(更改之后需要一些方法来恢复Windows:教程

以上很多选项没有也不要紧!之后直接U盘启动来验证。

如果你已经安装了 Windows 系统,不打算重装,修改完之后请务必启动 Windows 系统,看看还能否正常启动,顾此失彼就不好了。

2.2. 扩大EFI分区

苹果系统的安装需要EFI分区大于200M,而 Windows 默认的大小是不足的,需要扩大一下EFI分区。

在此感谢 @R.A.L 帮忙试错

分为两种情况:

2.2.1. 已经安装了Windows

  1. 使用U盘制作PE系统(这里推荐微PE)。
  2. U盘启动后(按键图),备份系统EFI分区内的文件。
  3. 打开PE系统上的DiskGenius,适当缩小或删除 MSR 分区,扩大 ESP 分区至300M(我直接给了512M)。
  4. 保存更改,重启。

2.2.2. 还没安装Windows

  1. 使用U盘制作 Windows 安装镜像(MSDN)。

  2. 在分区界面直接按 Shift+F10,弹出命令提示符窗口。

  3. 输入 diskpart,回车。

  4. 输入 list disk,会列出你的磁盘状态。

  5. select disk 1,最后这个数字是你系统盘的编号,千万不要选错了。我这里是500G的固态硬盘,磁盘 1。

  1. 输入 clean 命令删除这个磁盘上所有的分区,注意这会清除这块硬盘上的所有数据!
  2. 输入 convert gpt 命令将磁盘转换为GPT分区表
  3. 输入 create partition efi size=300 命令创建EFI分区,最后的数字是EFI分区的大小,必须大于200,我直接给了512M。
  4. 关闭命令行窗口,点击选中磁盘的“未分配的空间”,然后点击新建,记住给出的数字,不要点击确定。
  5. 再次 Shift + F10,重复上面的3-5步:diskpart,list disk,select disk 1(注意不要选错 了)。
  6. 输入 create partition primary size=xxx 命令创建主分区,等于号后面改成刚才点新建给出的数值,就是你的系统盘剩下的空间大小。
  7. 关闭命令行窗口。
  8. 选中主分区,点下一步继续完成安装。

2.3. 镜像制作

2.3.1. 镜像下载

成功回到 Windows 后,开始折腾黑苹果了。

这里推荐下载我使用的远景论坛大佬LenLen’s DMG macOS 10.15.4 镜像

1
2
3
4
文件校验值如下:
CRC32: BA0E5D67
MD5: 8291B89DBC64C7D1307F09A751FB03E7
SHA-1: ECF3AAC559339BFDF45A7B70792B67756F29EBB9

2.3.2. 镜像刻录

  1. 下载Etcher
  2. 使用该软件打开镜像,选择你的U盘,点Flash
  3. 搞定,就这么简单。

完成这步之后,你就拥有了一个装有黑苹果系统的U盘正常的Windows系统,我们先不着急启动U盘安装,先补充点基础知识。


3. Clover/OpenCore 介绍

Clover和OpenCore是黑苹果的两个主要的引导工具,你可以在你刻录好的U盘里看到它们的目录。

一般我们只需要其中的一个就好,所以我建议你在折腾之前先选择好要使用Clover还是OpenCore,避免重复造轮子。下面简单介绍一下两种引导工具。

3.1. OpenCore 介绍

参考黑果小兵的文章,详看黑果小兵的部落阁 - 精解 OpenCore:https://blog.daliansky.net/OpenCore-BootLoader.html

OpenCore(简称OC)是一个新出现的引导工具。现由@Acidanthera进行维护,ta也是 Lilu,AppleALC 等黑苹果关键驱动的作者。 OpenCore 的诞生,目的是创造一个更加严谨的模组化的轻量引导系统,相关功能经过一段时间的打磨,已经足够稳定。

OpenCore 的优点,简单概括起来就是:

  • 类原生化。OpenCore 默认不带有任何界面,仅有的 GUI 也只供 debug 使用,设计的初衷就是实现像白苹果一样开机直接显示苹果 Logo,简单直接。支持原生开机快捷键,支持设置系统自带的启动硬盘选项等功能,将黑苹果“白苹果化”逐渐做到极致。
  • 安全。OpenCore 支持对引导文件进行加密,对文件保险箱(FileVault) 有更强大的支持,并且现已支持 UEFI 安全启动(貌似还不稳定)
  • 系统支持。从 2019 年 9 月以后,Acidanthera 开发的内核驱动 (Lilu,AppleALC 等等)「不再会」 在 Clover 上做兼容性测试。而且大量 Acidanthera 维护的独立UEFI驱动被合并入 OpenCore, 未来的开发直接与 OpenCore 绑定,且不再支持 Clover

3.2. Clover 介绍

Clover 也是一个引导工具,官网:https://sourceforge.net/projects/cloverefiboot/

国内的权威我认远景版主 Len 大神的编译,地址:http://bbs.pcbeta.com/forum.php?mod=viewthread&tid=1740837

Clover的优点如下:

  • 丰富的支持。Clover 诞生已有一定年份了,我们电脑里会出现的问题,在别人的电脑里基本上也出现过,只要仔细爬贴,一般不难解决。
  • 容易配置。还是那句话,Clover 已经诞生了很长时间,而其本身和相应的软件也非常完善。部分 Clover 一键实现的功能,OpenCore 要手动加参数,手动定制完成。而且相较于 OpenCore 每次大更新就要重新手动设置 Config,Clover 的配置显然容易一些。
  • 帮助完善。在 Clover 界面下,只要按 F4 就能导出 DSDT。安装了 AudioDxe-64.efi 之后,按 F8 就能导出声卡 Codec 文件,对我们完善自己的 EFI 有很大作用,这是 OpenCore 暂时不具备的功能。

这么说吧,Clover 代表着传统、稳定,而 OpenCore 代表着未来,如果真的要长期折腾黑苹果,迟早都要换到 OpenCore 来。所以我推荐直接折腾 OpenCore


4. 修改镜像

一般来说插入U盘就能看到EFI分区了,如果看不到可以直接系统自带搜索”创建并格式化分区”,使用 Windows 的磁盘管理给分区分配一个盘符。

如果分配盘符的选项为灰色,那么你需要使用一些命令来分配。

1
2
3
4
5
list disk
sel disk ?(你efi所在的硬盘的数值)
list part
sel part ?(你efi所在的分区的数值)
assign letter=?(分配efi分区盘符为?,需要分配磁盘暂未使用的字母,如F盘,H盘等)

分配完成后若无法在文件管理器打开 EFI 分区,可以使用管理员权限打开“记事本”,点击打开按钮,使用弹出来的文件选择框进行 Ctrl + C,Ctrl + V 等文件操作。

EFI分区里会有几个目录,其中两个会是 /Clover 和 /OC,这两个就是上面谈到的两个引导工具的目录,

刻录好的U盘的EFI目录里自带很多Config.plist,这是Clover/OpenCore的配置文件,使用一个配置好的Config才能成功安装运行黑苹果。

  • 你可以选择根据文件名的说明挑选适合你机器的 Config,将目录下的其他的 Config.plist 全部删除,注意备份

  • 修改好 Config.plist 之后你可以直接尝试重启,使用U盘启动,EFI 目录里的 kexts(MacOS系统的驱动文件)等一般不用动,如果这个 kext 不适合你,系统不会启动它的。

这时有可能会出现报错,卡死等等各种问题,先不要灰心和紧张,下面给你提供一个捷径。

4.1. 寻找 EFI

黑苹果这个圈子里各路大神频出,为了给想体验黑苹果的人一个方向,减少大家重复造轮子,节约大家的时间,很多良心玩家提供了他们机型的 EFI 文件。一般只要机型一样,配置略有不同都没有关系,这些 EFI 可以很好地让我们成功安装。

@我意@黑果小兵 大佬整理了黑苹果长期维护机型的列表

在此应该感谢各位大神的无私奉献。你也可以在上面找到我的OC项目←_←

另外,列表上的机型EFI不代表就是最好的,请善用搜索,多在远景论坛和 GitHub 找找,最适合自己的机器才最重要。

假如你幸运地在上面找到了你的机型,请先看看作者有没有发布 Release 提供下载,没有的话就直接点击Clone or download 按钮下载。

下载完解压缩,将你U盘里原有的 /OC 和 /Clover 目录删除(注意备份!),将解压出的 /OC 或 /Clover 目录复制到你U盘的 EFI 文件夹下,即可结束修改镜像和构建 EFI 步骤,跳到开始安装


5. 构建自己的 EFI

这一步至关重要,为了方便查阅,把原本是 4.2 的内容直接开了新的第5章。

在 4.1 的时候找到了自己机型 EFI 的,可以直接跳过本章,但也建议你看看。

这里主要讲的是 OpenCore 的构建,对于 Clover 的构建,我不详细讲,提供大佬的教程给各位参考。

5.1. OpenCore 的下载

  • OpenCore 版本的选择

    • OpenCorePkg 官方版本,稳定,更新较慢。直接下载最新 release 的 debug 版本(推荐)
    • OpenCore-Factory 每8小时自动从官方的源码库编译的最新版本,版本更新迅速,可供尝鲜。
  • ProperTree 直接点击 Clone or download 即可下载。

    这是基于 Python 的 Plist 编辑器,所以你还要下载安装 Python。安装时勾选 Add Python 3.8 to PATH,直接 Install now 即可,最后一步点击一下小盾牌按钮,完成。使用 ProperTree 双击文件夹内的 .bat 文件即可运行。其他工具暂时一律不推荐

5.2. OpenCore 的结构

如果你下载的是我上面给出的两个版本的 OpenCore,会得到3个文件夹,但这些解压出来文件夹并不是你EFI的文件结构。

一个正确的 OpenCore + Windows EFI 目录结构应该如下:

  • EFI
    • Boot
      • BOOTx64.efi
    • OC
      • ACPI
      • Drivers
      • Kexts
      • Tools
      • OpenCore.efi
    • Microsoft

使用图片展示应该会更加清晰:

请先在 Windows 桌面中新建好 /OC 目录和其二级目录 /ACPI, /Drivers, /Kexts, /Tools。

你刻录的U盘的 EFI 目录或许不含 /Microsoft 文件夹,因为那是系统自动生成的,在你的电脑 EFI 文件夹里,不要移动和更改。

部分朋友制作的 OpenCore 目录可能还会包含一个 /Resources 文件夹,那是放主题文件的。我们的目标是尽量白苹果化,不显示引导的画面,所以我们不用新建这个目录。

5.3. 必备文件

相信你已经下载好了 OpenCorePkg 的 DEBUG 版,请先解压文件,同时保留 .zip 源文件以供备份。

  1. OpenCore.efi:首先我们先进入解压出来的 EFI → OC 目录。将 OpenCore.efi 复制到你准备好的空白 /OC 目录下。

  2. /Drivers

    • 进入解压出来的 EFI → OC → Drivers 目录,将 OpenRuntime.efi 复制到你的空白 /OC/Drivers 目录下。

    • HfsPlus.efi,注意不要与 VboxHfs.efi 混用

    至于为什么是上面这几个文件,请一定要阅读 黑果小兵的部落阁 - 精解OpenCore 中的 3.2. 创建 USB 启动盘 - 基础文件结构,每台电脑需要的文件可能不同。但是文章内容已经很久没更新了,仅看说明即可,注意不要采用大佬上面的文件目录。

  3. /Kexts:接下来我们需要几个kexts,这是苹果系统的驱动文件。我们使用几个必备的驱动才能成功进入安装。全部放入 /OC/Kexts 文件夹内,只需 .kext 文件即可(Windows下会显示成文件夹)。

    • Lilu.kext - 下面几个 Acidanthera 的驱动都要依赖这个。
    • VirtualSMC.kext - 传感器驱动依赖。除了 kext 还要将压缩包里的 /Tools 内容复制到你的 /OC/Tools 文件夹内。
    • WhateverGreen.kext - 显卡驱动。
    • SMCBatteryManager.kext - 笔记本电源管理。在你下载的 VirtualSMC.kext RELEASE 压缩文件里面。台式机不需要。
    • AppleALC.kext - 声卡驱动。
    • USBInjectAll.kext - USB驱动。
    • NVMeFix.kext - 官方推荐的 NVMe 补丁,NVMe 固态硬盘的用户使用即可。
    • NoTouchID.kext - 解决电脑没有 Touch ID 导致的卡顿。
    • RealtekRTL8111.kext - 这只是我这一型号的网卡驱动,请在 Windows 查明自己的网卡型号再进行搜索。台式机自带主板一般使用的是这个:IntelMausi.kext。有线网卡驱动黑果小兵大佬写得很详细,请查阅
    • VoodooI2C.kext - I2C 触摸板驱动,笔记本专用。
    • VoodooPS2Controller.kext PS2 键盘,触控板驱动,与上者结合一般就能驱动所有触控板和键盘了。
  4. config.plist:打开你下载的OpenCorePkg,进入 /Docs 文件夹,复制 SampleFull.plist 文件到你的 /OC 文件夹内,将其重命名为 “config.plist”。

经过 章节5 的一顿操作,你新建的 /OC 文件夹应该包含以下内容:


6. Config.plist

这一章讲述 config.plist 的构建。

OpenCore 的 config 出了名的复杂,幸好有 Xjn 大佬的 文章,我们才能清晰地完成所有操作。

因为 Xjn 大佬已经写得非常详细了,我不在此班门弄斧,接下来我会跳过很多内容,请直接到大佬的 文章 下查看设置。也可以直接跳过第6章,看大佬的。

请使用 ProperTree 来打开你的 /OC 目录下的 config.plist。(不要手痒关闭命令行界面)

开始最好玩的步骤。

6.1. 详细步骤

请看 xjn 大神的文章:https://blog.xjn819.com/?p=543

务必每一项都确认清楚。我这里仅作补充。

每台电脑的情况不同,请勿照搬照抄。

大神的教程主要适用于台式机,使用笔记本我们还需要更改一些东西。

6.2. 更名

部分机器需要更改一些 DSDT 项目才能正常进入系统。看完大神的帖子之后,若无法启动,请尝试以下修改。以下改名,能省则省

  • EC 改名:对于一些笔记本机型,我们需要通过更改 EC 控制器的名称才能进入 macOS 10.15 系统。修改如下:

  • Dell 笔记本必须同时使用 OSID to XSID_OSI to XOSI 更名,在 Config.plist 里 ACPI - Path 项中添加(注意顺序):

  • 部分华擎、华硕、微星主板需要使用 RTC 更名,修改如下:

6.3. 驱动填写顺序

6.3.1. ACPI 注入顺序

在 ACPI - Add 中注入 SSDT 文件,我们无需注意顺序。

6.3.2. Kernel 注入顺序

在 Kernel - Add 中,添加 Kext 驱动文件需要按照一定顺序:

Lilu.kextVirtualSMC.kextWhateverGreen.kextSMCBatteryManager.kextSMCLightSensor.kextSMCProcessor.kextSMCSuperIO.kextAppleALC.kext其他 Kexts

具体更加详细的驱动加载顺序,请阅读 黑果小兵 总结的 OC-little / 常见驱动加载顺序

6.3.3. Drivers 加载顺序

在 UEFI - Drivers 中,填入 Drivers 文件夹里的 .efi 文件需要遵循一定顺序:

  1. MemoryAllocation.efi
  2. OpenRuntime.efi
  3. HFSPlus.efi
  4. OpenUsbKbDxe.efi
  5. OpenCanopy.efi

6.4. 机型修改

根据大神的文章,在 config.plist 中的 PlatformInfo 里,打开 Automatic 就可完成机型修改。但部分机器,如 Dell 笔记本,就必须关闭 Automatic ,自行填入 DataHub Generic PlatformNVRAM SMBIOS,才能正常识别机型。

我们可以先启用 Automatic 进入 macOS 后,借用 Opencore Configurator 生成这部分信息,填入 OC 的 config.plist 中。


7. 开始安装

完成了上面的所有步骤后,我们就可以开始安装步骤了。

7.1. 创建分区

首先在你的 Windows 上,打开磁盘管理

对着你要安装的硬盘 右键 - 压缩卷,输入你打算分配给 macOS 的空间大小,一般为128G以上最佳。

接着右键点击分配出来的 “未分配” 空间,新建简单卷,在格式化这一步选择不要格式化这个卷

点击下一步,完成操作。

7.2. 安装

首先重新插拔一下你的 USB 安装盘,有核显的话先拔掉独显的输出,将核显输出接口接到显示器上。

开机,按 F12(按键图)选择开机选项,选中U盘启动。进入 OC 界面后选择带有 Install 字样的一项,回车进入安装。

若进入 OC 没有选择界面,请在 config.plist 中更改 ShowPickerTrue,并设置一定时长的 Timeout

顺利的话,等待代码跑完,你就能看到 macOS 的安装界面了。

首先选择语言,简体中文,点击继续

在安装界面选择磁盘工具继续

进入磁盘工具界面后,点击左上角的显示所有设备

选择你刚刚在 Windows 中创建好的分区,不要误选,我这里是虚拟机的名称,仅作演示。

点击抹掉(务必再三确认选对了硬盘和分区),名称自选,格式选择 APFS,方案选择GUID分区图,点击抹掉

完成后在左上角选择磁盘工具 - 退出磁盘工具

选择安装 macOS继续

选择继续

同意协议。

选择你刚刚抹掉的磁盘分区,点击安装

等待读条。完成后系统会自动重启,请再次选择进入 OpenCore 引导,并进入带有 macOS Install 的选项继续安装。

系统可能会自动重启多次,务必选择带有 macOS Install 的选项。完成安装后,会出现 Boot macOS form xxx (你的硬盘名字)选项,选择进入。

进入 Boot macOS form xxx 之后,选择地区中国大陆

可以设置输入法,完成后继续

选择网络连接方式,我的电脑不接入互联网。或选择本地网络,并在之后的步骤中跳过登录 Apple ID。

了解 Apple 的数据与隐私策略后,点击继续

选择不传输任何信息继续

阅读并同意“macOS 软件许可协议”。

创建本地电脑账户继续

快捷设置界面,继续

取消勾选“与 App 开发者共享崩溃与使用数据”,继续

屏幕使用时间选择稍后设置。Siri 设置选择继续(忘记截图了)。

选择外观,喜欢哪个选哪个,继续

正在设置您的 Mac…噢不,是 Hackintosh Mac 啦!

静等完成之后,进入桌面!OHHHHHHHHH!


8. 出发前的准备

在开始折腾之前,我们先要完成一些设置。以下部分内容借鉴黑果小兵的部落阁

8.1. 允许任何来源的应用

打开终端,输入:

1
sudo spctl --master-disable

回车,需要输入你刚才设置的密码。

8.2. 重建缓存

同样是终端,输入:

1
sudo kextcache -i /

8.3. 抛弃U盘启动

打开终端,输入:

1
diskutil list

出现磁盘分区表。

再输入:

1
sudo diskutil mount disk0s1

挂载系统盘 EFI 分区。记得将 disk0s1 改成你系统磁盘的 EFI 地址。系统已经帮你识别出来了。

以同样的方法挂载U盘的 EFI 分区,我这里没有插入U盘,地址仅作演示:

1
sudo diskutil mount disk0s1

挂载完成之后,输入以下命令打开 Finder(注意空格后面有个小点):

1
open .

U盘的 EFI 分区里的 /OC 或 /Clover 复制到你的系统盘 EFI 分区内。

不要乱动 /Microsoft 和 /BOOT 文件夹,否则 Windows 可能无法被引导。

Windows 系统内,你只需使用系统自带的磁盘管理,给 EFI 分区分配一个盘符,即可读写 EFI 分区。如果分配盘符的选项为灰色,那么你需要使用一些命令来分配。

1
2
3
4
5
list disk
sel disk ?(你efi所在的硬盘的数值)
list part
sel part ?(你efi所在的分区的数值)
assign letter=?(分配efi分区盘符为?,需要分配磁盘暂未使用的字母,如F盘,H盘等)

接下来,你需要在 BIOS 里添加系统盘的 OpenCore.efi 为引导项,

或重启到 Windows,使用 BOOTICE 软件添加 UEFI 引导序列(UEFI - 修改启动序列 - 添加)。

恭喜,你已完成 macOS 的安装工作。接下来就是完善步骤了。


9. 完善

9.1. 机型修改

启动 macOS 后,下载打开 OpenCore Configurator,不要加载自己的 config.plist(可以新建一个)。

选择 Platformlnfo-机型平台设置,点击下方的小按钮,选择机型。可在黑果小兵的文章中查询。

选择对应自己电脑 CPU 架构的机型,对应自己核显的型号,笔记本就选笔记本的型号,台式机就选台式机的型号。

比如我的电脑是 i5-8300H,属于 Coffee Lake 架构,显卡是 UHD 630,选择 MacBookPro15,1 最合适。

生成了各种数据之后,复制 System Serial Number,点击检查序列号有效性,或者直接到 https://checkcoverage.apple.com/cn/zh/ 输入序列号查询,如果出现红字 “很抱歉,这个序列号无效。请检查您的信息并再试一次。”,这个序列号就代表可以使用。否则重新生成直到无效为止。

9.2. 显卡

拥有一个流畅的系统才能舒适地折腾。由于知识有限,这里只讨论核显的驱动。

9.2.1. 查找 id

首先了解你的 CPU 架构和核显型号,比如我的电脑是 i5-8300H,所以是 Coffee Lake 架构,核显是 UHD 630

了解了 CPU 架构和核显型号之后,我们到黑果小兵的文章中找到自己需要的平台,以我的 UHD 630 为例:

通过 Windows 的设备管理器,我知道了我的显卡 ID 为 3E9BXXXX

我使用的是笔记本,所以需要一个 LVDS 接口给内屏输出。

综合以上,查表发现我能使用的 platform-id 为 3E9B00003E9B00063E9B0009

挑 STOLEN 内存大的来(为了日后可能驱动高分屏),淘汰 3E9B0006。直接选择第一个 3E9B0000


我们还需要一个 device-id,这个最好直接搜索自己型号的类似 config,每个平台的 id 都不同。

或者进入系统之后使用 Hackintool 生成并查看。我的 UHD 630 device-id 为 9B3E0000

9.2.2. 注入 id

接下来,打开 config.plist,找到 DeviceProperties - AddPciRoot(0x0)/Pci(0x2,0x0) 栏。

Sample 里面已经给我们提供了一个子项 AAPL,ig-platform-id ,属性为 Data。

我们修改 AAPL,ig-platform-id 的值为上面选出的 platform-id,但两两对调。

比如我上面选出的 3E9B0000,首先将这个数值两两分组,3E 9B 00 00,然后这4个组从后往前排列,

即得出 AAPL,ig-platform-id 的值为 00009B3E

device-id 则直接使用,手动添加一个子项 device-id,属性为 Data,数值无需调转。

通过以上的操作,我们修改为:

笔记本用户到这一步基本上已经可以开机启动了,但我们还需要注入 framebuffer 以达到更完美的表现。

9.2.3. 注入 framebuffer

对于大部分用户,可以进入 macOS 系统后再使用 Hackintool 方便地进行注入:请查阅 黑果小兵的教程

对于 360,370,390 系主板的 Coffee Lake 台式机用户,和一些新主板用户,如果主板上没有 DP 接口,则需要加入 framebuffer 缓冲帧修补才能打开 HDMI 和 DVI 输出。

但如果你恰巧没有 DP 接口,网上又没有适合你主板的 EFI 文件,那么我们则需要先随便填一个 AAPL,ig-platform-id ,比如 01234567 ,且将 device-id 删除,让系统不能识别显卡型号,我们就可以插上 HDMI/DVI 接口进行安装了。

安装流程结束后,我们可以再使用 Hackintool 进行 framebuffer 注入。

9.3. 声卡

可以先启动 macOS 再折腾。

首先使用 Hackintool 查找我们声卡的地址。一般叫做 HDEF 或 HDAS。记录我们声卡的地址,比如我的是 PciRoot(0x0)/Pci(0x1f,0x3)

替换 config.plist 原来给出的第一项 PciRoot(0x0)/Pci(0x1b,0x3) 为我的声卡正确地址。

config.plist 里面自带一个子项 layout-id,我们需要正确的 layout-id 才能驱动声卡。这里需要查询 黑果小兵的列表,比如我的声卡是 ALC236,可以使用的 layout-id 为3, 11, 13, 15, 16, 54, 99。我们需要一个个试过去。

填入 config 中我们需要先吧10进制的 id 转换成16进制的,以我的声卡正确 id 15为例,转换得16进制值为 f,实际上为 0f

我们需要在后面添加6个0,补全所需的值,我的 layout-id 为 0F000000。填入声卡的子项中。

保存,完成声卡的驱动。

9.4. 网卡

有线网卡只要把对应型号的驱动放入 /OC/Kexts 并在 config.plist 加载即可。可查看 黑果小兵的帖子 寻找驱动。

无线网卡目前还是最好用博通的卡,如DW1560,DW1820A 等,请自行搜索相关驱动教程。这些卡
已经被炒得非常贵了。

蓝牙驱动一般是跟无线网卡的驱动一并给出,Intel 无线卡的蓝牙驱动使用zxystdqcwap2012)大神制作的IntelBluetoothFirmware,放入 /OC/Kexts 文件夹并在 config 加载即可。若想精简驱动,可以仿照下面的编译驱动步骤,先找到自己网卡的对应驱动,删除 /fw 文件夹内的其他驱动(move to trash),然后编译即可。

这里主要提供 Intel 无线网卡的驱动方法,多亏了zxystdqcwap2012)大神的努力,目前已经实现了 Intel 无线网卡的驱动,并且网卡下载速度已经非常快了。

  1. 在 App Store 下载 Xcode。
  2. Clone itlwm 的 master 分支,解压缩。
  3. 用 Xcode 打开 itlwm.xcodeproj。
  4. 打开之后可能会看到一个黄色的“⚠️1”在界面的上面,点击它,”Update to recommded settings” - “Perform Changes”。

  1. 点击左侧的文件夹按钮,找到 “mac80211.cpp” 点击进入。

  2. 使用 Command + F 找到 “zxyssdt112233”。

  3. 把 ssid_name = “” 的 ssdt 改成你的Wi-Fi名

    把 ssid_pwd = “” 的 zxyssdt112233 改成你的Wi-Fi密码

    Command + S 保存

  4. 点击上面 “My Mac” 左边的小方块,选 “itlwm”。

  5. 点击播放按钮 Build。

  1. Build successful之后在左边找到 Products 文件夹,右键 “itlwm.kext”,”Show in Finder”。
  2. 复制 “itlwm.kext” 到一个你熟悉的目录。
  3. 关机!然后再开机选择OC启动,切记不要从Windows重启,否则无法使用。
  4. 先拔掉网线!(我也不知道为什么一定要这样才行)
  5. 用终端运行以下命令:(把下面的 “itlwm.kext” 改成文件的详细地址,如 “/Users/tony/Downloads/itlwm.kext”)
1
2
3
cp -R itlwm.kext /tmp
sudo chown -R root:wheel /tmp/*.kext
sudo kextutil /tmp/*.kext
  1. 开始享受你的Wi-Fi吧!

驱动作者和版权:
https://github.com/zxystd/itlwm

9.5. CPU 变频

你可能需要一个畅通无阻的网络环境。

具体教程:https://github.com/stevezhengshiqi/one-key-cpufriend/blob/master/README_CN.md

作者:stevezhengshiqi

9.6. HiDPI

使用低分辨率屏幕,我们需要开启 HiDPI 以获得更好的观感。

你可能需要一个畅通无阻的网络环境。

具体教程:https://github.com/xzhih/one-key-hidpi/blob/master/README-zh.md

作者:ZeRo° Xu

9.7. ACPI 补丁

为了进一步完善系统,我们需要给机器添加 ACPI 补丁。

黑果小兵和宪武两位大神提供了详细的 OpenCore ACPI 补丁教程,首先我们需要通过 Clover 提取机器原始的 DSDT。

我们需要下载一个 Clover 引导,这里给出远景大佬的地址,下载 CLOVERX64.efi.zip 即可。

接下来我们在 Windows 下给 EFI 分区分配一个盘符,让我们可以读写 EFI 分区。

在 EFI 分区里新建一个名为 Clover 的文件夹,把刚才下载的 CLOVERX64.efi.zip 解压,放到 /Clover 文件夹里。

最后,我们手动在 /Clover 文件夹里新建一个名为 ACPI 的文件夹。成果如下:

搞定之后,我们在 BIOS 中添加 Clover 为新的启动项,开机 F12 选择 Clover 启动,进入 Clover 的界面。

按键盘上的 F4,即可导出原始的 DSDT 文件。为了保险起见,请再按一下 FN + F4(如果有 FN 键的话)。

我们重启进入系统,可以发现 /EFI/Clover/ACPI 下,已经生成了 /origin 文件夹。复制整个 /origin 文件夹到一个安全的,且 macOS 能够读取的地方。

重启进入 macOS,接下来的操作我们只需要 /origin 文件夹里的 DSDT.aml 文件。


下载 MaciASL,运行。打开我们刚才得到的 DSDT.aml。

打开黑果小兵的教程,Clone 整个项目到本地。

接下来就是一步一步跟着教程走,有需要的 .dsl 文件就使用 MaciASL 打开,另存为 ACPI Machine Language Binary 文件,统一保存到一个目录。

比如根据教程的描述,我需要仿冒 EC。我就打开大神已经帮我们写好的 SSDT-EC.dsl 文件,直接另存为 SSDT-EC.aml,最后放到我的 /EFI/OC/ACPI 文件夹下,并在 config.plist 中 ACPI - Add 添加子项加载。

如图所示,我一共加载了16个 SSDT 补丁才完成,这项操作很需要耐心。

另外值得注意的是,大神制作的 SSDT 补丁是专为 OpenCore 引导制作的,添加了自动识别 macOS 系统的代码,非常完美。因此其他 SSDT 补丁教程我一律不推荐。在此感谢大神的分享。

版权归 黑果小兵 和 宪武 两位大神所有。

9.8. USB 定制

通过定制 USB,可以解决睡眠睡不死,接口速度不正常等问题。

黑果小兵 大佬制作了一个很详细的视频,按照他的步骤来即可:

https://www.bilibili.com/video/BV1gt411s7aY


至此,基本上已经完成了黑苹果的所有完善操作,你可以直接登录自己的 Apple ID,并使用 iCloud、App Store 等服务了。


10. 结尾

经过了20多天,总算是把这篇接近1万字的教程写完了。期间查阅了无数资料,不断在自己的电脑中验证步骤的可行性,不知不觉也丰富了自己对黑苹果这门技术的了解。

肯定会有人问,你这么做的意义何在,去辛辛苦苦折腾黑苹果的意义又何在。我这里想引用我非常喜欢的一位主播,UP主 @超级小桀 的一句话:

有些人过了17岁就忘了16岁的自己,不管你们是什么样的年纪,都希望你们不要忘记这段时间,就像我们会一直年轻,一直探寻这个世界的秘密。

如果你看完了我这篇文章,

瞧,你又发现了这个世界的另一个秘密。我想这就是意义。

11. 版权鸣谢