# 收集文件
本节是为引导macOS收集杂项文件,我们希望你在开始之前很好地了解你的硬件,并希望在此之前制作一个Hackintosh,因为我们不会在这里深入探讨。
知道我的硬件是否被支持的最好的方法是什么?
请参阅 硬件限制页面 ,以更好地了解macOS启动需要什么,Clover和OpenCore之间的硬件支持非常相似。
有什么方法可以找出我有什么硬件?
参见前一页:查找硬件
# 固件驱动
固件驱动程序是OpenCore在UEFI环境中使用的驱动程序。它们主要是通过扩展OpenCore的补丁功能或在OpenCore选择器(例如HFS驱动器)中向您显示不同类型的驱动器来启动机器。
- 位置说明: 这些文件 必须 放在
EFI/OC/Drivers/
目录下
# 通用
必需的驱动程序
对于大多数系统,你只需要 2个 .efi
的驱动程序启动和运行:
- HfsPlus.efi (opens new window)(必需)
- 需要查看HFS卷(例如:macOS安装程序和恢复分区/映像). 不要混合使用其他HFS驱动
- 对于Sandy Bridge和更老的(以及低端Ivy Bridge(i3和Celerons)),请参阅下面的传统部分
- OpenRuntime.efi (opens new window)(必需)
- 替代 AptioMemoryFix.efi (opens new window), 用作OpenCore的扩展,以帮助修补boot.efi用于NVRAM修复和更好的内存管理。
- 提醒,这是捆绑在我们之前下载的OpenCorePkg中
# 传统用户
除上述外,如果您的硬件不支持UEFI(2011年和更早的时代),那么您将需要以下内容。请密切关注每一个条目,因为你可能不需要全部使用这4个条目:
- OpenUsbKbDxe.efi (opens new window)
- 用于在 行DuetPkg的传统系统,上的OpenCore picker, 不推荐,甚至在UEFI(Ivy Bridge和更新的)上有害) (opens new window)
- HfsPlusLegacy.efi (opens new window)
- HfsPlus的传统变体,用于缺乏RDRAND指令支持的系统。这通常见于Sandy Bridge和更老的(以及低端的Ivy Bridge(i3和Celerons))
- 不要将其与HfsPlus.efi混合使用,根据您的硬件选择其中之一
- OpenPartitionDxe (opens new window)
- 需要在OS X 10.7到10.9上引导恢复
- 此文件与OpenCorePkg捆绑在EFI/OC/Drivers下
- 注意:OpenDuet用户(例如:没有UEFI)将内置此驱动程序,不需要它
- 需要在OS X 10.7到10.9上引导恢复
这些文件将放在EFI的Drivers文件夹中
32位的详细信息
对于那些使用32位cpu的处理器,您也需要获取这些驱动程序
- HfsPlus32 (opens new window)
- 替代HfsPlusLegacy,但用于32位cpu,不要将其与其他HFS.efi驱动程序混合
# Kexts
kext是kernelextension,你可以把它想象成macOS的驱动程序,这些文件将进入你EFI中的Kexts文件夹。
- Windows和Linux注意: kext看起来就像操作系统中的普通文件夹,仔细检查 你正在安装的文件夹是否有可见的.kext扩展名(如果缺少,不要手动添加)。
- 如果任何kext还包含一个
.dSYM
文件,你可以简单地删除它。它们只用于调试目的。
- 如果任何kext还包含一个
- 位置注意: 这些文件 必须 放在
EFI/OC/Kexts/
目录下。
下面列出的大多数kext都可以在build repo (opens new window)中预编译。这里的kext在每次有新的提交时都被编译。
# 必须拥有
必需的kext
如果没有下面的2个,系统就无法启动:
- Lilu (opens new window)(必需)
- 一个为许多进程打补丁的kext,这是AppleALC、WhateverGreen、VirtualSMC和许多其他kext所必需的。没有Lilu,他们就无法工作。
- 请注意,虽然Lilu早在Mac OS X 10.4版本就支持,但许多插件只能在较新的版本上使用。
- VirtualSMC (opens new window)(必需)
- 模拟真实mac上的SMC芯片,没有这个macOS将无法启动
- 要求Mac OS x10.4或更新版本
# VirtualSMC插件
以下插件不需要引导,仅仅添加额外的硬件监控等系统功能。除非另有说明,这些插件都是随VirtualSMC附带的
提示
虽然VirtualSMC支持10.4,但插件可能需要更新的版本。
- SMCProcessor.kext
- 用于监控Intel CPU温度
- 不适用于AMD CPU系统
- 要求Mac OS X 10.7或更新版本
- SMCAMDProcessor (opens new window)
- 用于监控AMD zen系统的CPU温度
- 正在积极开发中,可能不稳定
- 需要 AMDRyzenCPUPowerManagement (参见 AMD CPU 专用的 Kexts)
- 需要macOS 10.13或更新版本
- SMCRadeonGPU (opens new window)
- 用于监控AMD GPU系统上的GPU温度
- 需要来自相同存储库的RadeonSensor
- 需要macOS 11或更新版本
- SMCSuperIO.kext
- 用于监控风扇转速
- 不适用于基于AMD CPU的系统
- 需要Mac OS X 10.6或更新的版本
- SMCLightSensor.kext
- 用于笔记本电脑的环境光传感器
- 如果你没有环境光传感器,请不要使用。 (例如台式电脑), 否则会导致问题
- 需要Mac OS X 10.6或更新的版本
- SMCBatteryManager.kext
- 用于测量笔记本电脑的电池读数
- 不要在台式机上使用
- 需要Mac OS X 10.4或更新的版本
- SMCDellSensors.kext
- 允许对支持系统管理模式(SMM)的戴尔机器的风扇进行更精细的监控和控制
- 如果你没有支持的Dell机器,请不要使用, 主要是Dell笔记本电脑可以从这个kext中受益
- 需要Mac OS X 10.7或更新的版本
# 显示
- WhateverGreen (opens new window)(必需)
- 用于图形补丁、DRM修复、板号检查、帧缓冲区修复等;所有gpu都受益于这个kext。
- 注意SSDT-PNLF.dsl文件只适用于笔记本电脑和AIOs,请参阅开始使用ACPI (opens new window) 以获取更多信息
- 需要Mac OS X 10.6或更新的版本
# 声音
- AppleALC (opens new window)
- 用于AppleHDA补丁,允许支持大多数集成的声音控制器
- AppleALCU.kext 是AppleALC的精简版,只支持数字音频,但你仍然可以使用 AppleALC.kext 在数字音频系统上
- AMD 15h/16h 可能使用AppleALC有问题。而 Ryzen/Threadripper 系统很少支持mic
- 需要OS X 10.4或更新版本
传统声音 Kext
对于那些计划引导10.7或更老版本的用户,可以选择这些kext:
-
- 需要OS X 10.6或更新版本
VoodooHDA-FAT (opens new window)
- 与上述类似,但是支持32位和64位内核,因此非常适合OS X 10.4-5引导和32位的cpu
# 网络适配器
在这里,我们假设您知道系统有什么网卡,提醒您产品规格页面很可能会列出网卡的类型。
- IntelMausi (opens new window)
- 对于大多数Intel网卡,基于I211的芯片组将需要SmallTreeIntel82576 kext
- Intel的82578、82579、I217、I218和I219网卡得到官方支持
- 需要OS X 10.9或更新版本,10.6-10.8旧的操作系统用户可以使用IntelSnowMausi代替
- AppleIGB (opens new window)
- 需要在macOS Monterey及以上版本上运行I211网卡
- 可能在一些网卡上有不稳定的问题,建议留在Big Sur上并使用SmallTree
- 大多数运行Intel网卡的AMD主板都需要
- 需要macOS 12及以上版本
- SmallTreeIntel82576 (opens new window)
- 在macOS版本上运行到Big Sur的I211网卡需要,基于SmallTree kext,但补丁支持I211(在macOS 12 Monterey 或以上不起作用)
- 大多数运行Intel网卡的AMD主板都需要
- 需要OS X 10.9-12(v1.0.6), macOS 10.13-14(v1.2.5), macOS 10.15+(v1.3.0)
- AtherosE2200Ethernet (opens new window)
- 需要Atheros和Killer NICs
- 需要OS X 10.8或更新的版本
- 注意:Atheros Killer E2500模型实际上是基于Realtek的,对于这些系统,请使用RealtekRTL8111 (opens new window) 代替
- RealtekRTL8111 (opens new window)
- 用于Realtek的千兆以太网
- v2.2.0及以下版本需要OS X 10.8及以上,v2.2.2版本需要macOS 10.12及以上,v2.3.0及以上版本需要macOS 10.14及以上
- 注意: 有时最新版本的kext可能无法在让您的以太网正常工作。如果你看到这个问题,请尝试旧版本。
- LucyRTL8125Ethernet (opens new window)
- 用于Realtek的2.5Gb以太网
- 需要macOS 10.15或更新的版本
- 对于英特尔的I225-V网卡,补丁在桌面 Comet Lake DeviceProperties 部分中提到,不需要kext。
- 需要macOS 10.15或更新的版本
- 对于英特尔的I350网卡,补丁在HEDT Sandy and Ivy Bridge-E DeviceProperties 部分中提到,不需要kext。
- 需要OS X 10.10或更新的版本
传统网络适配器的Kexts
无论是传统的macOS安装还是旧的PC硬件。
- AppleIntele1000e (opens new window)
- 主要用于基于10/100MBe的Intel以太网控制器
- 需要10.6或更新的版本
- RealtekRTL8100 (opens new window)
- 主要用于基于10/100MBe的Realtek以太网控制器
- 需要macOS 10.12或更新的v2.0.0+
- BCM5722D (opens new window)
- 主要适用于基于BCM5722的Broadcom以太网控制器
- 需要OS X 10.6或更新的版本
还请记住,某些网卡实际上在macOS中是原生支持的:
原生网络适配器
# Aquantia 系列
# AppleEthernetAquantiaAqtion.kext
pci1d6a,1 = Aquantia AQC107
pci1d6a,d107 = Aquantia AQC107
pci1d6a,7b1 = Aquantia AQC107
pci1d6a,80b1 = Aquantia AQC107
pci1d6a,87b1 = Aquantia AQC107
pci1d6a,88b1 = Aquantia AQC107
pci1d6a,89b1 = Aquantia AQC107
pci1d6a,91b1 = Aquantia AQC107
pci1d6a,92b1 = Aquantia AQC107
pci1d6a,c0 = Aquantia AQC113
pci1d6a,4c0 = Aquantia AQC113
注意: 由于许多aquania NICs上有一些过时的固件,您可能需要在Linux/Windows中更新固件,以确保它与macos兼容。
# Intel 系列
# AppleIntel8254XEthernet.kext
pci8086,1096 = Intel 80003ES2LAN
pci8086,100f = Intel 82545EM
pci8086,105e = Intel 82571EB/82571GB
# AppleIntelI210Ethernet.kext
pci8086,1533 = Intel I210
pci8086,15f2 = Intel I225LM (macOS 10.15新增)
# Intel82574L.kext
pci8086,104b = Intel 82566DC
pci8086,10f6 = Intel 82574L
# Broadcom 系列
# AppleBCM5701Ethernet.kext
pci14e4,1684 = Broadcom BCM5764M
pci14e4,16b0 = Broadcom BCM57761
pci14e4,16b4 = Broadcom BCM57765
pci14e4,1682 = Broadcom BCM57762
pci14e4,1686 = Broadcom BCM57766
# USB
USBToolBox (tool (opens new window) 和 kext (opens new window))
- 用于Windows和macOS的USB映射工具。
- 强烈建议在安装macOS之前映射你的USB端口,以避免任何端口限制问题
- 功能
- 支持从Windows和macOS映射(Linux支持正在进行中)
- 可以使用USBToolBox kext或本地Apple kext构建一个地图(AppleUSBHostMergeProperties)
- 支持多种匹配方式
- 支持配套端口(Windows)
XHCI-unsupported (opens new window)
- 非原生USB控制器需要
- 基于AMD CPU的系统不需要这个
- 需要这些的常见芯片组:
- H370
- B360
- H310
- Z390 (Mojave和更新版本不需要)
- X79
- X99
- ASRock Intel 主板 (B460/Z490+板不需要)
# WiFi 和 蓝牙
# 非原生蓝牙卡
- BlueToolFixup (opens new window)
- 为macOS 12+蓝牙协议栈打补丁以支持第三方卡
- 所有非原生(非苹果博通、英特尔等)蓝牙卡都需要
- 包含在BrcmPatchRAM zip文件中
- 不要在macOS 11和更早的版本使用
# Intel
- AirportItlwm (opens new window)
- 增加了对多种英特尔无线卡的支持,并通过IO80211Family集成在恢复中原生工作
- 需要macOS 10.13或更新版本,并且需要Apple的安全引导才能正常运行
- Itlwm (opens new window)
- 对于无法启用苹果安全引导的系统,可选择AirportItlwm
- 需要 Heliport (opens new window)
- 它将被视为以太网卡,你必须通过Heliport连接Wi-Fi
- 在macOS恢复中不起作用
- IntelBluetoothFirmware (opens new window)
- 当与英特尔无线网卡配对时,为macOS添加蓝牙支持
- 除了修补macOS中的bug之外,还可以使用IntelBTPatcher(包含)
- 需要macOS 10.13或更新的版本
- 在macOS 10.13到11中,你还需要intelbluetooth oothinjector(包含)
更多关于启用airportlwm的信息
要使用OpenCore启用AirportItlwm支持,你需要:
- 启用
Misc -> Security -> SecureBootModel
将其设置为Default
或其他有效值- 这将在本指南后面和安装后指南中讨论: Apple Secure Boot (opens new window)
- 如果你不能启用SecureBootModel,你仍然可以强制注入IO80211Family(非常不建议)
- 在config.plist文件的
Kernel -> Force
下设置以下内容。 (本指南稍后将讨论):
- 在config.plist文件的
# Broadcom
- AirportBrcmFixup (opens new window)
- 用于为非apple /非fenvi Broadcom卡打补丁 不能在Intel, Killer, Realtek等上工作
- 需要OS X 10.10或更新的版本
- 关于Big Sur参见Big Sur 已知问题 了解关于AirPortBrcm4360驱动器的额外步骤。
- BrcmPatchRAM (opens new window)
- 用于在Broadcom蓝牙芯片组上上传固件,所有非apple /非fenvi机场卡都需要。
- 与BrcmFirmwareData.kext配对
- BrcmPatchRAM3用于10.15+(必须与BrcmBluetoothInjector配对)
- BrcmPatchRAM2为10.11-10.14
- BrcmPatchRAM为10.8-10.10
- 在macOS 10.11到macOS 11中,你还需要brcmbluetooth oothinjector(包含)
BrcmPatchRAM加载顺序
Kernel -> Add
中的顺序应该是:
- BrcmBluetoothInjector (如果需要)
- BrcmFirmwareData
- BrcmPatchRAM3 (或 BrcmPatchRAM2/BrcmPatchRAM)
BlueToolFixup可以在Lilu之后的任何地方使用。
然而,ProperTree将为您处理此问题,因此您无需担心
# AMD CPU 专用 kexts
- XLNCUSBFIX (opens new window)
- AMD FX系统的USB修复,不建议Ryzen使用
- 需要macOS 10.13或更新的版本
- VoodooHDA (opens new window)
- 用于FX系统和前面板Mic+ Ryzen系统的音频支持,不要与AppleALC混合。音频质量明显比Zen cpu上的AppleALC差
- 需要OS X 10.6或更新的版本
- 不建议在macOS 11.3或更高版本上使用此kext,因为您需要修改macOS文件系统并禁用SIP
- AMDRyzenCPUPowerManagement (opens new window)
- Ryzen系统的CPU电源管理
- 正在积极开发中,可能不稳定
- 需要macOS 10.13或更新的版本
# 额外
- AppleMCEReporterDisabler (opens new window)
- 在macOS 12.3和更高版本的AMD系统上,以及macOS 10.15和更高版本的双插槽Intel系统上都需要安装。
- 受影响的smbios:
- MacPro6,1
- MacPro7,1
- iMacPro1,1
- CpuTscSync (opens new window)
- 需要同步TSC的英特尔HEDT和服务器主板,没有这个macOS可能非常慢甚至无法开机。
- 不能在AMD cpu上工作
- 需要OS X 10.8或更新的版本
- NVMeFix (opens new window)
- 用于修复非apple NVMe上的电源管理和初始化
- 需要macOS 10.14或更新的版本
- SATA-Unsupported (opens new window)
- 增加了对大量SATA控制器的支持,主要适用于在macOS中遇到SATA驱动器问题的笔记本电脑。我们建议首先进行测试。
- Big Sur+ 注: CtlnaAHCIPort (opens new window) 将需要使用,因为许多控制器被从二进制本身删除
- Catalina 和更老的则不必担心
- CPUTopologyRebuild (opens new window)
- 一个实验性的Lilu插件,用于优化Alder Lake的异构核心配置。 只适用于Alder Lake cpu
- RestrictEvents (opens new window)
- macOS各种功能的补丁,详见README (opens new window)
- EmeraldSDHC (opens new window)
- macOS内核扩展的eMMC支持。目前仅支持eMMC/MMC卡,最高速度为HS200。此驱动程序目前正在进行中,在某些设备上可能会出现性能不佳或无法使用的情况。目前不支持SD卡。
传统SATA kext
- AppleIntelPIIXATA.kext (opens new window)
- Legacy IDE和ATA kext适用于老Core 2 Duo/Quad和Pentium 4系统。macOS 11(大苏尔)和更新的kext需要在macOS 10.15(卡特琳娜)中删除
- AHCIPortInjector (opens new window)
- 传统的SATA/AHCI注入器,主要适用于Penryn时代的老旧机器
- ATAPortInjector (opens new window)
- 传统的ATA注入器,主要与IDE和ATA设备相关(例如:当BIOS中没有AHCI选项时)
# 笔记本电脑输入
要弄清楚你使用的是什么样的键盘和触控板,请检查Windows中的设备管理器或Linux中的 dmesg | grep -i input
WARNING
大多数笔记本电脑的键盘是PS2 !即使你有I2C、USB或SMBus触控板,你也会想要使用VoodooPS2。
# PS2键盘/触摸板
- VoodooPS2 (opens new window)
- 适用于各种PS2键盘,鼠标和触摸板
- 需要macOS 10.11或更新的MT2 (Magic Trackpad 2)功能
- RehabMan's VoodooPS2 (opens new window)
- 适用于带有PS2键盘、鼠标和触控板的旧系统,或者当你不想使用VoodooInput时
- 支持macOS 10.6 +
# SMBus 触摸板
- VoodooRMI (opens new window)
- 用于带有Synaptics SMBus触控板的系统
- 需要macOS 10.11或更新版本的MT2功能
- 依赖于Acidanthera的VoodooPS2
- VoodooSMBus (opens new window)
- 适用于带有ELAN SMBus触控板的系统
- 目前支持macOS 10.14或更新版本
# I2C/USB HID 设备
- VoodooI2C (opens new window)
- 支持macOS 10.11 +
- 连接到I2C控制器,允许插件与I2C触摸板交谈
- 使用以下插件仍然需要VoodooI2C USB设备
- 必须与一个或多个插件配对,如下所示:
VoodooI2C 插件
连接类型 | 插件 | 说明 |
---|---|---|
Multitouch HID | VoodooI2CHID | 可以与I2C/USB触摸屏和触摸板一起使用 |
ELAN Proprietary | VoodooI2CElan | ELAN1200+需要VoodooI2CHID代替 |
FTE1001 touchpad | VoodooI2CFTE | |
Atmel Multitouch Protocol | VoodooI2CAtmelMXT | |
Synaptics HID | VoodooRMI (opens new window) | I2C Synaptic触控板(只在I2C模式下需要VoodooI2C) |
Alps HID | AlpsHID (opens new window) | 可与USB或I2C Alps触控板使用。主要出现在戴尔(Dell)笔记本电脑和惠普(HP)的一些EliteBook机型上 |
# 杂项
- ECEnabler (opens new window)
- 修复在许多设备上读取电池状态(允许读取超过8位的EC字段)
- 支持OS X 10.7及以上版本(10.4 - 10.6版本不需要)
- BrightnessKeys (opens new window)
- 自动修复亮度快捷键
请参考 Kexts.md (opens new window) 获得支持的kext的完整列表
# SSDTs
你在AcpiSamples文件夹中看到所有的ssdt,想知道你是否需要它们。对于我们来说,我们将介绍您在配置的特定ACPI部分中需要的ssdt.plist,因为您需要的ssd是特定于平台的。有些甚至是特定于系统的,需要配置它们,如果我现在给您一个可供选择的ssd列表,您很容易就会迷失方向。
ACPI入门 (opens new window) 有一个关于ssdt的扩展部分,包括在不同的平台上编译它们。
A quick TL;DR of needed SSDTs(这是源代码,你必须将它们编译到.aml文件中):
# 台式电脑
Platforms | CPU | EC | AWAC | NVRAM | USB |
---|---|---|---|---|---|
Penryn | N/A | SSDT-EC (opens new window) | N/A | N/A | N/A |
Lynnfield and Clarkdale | |||||
SandyBridge | CPU-PM (opens new window) (安装后运行) | ||||
Ivy Bridge | |||||
Haswell | SSDT-PLUG (opens new window) | ||||
Broadwell | |||||
Skylake | SSDT-EC-USBX (opens new window) | ||||
Kaby Lake | |||||
Coffee Lake | SSDT-AWAC (opens new window) | SSDT-PMC (opens new window) | |||
Comet Lake | N/A | SSDT-RHUB (opens new window) | |||
AMD (15/16h) | N/A | N/A | N/A | ||
AMD (17/19h) | SSDT-CPUR for B550 and A520 (opens new window) |
# 高端台式电脑
Platforms | CPU | EC | RTC | PCI |
---|---|---|---|---|
Nehalem and Westmere | N/A | SSDT-EC (opens new window) | N/A | N/A |
Sandy Bridge-E | SSDT-UNC (opens new window) | |||
Ivy Bridge-E | ||||
Haswell-E | SSDT-PLUG (opens new window) | SSDT-EC-USBX (opens new window) | SSDT-RTC0-RANGE (opens new window) | |
Broadwell-E | ||||
Skylake-X | N/A |
# 笔记本电脑
Platforms | CPU | EC | Backlight | I2C Trackpad | AWAC | USB | IRQ |
---|---|---|---|---|---|---|---|
Clarksfield and Arrandale | N/A | SSDT-EC (opens new window) | SSDT-PNLF (opens new window) | N/A | N/A | N/A | IRQ SSDT (opens new window) |
SandyBridge | CPU-PM (opens new window) (Run in Post-Install) | ||||||
Ivy Bridge | |||||||
Haswell | SSDT-PLUG (opens new window) | SSDT-GPI0 (opens new window) | |||||
Broadwell | |||||||
Skylake | SSDT-EC-USBX (opens new window) | N/A | |||||
Kaby Lake | |||||||
Coffee Lake (8th Gen) and Whiskey Lake | SSDT-PNLF (opens new window) | SSDT-AWAC (opens new window) | |||||
Coffee Lake (9th Gen) | |||||||
Comet Lake | |||||||
Ice Lake | SSDT-RHUB (opens new window) |
继续:
Platforms | NVRAM | IMEI |
---|---|---|
Clarksfield and Arrandale | N/A | N/A |
Sandy Bridge | SSDT-IMEI (opens new window) | |
Ivy Bridge | ||
Haswell | N/A | |
Broadwell | ||
Skylake | ||
Kaby Lake | ||
Coffee Lake (8th Gen) and Whiskey Lake | ||
Coffee Lake (9th Gen) | SSDT-PMC (opens new window) | |
Comet Lake | N/A | |
Ice Lake |