跳转至

准备 Kexts

基本概念

Kext 的英文全称叫做 Kernel Extension,即内核扩展,我们可以通俗的理解为这个就是 macOS 的驱动,使用方法只需要将这些 kext 文件放入到 EFI/OC/kexts 文件夹下面,然后编辑 OC 配置文件加载这些 kexts 并调节好顺序即可。

下载 Kexts

下面国光来简单列举一些下载 Kexts 的方法:

  1. 使用 OpenCore Configurator 这类第三方 OC 编辑器软件下载
  2. 搜索引擎搜索 Kexts 的Github 下面地址,手动去 Releases 里面寻找编译好的 kext 文件
  3. 使用 OC 官方的下载页面来下载常见的 kexts:https://dortania.github.io/builds/

下载不了的话是因为 Github 被国内墙掉的缘故,下面是几个解决方法思路

  1. 使用电信网络访问下载
  2. 挂代理去下载
  3. 使用 Github 镜像站点下载
  4. 使用别人已配置好的 EFI 文件夹里面的文件,直接拿来使用
  5. 办法总比困难多,不要遇到一点点小挫折就放弃

Kexts 的分类

必备驱动

必备的 kexts 如果缺失的话,你的黑苹果系统就无法启动了

  • VirtualSMC.kext
    • 模拟白苹果的 SMC 芯片
    • 替代古老的 FakeSMC
    • 只支持 OS X 10.6+ 版本的系统
  • Lilu.kext
    • 很多著名 kexts 的依赖,没有 Liu 就无法正常使用 AppleALC、WhateverGreen、VirtualSMC 等
    • 只支持 OS X 10.8+ 版本的系统

VirualSMC 插件

大家下载好 VirtualSMC 编译好的 kexts 的话,会发现里面还躺着其他的 kexts,这些其他的 kexts 就是 VirtualSMC 的插件了,下面来列举说明一下这些插件的作用:

  • SMCBatteryManager.kext
    • 笔记本专用,用于正确读取显示电池容量
  • SMCDellSensors.kext
    • 某些 Dell 机器专用,一般不是 Dell 的机器不需要使用
    • 对支持 SMM(系统管理模式)的 Dell 机器的风扇进行更准确的监视和控制
  • SMCLightSensor.kext
    • 笔记本专用,用于笔记本电脑上的环境光感应器
    • 大多都的笔记本都没有这个感应器,所以就算用了也只是伪感光
  • SMCProcessor.kext
    • 用于监控 CPU 温度,台式机和笔记本都适用
    • 不支持 AMD 的 CPU
  • SMCSuperIO.kext
    • 用于监控风扇的转速,台式机和笔记本都适用
    • 不支持 AMD 的 CPU

显卡驱动

  • WhateverGreen.kext
    • 基本上所有的核显和独显都要使用这个 kext
    • 用于图形修补、DRM 修复、缓冲区修复等
    • 只支持 OS X 10.8+ 版本的系统

AMD 显卡传感器

  • RadeonSensor.kext 和 SMCRadeonGPU.kext
    • 从 Radeon VII 开始,Apple 停止直接报告温度,需要 kexts 介入并实施该功能
    • 对于 Vega 10 及更早版本,其他工具已经可以显示 GPU 温度,而无需额外的 kext
    • 支持从 Radeon HD 7000 系列到 RX 6000 系列的所有 GPU
    • RadeonSensor.kext
      • 读取 GPU 温度所需,需要 Lilu
    • SMCRadeonGPU.kext
      • 可以选择用于将 GPU 温度导出到 VirtualSMC 以供监控工具读取
    • RadeonGadget.app
      • 在状态栏中显示 GPU 温度,只需要加载 RadeonSensor.kext

声卡驱动

  • AppleALC.kext
    • 用于 AppleHDA 修补,支持大多数的板载声卡驱动
    • 文件夹下的 AppleALCU.kext 是 AppleALC 的精简版,仅支持数字音频
    • AMD 的主板和 CPU 可能会遇到一些问题,很少可以驱动麦克风
    • 只支持 OS X 10.8+ 版本的系统
    • 详细的支持原生驱动的声卡列表可参考:黑苹果声卡的驱动情况表以及 layouts id 情况
    • 注入此驱动后只需要在启动项(boot-args)里面添加 alcid=xxxx 这种形式即可
  • VoodooHDA.kext
    • 比较古老且经典的声卡驱动,也叫万能声卡驱动
    • 如果 AppeALC.kext 无法驱动话可以考虑这个
    • 但是使用体验完美度肯定不如原生的 AppleALC.kext 的
    • 只支持 OS X 10.6+ 版本的系统

USB 驱动

到 macOS 11 后面的版本的时候,传统的 USB 驱动定制的方法已经不再好用了,目前最完美的方法就是 Windows 下使用 USBToolBox 来定制 USB,最后再使用 Hackintool 简单微调修正一下。

  • USBToolBox.kext 与 UTBMap.kext
    • USBToolBox.kext
      • 官方下载地址为:https://github.com/USBToolBox/kext/releases
    • UTBMap.kext
    • 建议安装系统前先定制一下 USB,避免后面遇到不必要的麻烦
  • XHCI-unsupported.kext
    • 用于 USB 定制完成后但是 USB 3.X 接口依然无法正常工作
    • 常用于 400系列及其以上的主板
    • 主板不是 macOS 原生支持的 USB 驱动的话需要这个

下面是老的教程,不删掉,留着纪念参考。

  • USBInjectAll.kext
  • RehabMan 康复者之前的 USB 驱动
  • 18 年 11 月发布的 0.7.1 是最后应该版本,后面再没有更新过
  • 用于在 ACPI 中没有定义 USB 端口的系统上注入 Intel USB 控制器
  • Skylake+ 的桌面CPU 不需要这个
  • AsRock 华擎主板的话可能还是需要这个
  • Coffee Lake 貌似也还是需要这个
  • Skykak 之前的 CPU 理论上也是需要
  • 支持 OS X 10.11+ 版本的系统

写到这里的时候感慨万千,RehabMan 可以说是黑苹果届的元老了,他也是 Tonymacx86 的一位版主,很多著名的黑苹果 kexts 都出自于他的手里,但是因为种种原因 18 年之后就再也没有活跃了,销声匿迹仿佛这个人没有来过一样,但是江湖上依然还有他的传说:Can we all thank RehabMan

我真的是太佩服这种人了,十年如一日的在论坛里面解答问题,定期更新这开源的 kexts,甚至有些 Apple 苹果开发者都来像他学习。黑苹果比较讽刺的是,伸手党没有感恩之心的人太多了,也许他安装系统遇到困难的时候就去你的 Github 下面提交 issue 催着你更新,就好像你开源这个驱动就要为他负责到底一样;安装成功之后呢,提问的人也就消失了,甚至连句谢谢都没有说,更不会留下任何有价值的文档信息之类的。这样就会导致很多大佬们每天千篇一律的回答各种重复的毫无技术含量的问题,如果是国光我的话,我肯定坚持不了几天的,但是 RehabMan 坚持了 10 余年,这真的是太令人震撼了。RehabMan 在 TonymacX86 的最后一个帖子说道:“我还在,但忙于其他(现实生活)的事情。将无法回答这里的问题。人是需要学习阅读的。” 但愿,希望真的如此,而不是被这些没有感恩之心的人伤透了心。

  • USBInjectAll.kext
  • 国内黑苹果小兵大佬维护的版本
  • 在 RehabMan 基础性更新完善的版本
  • 支持后面新的 400、500 系列主板的支持

说到黑苹果小兵,国光我也很佩服这样的人,初次接触认识他的时候,我还以为是一个 30 多岁的中年人,结果后面才知道他的儿子已经上大学了,而且他也快到了退休的年龄。

黑果小兵也像 RehabMan 一样,写了很多黑苹果教程文章,也开源了很多机型的驱动,而且常年来一直坚持提供黑苹果懒人镜像的下载包,最关键的是都快退休的年龄了,还坚持做黑苹果这个比较“时髦”的技术,真的厉害了,不知道国光我老的时候,还可以坚持做这些吗?哈哈~ 如果黑苹果技术还存在的话。

有线网卡驱动

  • AtherosE2200Ethernet.kext
    • Atheros 高通和 Killer 杀手 网卡 需要
    • 注意:Atheros Killer E2500 型号实际上是基于 Realtek 的,所以请使用 RealtekRTL8111 驱动
    • 支持 OS X 10.8+ 版本的系统
  • IntelMausi.kext
    • 大多数 Intel 因特尔的网卡驱动
    • 基于 I211 的芯片组的网卡需要使用 SmallTreeIntel82576 kext
    • 官方支持 Intel 的 82578、82579、I217、I218 和 I219 网卡
    • 详细支持驱动的有线网卡型号可以参考:https://github.com/acidanthera/IntelMausi
    • 需要 OS X 10.9 或更新版本,10.6-10.8 的老用户可以使用 IntelSnowMausi 替代
  • LucyRTL8125Ethernet.kext
    • Realtek 的 2.5Gb 的网卡驱动
    • 官方这个页面需要注册才可以下载,也可以下载国光我上传蓝奏云的版本
    • 需要 macOS 10.15+ 版本的系统
  • RealtekRTL8111.kext
    • 大多数 Realtek 的千兆网卡驱动
    • 注意:有时最新版本的 kext 可能无法正常工作,这个时候可以尝试使用旧版本。
  • SmallTreeIntel82576.kext
    • I211 有线网卡驱动
    • 大多数配备 intel 有线网卡的 AMD 主板需要
    • 版本支持情况 OS X 10.9-12(v1.0.6)、macOS 10.13-14(v1.2.5)、macOS 10.15+(v1.3.0)

其他不需要 kext 的有线网卡

  • Intel I225-V
    • 某些高端的 Comet Lake 主板会配备这个 I225-V 2.5GBe 有线网卡
    • 这个网卡比较坑爹,不同版本的驱动方式都有变化
    • 如果这个网卡驱动不正常的话,进系统几分钟之后就死机黑屏重
    • 驱动方法参考 常见 QA
  • Intel I350
    • OC 配置文件的设备属性里面添加 PciRoot(0x0)/Pci(0x1,0x1)/Pci(0x0,0x0) 内容如
      • device-id 33150000 类型为 DATA 类型
      • 这个路径不同机型不太一样,实际以 Hackintool 查看的为准
    • 需要 OS X 10.10 或更新版本

一些比较古老的百兆有线网卡驱动

  • AppleIntelE1000e.kext
    • 主要与基于 10/100MBe 的 Intel 有线网卡相关
    • 需要 10.6 或更高版本
  • RealtekRTL8100.kext
    • 支持的网卡型号有 RTL8101E、RTL8102E、RTL8103E、RTL8401E、RTL8105E、RTL8402、RTL8106E、RTL8106EUS、RTL8107E
    • 官方这个页面需要注册才可以下载,也可以下载国光我上传蓝奏云的版本
  • BCM5722D.kext
    • Broadcom 的有线网卡驱动
    • 支持的网卡型号有 BCM5722、BCM5754、BCM5754M、BCM5755、BCM5755M、BCM57788、BCM5787、BCM5787M、BCM5906、BCM5906M
    • 需要 OS X 10.6 或更新版本

无线网卡驱动

Intel 无线网卡系列

国内 zxystd 大佬从 Linux OpenBSD 移植的驱动,非常硬核,完成度很高,接力也都可以正常使用,隔空投送目前只能识别,暂时还无法传输文件,不过已经很厉害了。

  • AirportItlwm.kext
    • Intel 网卡的 WiFi 驱动
    • 支持驱动的 intel 无线网卡型号表:https://docs.oiw.workers.dev/itlwm/Compat.html
    • 只支持 macOS 10.13 以及更高的版本
  • IntelBluetoothFirmware.kext 与 IntelBluetoothFirmware.kext
    • Intel 网卡的蓝牙驱动,与 AirportItlwm.kext 搭配使用
    • 只支持 macOS 10.13 以及更高的版本
    • 如果确定你的网卡型号支持驱动,但是蓝牙无法使用,那么多半是你的 USB 没有定制好
    • macOS 12 后蓝牙驱动的姿势又有小变化,详细可参考:macOS 12 蓝牙

Broadcom 博通免驱系列

免驱网卡型号众多,可以参考 OC 官方的无线网卡购买指南

  • AirportBrcmFixup.kext
    • 非苹果原装无线网卡或者非 Fenvi 奋威的博通网卡的无线网卡驱动
    • 支持 OS X 10.10 以及更高的版本
  • BrcmPatchRAM 系列
    • 所有非 Apple/非 Fenvi 无线网卡的蓝牙驱动
    • BrcmPatchRAM.kext : 10.8-10.10 系统使用
    • BrcmPatchRAM2.kext : 10.11-10.14 系统使用
    • BrcmPatchRAM3.kext : 10.15+的系统使用

博通网卡的几个细节,Big Sur 以及后面的系统由于驱动有点异常,需要手动删除 AirPortBrcm4360_Injector.kext

蓝牙加载需要一定顺序,下面是 10.15+ 系统的蓝牙加载顺序 Kernel -> Add: 1. BrcmBluetoothInjector.kext 2. BrcmFirmwareData.kext 3. BrcmPatchRAM3.kext

macOS 12 后蓝牙驱动的姿势又有小变化,详细可参考:macOS 12 蓝牙

其他驱动

  • VoodooPS2Controller.kext

    • 如果你的台式机安装界面键盘或者鼠标不能使用的话,记得打这个 kext
    • 适用于配备 PS2 键盘、鼠标和触控板的系统
    • MT2 (Magic Trackpad 2) 功能需要 macOS 10.11 或更新版本
  • CpuTscSync.kext

    • 在某些 Intel 的 HEDT 和服务器主板上同步 TSC 需要, 如果没有这个 macOS 可能会非常慢甚至无法启动。
    • 在一些较新的笔记本上可能也需要这个 Kext
    • 不适用于 AMD CPU
    • 需要 OS X 10.8 或更新版本
    • 为具有MSR_IA32_TSC_ADJUST(03Bh) 的CPU 添加了 macOS 12 兼容性
  • NVMeFix.kext
    • 用于修复非 Apple 苹果的 NVMe 上的电源管理和初始化
    • 建议笔记本使用这个 Kexts,有助于减少睡眠耗电
    • 台式机不要这也可以,毕竟很少有人在意台式机的睡眠耗电情况
    • 需要 macOS 10.14 或更高版本
  • HibernationFixup.kext
    • 一个旨在修复休眠兼容性问题的 Lilu 插件
    • 解决黑苹果系统睡眠后无法唤醒、死机、黑屏的问题
  • SATA-unsupported.kext
    • 笔记本电脑 在 macOS 中无法看到 SATA 硬盘驱动器的话,可以考虑使用
  • CtlnaAHCIPort.kext
    • 在 macOS 11.X + 下笔记本电脑 在 macOS 中无法看到 SATA 硬盘驱动器的情况下使用

AMD 常用驱动

  • AMDRyzenCPUPowerManagement.kext
    • AMD 处理器的电源管理驱动
  • SMCAMDProcessor.kext
    • AMD 处理器的传感器监控和 VirtualSMC 插件
  • AppleMCEReporterDisabler.kext

    • 用于关闭 AppleMCERReport
    • AppleMCERReport会导致AMD CPU的内核崩溃
    • 某些双 CPU 的主板可能也有帮助
    • 受影响的 SMBIOS 为:MacPro6,1、MacPro7,1、iMacPro1,1
    • 需要 macOS 10.15 或更高版本
  • XLNCUSBFix.kext

    • AMD FX 系统的 USB 修复,不推荐用于 Ryzen
    • 需要 macOS 10.13 或更高版本
  • VoodooHDA.kext
    • FX 系统的音频和 Ryzen 系统的前面板麦克风和外放的支持
    • 请勿与 AppleALC 混合使用
    • 比较古老且经典的声卡驱动,也叫万能声卡驱动
    • 如果 AppeALC.kext 无法驱动话可以考虑这个
    • 但是使用体验完美度肯定不如原生的 AppleALC.kext 的
    • 只支持 OS X 10.6+ 版本的系统

笔记本常用驱动

输入设备驱动

  • VoodooPS2Controller.kext
    • 适用于配备 PS2 键盘、鼠标和触控板的系统
    • MT2 (Magic Trackpad 2) 功能需要 macOS 10.11 或更新版本
  • RehabMan 的 VoodooPS2Controller.kext
    • 老的系统支持的比较好,新系统建议使用上面的 kext
    • 对于带有 PS2 键盘、鼠标和触控板的旧系统,或者当您不想使用 VoodooInput 时
    • 支持 macOS 10.6+ 支持
  • VoodooRMI.kext 和 VoodooSMBus.kext
    • 对于带有 Synaptics SMBus 设备的触控板驱动
    • 主要用于触控板和轨迹点,ThinkPad 小红点也可以驱动
    • MT2 (Magic Trackpad 2) 功能需要 macOS 10.11 或更新版本
  • VoodooSMBus.kext
    • 对于带有基于 ELAN SMBus 的设备触控板驱动
    • 主要用于触控板和轨迹点
    • 目前支持 macOS 10.14 或更新版本
  • VoodooI2C.kext
    • 用于修复 I2C 设备的触控板驱动
    • 一般是一些更高级的触摸板和或者是触摸屏
    • MT2 (Magic Trackpad 2) 功能需要 macOS 10.11 或更新版本
    • 这个经常 PS2 的 Kexts 使用,需要微调才可以,否则可能会报错,详情可见:Kexts 微调
    • VoodooI2C 的一些插件
      • VoodooI2CHID.kext
        • 微软 HID 驱动,也支持某些型号的触控屏
      • VoodooI2CELAN.kext
        • ELAN 专 用,ELAN1200+ 的版本需要 VoodooI2CHID.kext 代替
      • VoodooI2CSynaptics.kext
        • Synaptics 专用,Synaptics F12 协议需VoodooI2CHID代替
      • VoodooI2CFTE.kext
        • FTE1001 触控板
      • VoodooI2CAtmelMXT.kext
        • Atmel 多点触控协议
      • 使用前先确定你的触控板型号,一般笔记本只需要使用 1 个对应的 kext 即可

其他驱动

黑苹果 Kexts 大全?

由于 Kexts 太多太杂了,这个工作量太大了,我直接贴一些轮子的地址,大家自己去看看就行:

如果你是一个有耐心的人的话,如果整理好 Kexts 完整列表的话,欢迎提交 PR


最后更新: 2022-09-19