opencore 小白指南(教程)

本指南帮小白快速地构建起一个 opencore 配置文件,所以也就不会讲太多,大部分内容都是帮助你如何做选择。(适用于 OpenCore 0.9.4)

编辑配置文件的工具如下:

OC Auxiliary Tools 和 ProperTree,Windows 和 MacOS 都能使用,OpenCore Configurator 只能在 macos 下使用。ProperTree 界面非常简洁,对没有基础的人不友好,但是上手之后,却也十分不错。

OC Auxiliary Tools 和 OpenCore Configurator 就是常规的 gui 界面了,OpenCore Configurator 和 OC Auxiliary Tools 的逻辑差不多。用过 Clover Configurator,上手 OpenCore Configurator 非常快。

对于没有基础的人,推荐使用 OC Auxiliary Tools 和 OpenCore Configurator。

opencore 的文件结构如图。

ESP
├── EFI
│    ├── BOOT
│    │    └── BOOTx64.efi
│    └── OC
│        ├── ACPI
│        │    ├── DSDT.aml
│        │    ├── SSDT-1.aml
│        │    └── MYTABLE.aml
│        ├── Drivers
│        │    ├── MyDriver.efi
│        │    └── OtherDriver.efi
│        ├── Kexts
│        │    ├── MyKext.kext
│        │    └── OtherKext.kext
│        ├── Resources
│        │    ├── Audio
│        │    ├── Font
│        │    ├── Image
│        │    └── Label
│        ├── Tools
│        │    └── Tool.efi
│        ├── OpenCore.efi
│        ├── config.plist
│        ├── vault.plist
│        └── vault.sig
│──Kernels
│   ├── kernel
│   ├── kernelcache
│   └── prelinkedkernel
├── boot
├── nvram.plist
├── opencore-YYYY-MM-DD-HHMMSS.txt
├── panic-YYYY-MM-DD-HHMMSS.txt
└── SysReport

解压 OpenCore 压缩包后,在 Docs 文件夹有 配置文件 范例 Sample.plist,将其拷贝到 X64/EFI/OC 下,并重命名成 config.plist

OpenCore 文件夹的用途:

  • ACPI:存放 DSDT.aml 和 SSDT.aml 的文件夹
  • Device:opencore 驱动文件夹。
  • Kext:MacOS 内核驱动文件夹。
  • Resources:主题文件夹。
  • tools:UEFI 实用程序文件夹。

其他的部分,一般不需要动,保持原装就好。

BIOS 的设置:

禁用项:

  • 禁用 Fast BootHardware Fast Boot
  • 禁用 CFG Lock
  • 禁用 VT-d
  • 禁用 CSM
  • 禁用 EHCI / XHCI Hand-off,如果出现 USB 设备连接时启动停滞的情况,则启用。
  • 禁用 Thunderbolt Support(非必须)。
  • 禁用 Intel SGX(非必须)。
  • 禁用 Intel Platform Trust(非必须)。

启用项:

  • 开启 Above 4G Decoding 或者类似的功能。
  • 启用 VT-x
  • 启用 Hyper Threading
  • 启用 Execute Disable Bit

1、config-ACPI

1.1、config-ACPI-Add

从 OC/ACPI 目录加载 ACPI 表。不同平台需要加载的 ACPI 表不同,具体可以参考 dortania 的 ACPI 入门或者 OC-Little-Translated 项目。加载 ACPI 表是为了解决兼容性问题。

名词解析:

  • Comment :注释。
  • Enabledture 则启用,false 则禁用。
  • Path :ACPI 表的路径,直接填表的名称就行,因为所有 ACPI 表都从 OC/ACPI 目录加载。

1.2、config-ACPI-Delete

删除 ACPI 表。一般用不上,可以跳过。

1.3、config-ACPI-Patch

修改 ACPI 表的一些数值。这个尽量不要用,尽量使用内核驱动或者添加 ACPI 表。

1.4、config-ACPI-Quirks

  • FadtEnableReset:用于修复旧硬件和少数笔记本的重启和关机问题,也可以修复电源快捷键的问题(Command+电源键),触发出现这些问题,否则不要启用。
  • NormalizeHeaders:修复 MacOS ACPI 实现错误导致的引导崩溃,从 MacOS Mojave (10.14) 开始,这个错误已经被修复。根据系统版本选择是否开启。
  • RebaseRegions:尝试地重定位 ACPI 内存区域。不建议启用,除非需要自定义 DSDT。
  • ResetHwSig:如果出现休眠唤醒问题,可以尝试开启。
  • ResetLogoStatus:如果在开机时无法显示 OEM Windows 标志可以尝试开启。
  • SyncTableIds:如果在 Windows 系统出现软件许可失效的问题可以尝试开启。

2、Config–Booter

黑苹果的启动可以明显看到两个阶段,主要区别是跑的代码不一样,一眼就能区分。如果你的配置文件不正确,在进入上述的阶段时,还会有一个阶段,提示你配置文件错误。

两个阶段中的第一个是内核载入阶段,称之为 Early Boot。第二个阶段是内核运行阶段。

2.1、config-Booter-MmioWhitelist

Mmio 白名单,默认有两条未开启的条目,有需要可以尝试开启。

  • 默认第一项是为 Haswell芯片 提供内存寻址修复,此类芯片如果遇到内存相关问题,可以尝试开启。
  • 默认第二项是 ACPI、PCI device 同时释放到内存时发生 0x1000 内存地址被占用而卡在 PCI Configration,如果碰到此类问题,可以尝试开启。

2.2、config-Booter-Patch

这部分可以对 Bootx64.efi 进行修改。一般不需要动这个,直接跳过。

2.3、config-Booter-Quirks

  • AllowRelocationBlock:当系统需要更低位置的内存时,重新定位被非 runtimeserivce 所占据的内存。这个选项需要同时启用 ProvideCustomSlide(必需)和 AvoidRuntimeDefrag(通常情况下),但是这个选项并不兼容某些硬件及 MacOS 11。这种情况下可能需要用 EnableSafeModeSlide 来替代。
  • AvoidRuntimeDefrag:防止 boot.efi 运行时执行内存碎片整理。除 Apple 和 VMware 固件外,都需要启用此选项。
  • DevirtualiseMmio:从某些 MMIO 区域中删除 Runtime 属性。该选项一般对所有固件都有用,除了一些非常古老的固件(例如:Sandy Bridge)。对于某些 300 系列主板是必须的。如果出现内存分配错误,可以尝试开启。
  • DisableSingleUser:禁用 Apple 单用户模式。有需要自行开启。
  • DisableVariableWrite:防止 MacOS 获取 NVRAM 的写入权限。在没有原生 MacOS 支持 NVRAM 的主板上需要开启。具体是否原生支持可以上网查,或者自行尝试。
  • DiscardHibernateMap:复用原始的休眠内存映射。这可能解决较旧较罕见的硬件上的错误内存映射。例如:Insyde 固件的 Ivy Bridge 笔记本电脑(Acer V3-571G)。如果休眠唤醒之后出现错误内存映射,则可以尝试开启。
  • EnableSafeModeSlide:修补引导加载程序以在安全模式下启用 KASLR。除非启动到安全模式失败,否则不需要启用此选项。
  • EnableWriteUnprotector:关闭 CR0 寄存器中的写入保护。如果你的固件支持内存属性表 (MAT),请优先使用 RebuildAppleMemoryMap 。是否支持 MAT,请参考日志中的 OCABC: MAT support is 1/0 来确定。
  • ForceBooterSignature:将 MacOS 启动器签名设置为 OpenCore 启动器。如果你的电脑是 mac 则启用。
  • ForceExitBootServices:在失败时用新的内存映射(Memory Map)重试 ExitBootServices。如果遇到了内核载入阶段的启动失败,可以尝试开启。
  • ProtectMemoryRegions:保护内存区域免于不正确的读写。如果遇到了休眠、睡眠无法唤醒、启动失败或其他问题,则尝试启用。一般来说,只有很老的固件才需要启用。
  • ProtectSecureBoot:保护 UEFI 安全启动变量不被写入。避免碎片整理导致的 NVRAM 相关问题,例如:Insyde 或 MacPro5,1。如果遇到因为 NVRAM 相关问题导致启动失败,可以尝试开启。
  • ProtectUefiServices:保护 UEFI 服务不被固件覆盖。如果因为内存方面的原因在内核加载阶段卡住,可以尝试启用这个选项。(如果是用启用了 BIOS 安全启动的 GRUB 启动 OpenCore ,则需要开启这个选项。Z390系列主板开机卡++++,也需要开启这个选项。)
  • ProvideCustomSlide:为低内存设备提供自定义 KASLR slide 值。如果 OpenCore 的日志中出现 OCABC: Only N/256 slide values are usable! 则请启用这一选项。
  • ProvideMaxSlide:当更大的 KASLR slide 值不可用时,手动提供最大 KASLR slide 值。当 ProvideCustomSlide 启用、并且 slide 落入不可用的范围时,如果出现随机的启动失败,则开启这个选项。日志会出现 AAPL: [EB|‘LD:LKC] } Err(0x9) 这样的信息。如果要找到最合适的值,手动将 slide=X 舔加到启动参数里,并通过日志记录下不会导致启动失败的最大值。
  • RebuildAppleMemoryMap:生成与 MacOS 兼容的内存映射。如果遇到内核载入阶段启动失败可以尝试启用。在支持内存属性表 (MAT) 的平台上,这一选项 是 EnableWriteUnprotector 更好的替代。这个选项一般要和 SyncRuntimePermissions 一起启用。
  • ResizeAppleGpuBars:减少 GPU PCI BAR 的大小,以便与 MacOS 兼容。这个仅设置 MacOS 的 GPU PCI BAR 。MacOS 支持理论上的1GB最大值,但是可能会出现问题。直接设置为 0 就好。
  • SetupVirtualMap:将 SetVirtualAddresses 调用修复为虚拟地址。如果遇到内核载入阶段启动失败可以尝试启用。目前具有内存保护支持的新固件(例如 OVMF )不支持这个选项。
  • SignalAppleOS:如果你的电脑是 Mac 则开启该选项。
  • SyncRuntimePermissions:更新运行时环境的内存权限。如果你出现内核载入阶段启动失败(例如:一直黑屏,影响了机子上的其他系统),可以尝试开启。

3、Config-DeviceProperties

这个部分是用来描述和注入设备信息。好玩的一点是,你可以修改设备的名字,比如说把显卡的名字改成 RTX 9090

3.1、Config-DeviceProperties-Add

一般来说,这个部分只加上声卡和核显的就足够了。如果你想折腾其他的,随意。

像是 OCAT 这样的编辑器,窗口左边是设备的 PCI 路径,右边是设备的属性。

OC Auxiliary Tools设备属性.webp

ProperTree 则是像收缩列表那样。

ProperTree设备属性.webp

在 MacOS 中核显的 PCI 路径是固定的,统一为 PciRoot(0x0)/Pci(0x2,0x0) 。声卡的 PCI 路径需要使用 Hackintool 来寻找。Hackintool 是 MacOS 下的软件,在安装完 MacOS 之前都无法使用。我建议是在安装完 MacOS 之前,除了必要的驱动,其他的先不加,毕竟没有系统,你要这么多驱动也没用。

显卡一般注入设备 ID 就可以正常使用( 有时 WhateverGreen.kext 可以自动帮我们驱动)。如果遇到一些问题,可以注入其他属性解决,例如显存太小,可以注入 framebuffer-unifiedmem

声卡注入声卡布局 ID(layout-id)就可以驱动。ID 有那些,可以到 AppleALC 项目查找,一个一个试 ID,直到找到能用的。

3.2、Config-DeviceProperties-Delete

这部分是删除设备属性,一般用不上,可以跳过。

4、Config-Kernel

这部分是对内核驱动程序进行加载、修补以及屏蔽等操作。

4.1、Config-Kernel-Add

填写需要加载的驱动。从 OC/Kexts 目录加载选定的驱动。驱动的顺序有要求,依赖驱动要在前面,例如 A 依赖 B,那么 B 要在 A 前面加载。通常编辑器会帮助我们调整顺序,所以不用担心。一些驱动内还会附加驱动,也要添加,否则无法运行,不用但是编辑器一样会解决。

必要的驱动有 WhateverGreen.kextVirtualSMC.kextLilu.kext。如果是笔记本可能需要 VoodooPS2Controller.kext 驱动自带键盘。其他的驱动在进入系统之后慢慢折腾,不要老想着一劳永逸。

名称解释:

  • Arch:Kext 架构,可填 i386 或者 x86_64,按照 Kext 架构填,现在一般都是 x86_64。
  • BundlePath:Kext 相对于 EFI/OC/kexts/Other/ 的路径,如 Lilu.kext 或 MyKext.kext/Contents/PlugIns/MySubKext.kext
  • Comment:注释。
  • ExecutablePath:Kext 中实际可执行文件的路径(例如 Lilu.kext 中的可执行文件路径是 Contents/MacOS/Lilu)。如果是空壳 Kext,则不用填。
  • MaxKernel:在小于等于指定的 macOS 版本或更高版本中添加该 Kext 驱动程序。这个弄起来比较麻烦,我建议是留空,这样所有版本都能加载。
  • MinKernel:在大于等于指定的 macOS 版本中添加该 Kext 驱动程序。这个弄起来比较麻烦,我建议是留空,这样所有版本都能加载。
  • PlistPath:Kext 中 Info.plist 文件的路径。例如:Contents/Info.plist

4.2、Config–Kernel–Block

这个部分填写需要禁用的驱动,一般用不上,可以跳过。

4.3、Config–Kernel–Emulate

这个部分可以跳过。这部分是仿冒 CPU,通常用于不支持的 CPU,例如:赛扬、奔腾、11代和12代英特尔 CPU。编辑器一般有预设好的仿冒选项,有需要直接选择就好。

  • DummyPowerManagement :禁用电源管理驱动,通常用于不支持的 CPU。例如:赛扬、奔腾、AMD。是 NullCpuPowerManagement.kext 的替代品。

4.4、Config–Kernel–Force

这部分是从系统里强制加载内核驱动,一般用不上,可以跳过。

4.5、Config–Kernel–Patch

英特尔 CPU 的可以跳过这个部分,AMD CPU 的需要打补丁,详细信息参考 AMD_Vanilla

4.6、Config–Kernel–Quirks

  • AppleCpuPmCfgLock:禁用 AppleIntelCPUPowerManagement.kext中的 PKG_CST_CONFIG_CONTROL (0xE2) 修改,从而避免早期的 Kernel Panic。如果使用的是 macOS 13 之前的版本且没有解锁 CFG Lock 则启用。
  • AppleXcpmCfgLock:禁用 XNU 内核对 PKG_CST_CONFIG_CONTROL(0xE2) 修改,从而避免早期 Kernel Panic(XCPM power management)。如果没有解锁 CFG Lock 则启用。
  • AppleXcpmExtraMsrs:对于没有 XCMP 支持的设备,禁用对选定 CPU 的多 MSR 访问。如果你的 CPU 架构是 Haswell-E,Broadwell-E,Skylake-SP 或者类似 CPU 的,启用这个选项。
  • AppleXcpmForceBoost:在 XCPM 模式下强制使用最大性能。只有某些 Xeon 型号的 CPU 才有可能受益。不启用。
  • CustomPciSerialDevice:在一个定制的 PCI 串行设备上修改 PMIO 寄存器的基本地址。不启用,一般人用不到串口 debug。
  • CustomSMBIOSGuid:对 UpdateSMBIOSMode 自定义模式执行 GUID 修补,通常用于戴尔笔记本电脑。
  • DisableIoMapper:禁用 XNU (VT-d) 中的 IOMapper 支持。该选项是直接在 ACPI 表中删除 DMAR 和在 BIOS 中禁用 VT-d 的首选替代方案。不会妨碍其他操作系统中的 VT-d 支持。固件中错误配置的 IOMMU 可能导致设备损坏。例如,以太网适配器可能会无限在连接-断开中循环,Wi-Fi 适配器可能无法发现网络。技嘉是出现这些问题的最常见的 OEM 厂商之一。如果你出现这些情况,且需要在其他系统开启 VT-d,则启用这个选项。
  • DisableIoMapperMapping :这个选项解决了在原生 DMAR 表包含一个或多个保留内存区域且安装了超过 16 GB 内存的系统上启用 AppleVTD 时与 Wi-Fi、以太网和 Thunderbolt 设备的兼容性问题。在某些系统上,只有在启用 iGPU 时才需要这个 Quirk。如果你遇到启用 AppleVTD 时与 Wi-Fi、以太网和 Thunderbolt 设备的兼容性问题,可以尝试启用这个选项。在 AMD 系统上不需要这个选项。
  • DisableLinkeditJettison:禁止丢弃 __LINKEDIT。这个选项能让 Lilu.kext 和其他一些可能的 kext 在 MacOS Big Sur 中以最佳性能运行,而不需要 keepsyms=1 启动参数。看你使用的系统版本选择是否启用。
  • DisableRtcChecksum:禁用 AppleRTC 初始校验和(0x580x59)写入。如果遇到 RTC 问题,可以尝试启用。更建议使用 RTCMemoryFixup.kext 代替这个选项。
  • ExtendBTFeatureFlags:将 FeatureFlags 设置为 0x0F,以实现蓝牙的全部功能(包括连续互通功能)。该选项是 BT4LEContinuityFixup.kext 的替代品。由于补丁进度较晚,无法正常工作。
  • ExternalDiskIcons:修补 AppleAHCIPort.kext 图标,使 MacOS 将所有 AHCI 存储设备显示为内部硬盘。不启用。
  • ForceAquantiaEthernet:启用 Aquantia AQtion 的 10GbE 网卡支持。要想让网卡正常工作必须禁用 DisableIoMapper ,并在 BIOS 中启用 VT-d。如果没有这类网卡,则不启用这个选项。理论上此补丁支持所有 Aquantia AQtion 系列的以太网卡,但它仅在基于 AQC-107s 的 10GbE 网卡上进行了测试。AppleVTD 在启用这个选项后的会有不兼容问题,我们需要删除 DMAR 表之后在添加新的 DMAR 表。更多细节可以在 commit 2441455 中找到。如果你不需要 AppleVTD 这个修改 DMAR 表这件事可以忽略。
  • ForceSecureBootScheme:强制采用 x86 方案进行 IMG4 核查。在虚拟机上使用 x86legacy 以外的 SecureBootModel 时需要开启此选项。
  • ForceSecureBootScheme:允许 IOPCIFamily 用 2GB PCI BAR 启动。如果 BIOS 中存在 Above4GDecoding 选项,请直接在 BIOS 中启用。尽量不要使用这个选项。一般来说,macOS 将 PCI BAR 限制为 1GB。启用这个选项并不能让 macOS 实际使用具有更大 PCI BAR 的设备。通常这一选项只需要在配置错误或损坏的固件上开启。
  • LapicKernelPanic:禁用 LAPIC 中断导致的 Kernal Panic。如果遇到这种情况,则启用这个选项。惠普电脑可能需要启用这一选项。
  • LegacyCommpage:如果你的 CPU 不支持 SSSE3 指令集,则启用这个选项。不是太老的 CPU 或者太低端的 CPU 都支持这个指令集。
  • PanicNoKextDump:内核崩溃时不输出 Kext 列表,输出崩溃日志。该选项在 10.13 及以上起作用。在稳定使用 MacOS 之前启用这个选项。
  • PowerTimeoutKernelPanic:修复 MacOS Catalina 中由于设备电源状态变化超时而导致的内核崩溃。如果遇到这种情况,则启用这个选项。配置错误的硬件可能会导致出现这个问题,特别是数字音频、有的时候会导致睡眠唤醒的问题。这一 Quirk 和引导参数 setpowerstate_panic=0 的功能大部分是一致的,但是后者只应该用于调试用途。
  • ProvideCurrentCpuInfo:向内核提供当前的 CPU 信息。如果不是在虚拟机黑苹果或使用的不是 12 代及其之后的 CPU,则不启用。
  • SetApfsTrimTimeout:设置 trim 超时时间。MacOS 12.0 及以上版本,设置为 0,以下的版本,自己定一个超时时间(单位为微秒)。关于 trim 的内容,自行搜索。
  • ThirdPartyDrives:修补 IOAHCIDeleteStorage.kext,为第三方驱动器启用 TRIM、硬盘休眠等功能。如果你用的是 NVMe SSD,则无须启用这个选项。
  • XhciPortLimit:修补 AppleUSBXHCI.kextAppleUSBXHCIPCI.kextIOUSBHostFamily.kext 以移除 15 端口限制。请尽可能避免使用这一选项。真正长期有效的解决方案是通过 USB 定制限制可用的 USB 端口个数在 15 以下。

4.7、Config–Kernel–Scheme

主要是和旧版 MacOS(大概是 10.9 - 10.4 的系统)有关的项目,一般用不上,可以跳过。

  • CustomKernel :使用位于 ESP 分区下的 Kernels 目录下的定制内核缓存。使用 Atom 和 AMD CPU 的开启这个选项。
  • FuzzyMatch :使用校验值不同的 kernelcache(如果可用)。可以提高 MacOS 10.6 在多个平台上的启动性能。
  • KernelArch :如果可用,优先选择指定的内核架构(i386i386-user32x86_64)。设置为 x86_64
  • KernelCache :如果可用,优先选择指定的内核缓存(Kernel Cache)类型(Auto
    CachelessMkextPrelinked)。设置为 Auto

5、Config-Misc

5.1、Config-Misc-BlessOverride

通过 Bless Model 添加自定义扫描路径。用于引导程序不在一般位置的情况下。例如 Windows 的引导和 OpenCore 在同一个 EFI 分区(\EFI\Microsoft\Boot\bootmgfw.efi) 。

5.2、Config-Misc-Boot

  • ConsoleAttributes :为控制台设置特定的属性,就是背景颜色和文字颜色。把对应的数字相加,填入即可。
    1. 0x00 — EFI_BLACK(黑色字体)
    2. 0x01 — EFI_BLUE(蓝色字体)
    3. 0x02 — EFI_GREEN(绿色字体)
    4. 0x03 — EFI_CYAN(青色字体)
    5. 0x04 — EFI_RED(红色字体)
    6. 0x05 — EFI_MAGENTA(紫色字体)
    7. 0x06 — EFI_BROWN(棕色字体)
    8. 0x07 — EFI_LIGHTGRAY(亮灰色字体)
    9. 0x08 — EFI_DARKGRAY(暗灰色字体)
    10. 0x09 — EFI_LIGHTBLUE(淡蓝色字体)
    11. 0x0A — EFI_LIGHTGREEN(淡绿色字体)
    12. 0x0B — EFI_LIGHTCYAN(淡青色字体)
    13. 0x0C — EFI_LIGHTRED(淡红色字体)
    14. 0x0D — EFI_LIGHTMAGENTA(淡紫色字体)
    15. 0x0E — EFI_YELLOW(黄色字体)
    16. 0x0F — EFI_WHITE(白色字体)
    17. 0x00 — EFI_BACKGROUND_BLACK(黑色背景)
    18. 0x10 — EFI_BACKGROUND_BLUE(蓝色背景)
    19. 0x20 — EFI_BACKGROUND_GREEN(绿色背景)
    20. 0x30 — EFI_BACKGROUND_CYAN(青色背景)
    21. 0x40 — EFI_BACKGROUND_RED(红色背景)
    22. 0x50 — EFI_BACKGROUND_MAGENTA(紫色背景)
    23. 0x60 — EFI_BACKGROUND_BROWN(棕色背景)
    24. 0x70 — EFI_BACKGROUND_LIGHTGRAY(亮灰色背景)
  • HibernateMode:休眠检测模式。设置为 Auto,如果使用的是 Mac,则设置为 None
  • HideAuxiliary:隐藏开机引导项菜单中的辅助条目。在选择启动项的界面按空格键,就可以显示隐藏的辅助条目。RecoveryAuxiliaryTime MachineReset NVRAM等都是辅助条目,我建议隐藏,不仅美观,还有一点点的性能提高。
  • LauncherOption:固件偏好设置中注册启动器选项,以保证 Bootloader 的持久与一致性。简单来说就是解决 OpenCore 的 \EFI\BOOT\BOOTx64.efi 被覆盖掉的问题,例如 Windows 安装和升级时会这样。我建议是设置为 Disabled,备份好 OpenCore。
    • Disabled:什么都不做。
    • Full:在 Bootloader 启动时,在 UEFI 变量存储中创建或更新最高优先级的启动项。要使用这个选项,必须同时开启 RequestBootVarRouting。简单来说,就是把 OpenCore 设置为第一启动项。
    • Short:创建一个短的、非完整的启动项。此值对于某些固件很有用,例如:Insyde,或者其他无法处理完整设备路径的固件。
    • System: 不创建启动项,而是认为该项是 blessed 的。这种 variant 在依赖 ForceBooterSignature 属性和 OpenCore 启动器路径时非常有用。管理是通过 bless 工具进行的,不涉及 OpenCore。
  • LauncherPathLauncherOption 的启动引导路径。Default 用于引导 OpenCore.efi
    。其他的路径(例如:\EFI\Launcher.efi)可用来提供自定义加载器,用于自行加载 OpenCore.efi
  • PickerAttributes:设置开机引导菜单的属性。保持默认就好。
  • PickerAudioAssist:在开机引导菜单中启用屏幕朗读。关闭就好,一般用不上。如果需要开启,需要启用 UEFI Audio,具体参考 UEFI Audio 部分。
  • PollAppleHotKeys:在开机引导菜单中启用 Modifier Hotkey 。开启一些快捷键的支持。一般很少用到,有需要就启用。
    1. CMD+C+MINUS --- 禁用主板兼容性检查。
    2. CMD+K --- 从 RELEASE 版本的内核启动,类似于 kcsuffix=release 参数。
    3. CMD+R --- 从恢复分区启动。
    4. CMD+S --- 启动至单用户模式。
    5. CMD+S+MINUS --- 禁用 KASLR slide,需要事先禁用 SIP。
    6. CMD+V --- 启用 -v
    7. Shift+Enter, Shift+Index --- 启用安全模式。
  • ShowPicker:是否显示开机引导菜单。按 ESC/Option/Zero 键可以显示开机引导菜单,我一般是在稳定使用 MacOS 时不显示引导菜单,需要时通过按键显示出来。
  • TakeoffDelay:在处理引导项启动和处理 Action Hotkey 之前的延迟,以微秒为单位。保持默认就好,如果你觉得快捷键来不及按,可以适当增加这个数值。
  • Timeout:开机引导菜单中,启动默认启动项之前超时时间(以秒为单位)。 使用 0 禁用倒计时。根据需求设置吧。我一般保持默认,不差那 5s。
  • PickerMode:选择启动管理器的界面。使用图形化界面,则设置 External 反之则 Builtin ,如果是电脑是 Mac,则设置为 Apple
  • PickerVariant:选择启动管理器所使用的图标集。图标集是一个相对于 Resources/Image 的目录路径,例如:Acidanthera\GoldenGate 的绝对路径是 xxx/Resources/Image/Acidanthera\GoldenGate

5.3、Config-Misc-Debug

  • AppleDebug:启用将 boot.efi 调试日志保存到 OpenCore 日志。在稳定用 MacOS 之前保持打开。10.15.4 和更新版本才支持这个功能。
  • ApplePanic:将 MacOS Kernel Panic 保存到 OpenCore 根分区。在稳定用 MacOS 之前保持打开。最好配合 keepsyms=1 启动参数一起使用。
  • DisableWatchDog :某些固件启动系统的速度不够快(尤其是在调试模式下),看门狗定时器会中止引导过程。此选项用来关闭看门狗定时器。如果遇到此类情况,则启用这个选项。
  • DisplayDelay:屏幕上打印每行输出之间的延迟。保持默认就好。
  • DisplayLevel:与屏幕显示相关的调试级别。设置为 2147483650
  • LogModules:按模块过滤日志条目。设置为 * 。稳定使用 MacOS 之后,可以取消。
  • SysReport:在 EFI 分区中保存系统报告。启用这个选项,稳定使用 MacOS 之后,可以取消。RELEASE 版本无这个功能,debug 版本才有。
  • Target:日志记录的方式。设置为 67

5.4、Config-Misc-Entry

这个部分是在开机引导菜单中添加引导项。

名称解释:

  • Arguments :该引导条目的启动参数。
  • Auxiliary :是否是辅助条目。
  • Comment :注释。
  • Enabled :是否启用。
  • Flavour :为该启动项指定 flavour。保持默认。
  • FullNvramAccess :在使用 Tools 的过程中禁用 OpenRuntime NVRAM 保护。
  • Name :启动菜单中看到的名称。
  • FullNvramAccess :在使用 Tools 的过程中禁用 OpenRuntime NVRAM 保护。通常情况下,应该避免这样做。
  • Path :引导路径。
  • RealPath :启动时将完整的路径传递给工具。不启用这个选项。
  • TextMode :是否以文本模式启动。设置为 false,则图形模式启动。

5.5、Config-Misc-Security

  • AllowSetDefault:允许使用 CTRL+Enter 和 CTRL+[数字] 设置默认启动项,=/+ 键也可以,按需启用。
  • ApECID:Apple Enclave 标识符。保持默认就好。
  • AuthRestart:启用与 VirtualSMC 兼容的 authenticated restart。保持默认就好。
  • BlacklistAppleUpdate:忽略某些用于更新 Apple 外围固件的启动项。使用 MacOS Big Sur 则启用。
  • DmgLoading:定义用于 MacOS Recovery 的磁盘映像(Disk Image, DMG)加载策略。设置为 Signed
  • EnablePassword:为敏感操作启用密码保护。此功能还在开发,不推荐日常使用。保持默认。
  • ExposeSensitiveData:用于向操作系统暴露敏感数据的位掩码。设置为 6
  • HaltLevel:调试等级,使 CPU 在获得 HaltLevel 消息后中止。设置为 2147483648
  • PasswordHash:密码使用的哈希值。默认就好。
  • PasswordSalt:密码使用的盐值。默认就好。
  • Vault:启用 OpenCore 的 Vault 机制。设置为 Optional
  • ScanPolicy:定义操作系统检测策略。设置为 3870467
  • SecureBootModel:Apple 安全启动的机型。设置为 Disabled

5.6、Config-Misc-Serial

这个部分是设置串口相关参数,可以跳过。

5.6.1、Config-Misc-Serial Custom

这个部分是设置串口相关参数,可以跳过。

5.7、Config-Misc-Tools

这部分是将工具条目添加到开机引导菜单,可以跳过。

名称解释参考 Entries 部分。

6、Config-NVRAM

6.1、Config-NVRAM-Add

  • 4D1EDE05-38C7-4A6A-9CC6-4BCCA8B38C14
    • DefaultBackgroundColor:背景颜色,保持默认就好。
  • 7C436110-AB2A-4BBB-A880-FE41995C9F82
    • ForceDisplayRotationInEFI:屏幕旋转,可选值有:090180270
    • SystemAudioVolume:引导界面播放声音的大小,保持默认。
    • boot-args:启动参数,在稳定使用 MacOS 前用 -vkeepsyms=1 就足够了。
    • UIScale:用户界面缩放比例的一字节数据。普通屏幕应为 01,HiDPI 屏幕应为 02
    • csr-active-config:设置系统完整性保护状态(SIP),保持默认就好。
    • prev-lang:kbd:键盘布局,我们用的键盘一般是美式布局,但是我看别人填的是中文布局,opencore 官方支持的列表里面有两款中文布局,分别是拼音和仓颉。先填 7a682d48616e733a323532 ,如果出现问题,就改成 ru:0
    • run-efi-updater:这个变量的作用是阻止 MacOS 更新 EFI 固件。设置为 NO

6.1、Config-NVRAM-Delete

这个部分的作用是删除 NVRAM 变量,保持默认就好。对于原本就有的 NVRAM 变量,不能够直接修改,需要先删除,在增加。从而达到修改的目的。

6.2、Config-NVRAM-LegacyOverwrite

允许用 nvram.plist 文件中的变量覆盖现有 NVRAM 变量。只有操作系统访问的到的变量会被覆盖。配合上面的选项使用。不启用这个选项。

6.3、Config-NVRAM-LegacySchema

可以跳过这里,这部分用于模拟 NVRAM。

6.4、Config-NVRAM-WriteFlash

允许将所有添加的变量写入闪存。把易失性 NVRAM 变量变成非易失性 NVRAM 变量,把 NVRAM 变量保存下来,和一些功能有关(例如:启动磁盘)。如果开启这个选项一段时间后,需要重置 BIOS 才能正常启动,则不启用。

7、Config-PlatformInfo

这个部分是设置机型信息。

7.1、Config-PlatformInfo-Automatic

启用这个选项则基于 Generic 属性生成机型信息。反之,则基于 DataHubNVRAM 和 SMBIOS 属性生成机型信息。一般是启用这个选项,这样就可以根据少量信息,生成其他信息。

7.2、Config-PlatformInfo-CustomMemory

自定义内存配置,取代 SMBIOS 中任何现有的内存配置,只有当 UpdateSMBIOS 设置为 true 时才生效。某些机型对内存安装有要求(例如:MacPro 7.1),如果不是按要求的内存配置,则会报告错误,不影响正常使用。需要修改内存配置信息或者更换其他机型就可以解决,无视也是一种解决办法。一般来说,不启用这个选项。

7.3、Config-PlatformInfo-Generic

  • SpoofVendor:将 SMBIOS 中的 Vendor 字段设置为 Acidanthera 。启用这个选项。不启用这个选项,会在 SMBIOS 的 Vendor 字段中使用 Apple ,会导致一些软件问题。
  • AdviseFeatures:用支持的 bit 更新 FirmwareFeatures 。如果你有以下情况,则启用这个选项。
    • EFI 分区不是硬盘中的第一个分区,无法重新启动到硬盘里的 Windows 系统。
    • EFI 分区是硬盘中的第一个分区,无法重新启动到硬盘里的 Windows 系统
    • 不可能在 APFS 磁盘上安装 MacOS。
    • 无法安装 large BaseSystem 镜像的 MacOS,例如:MacOS 12。
  • MaxBIOSVersion:将 BIOS 版本设置为 9999.999.999.999.999,从而避免 MacOS 升级 BIOS。一般不启用这个选项。如果你的电脑是 Mac,则推荐启用这个选项。
  • SystemMemoryStatus:用来表示内存是否可以更换和升级,此值也控制着「关于本机」中「内存」选项卡的可见性。设置为 Auto,就足够了。这不影响实际使用,还可以通过无视来解决它。
  • ProcessorType:CPU 型号,保持默认就好,会自动设置。
  • SystemProductName:Mac 型号,挑选与自己的硬件配置最接近的。
  • SystemSerialNumber:产品序列号,随机生成一个就好。
  • SystemUUID:UUID,随机生成一个就好。
  • MLB:主板序列号,随机生成一个就好。
  • ROM:使用网卡的 mac 地址。

7.4、Config-PlatformInfo-UpdateDataHub

更新 Data Hub 字段。根据 Automatic 的值,这些字段会从 Generic 或 DataHub 中读取。保持默认。

7.5、Config-PlatformInfo-UpdateNVRAM

是否更新 NVRAM 中关于机型信息的相关字段。根据 Automatic 的值,这些字段会从 Generic 或 PlatformNVRAM 中读取。所有其他字段都将在 NVRAM 部分中指定。保持默认。

7.6、Config-PlatformInfo-UpdateSMBIOS

更新 SMBIOS 字段。根据 Automatic 的值,这些字段会从 Generic 或 SMBIOS 中读取。保存默认。

7.7、Config-PlatformInfo-UpdateSMBIOSMode

更新 SMBIOS 字段的方式有:

  • TryOverwrite --- 如果新的数据大小,小于等于按页对齐的原始数据,且对解锁 legacy region 没有影响,则选择 Overwrite 方式;否则选择 Create 方式。在某些硬件上可能会有问题。
  • Create --- 在 AllocateMaxAddress 将表替换为新分配的 EfiReservedMemoryType,没有回退机制。
  • Overwrite --- 如果数据大小合适则覆盖现有的 gEfiSmbiosTableGuid 和 gEfiSmbiosTable3Guid,否则将以不明状态中止。
  • Custom --- 把第一个 SMBIOS 表(gEfiSmbios(3)TableGuid)写入 gOcCustomSmbios(3)TableGuid,以此来解决固件在 ExitBootServices 覆盖 SMBIOS 内容的问题。否则等同于 Create。需要对 AppleSmbios.kext 和 AppleACPIPlatform.kext 打补丁来读取另一个 GUID: "EB9D2D31" - "EB9D2D35" (in ASCII), 这一步由 CustomSMBIOSGuid Quirk 自动完成。

Custom 使得 SMBIOS 设置只对 MacOS 生效,避免了 Windows 激活和 OEM 设置的相关问题(例如:Windows 激活失效,软件许可失效,软件和驱动提示硬件不符合),但是 Windows 下的 Apple 软件可能会出问题,例如:BootCamp。

一般设置为 Custom,如果需要使用 BootCamp,则设置为 Create

7.8、Config-PlatformInfo-UseRawUuidEncoding

是否对 SMBIOS 的 UUID 使用原始编码。保持默认就好。

8、Config-UEFI

UEFI 的相关设置。

8.1、Config-UEFI-APFS

  • EnableJumpstart:从一个 APFS 容器中加载 APFS 驱动。APFS 的 EFI 驱动内置在所有可以作为系统启动盘的 APFS 容器之中。APFS 是 MacOS 的硬盘格式,不加载 APFS 驱动,就无法安装系统,必须启用这个选项。
  • GlobalConnect:在 APFS 加载期间执行完整的设备连接。如果无法访问 APFS 分区,则启用这个选项。
  • HideVerbose:是否隐藏 APFS 驱动的 verbose 信息。APFS 驱动的 verbose 信息可以帮助我们 debug,在稳定使用 MacOS 之前保持打开。
  • JumpstartHotPlug:允许从进入 OpenCore 引导菜单后插入的可移除硬盘上的 APFS 容器中加载 APFS 驱动。简单来说就是热插拔 APFS U 盘,有需要就开启吧。
  • MinDate:允许加载的最老 APFS 驱动的发布日期。保持默认就好。
  • MinVersion:允许加载的最老 APFS 驱动的版本号。保持默认就好。

8.2、Config-UEFI-AppleInput

  • AppleEvent:确定是使用 OpenCore 内置协议还是 OEM Apple Event 协议。设置为 Builtin
  • CustomDelays:在使用 Apple Event 协议的 OpenCore 重新实现时,启用自定义按键的间隔时间。一般用不上,不启用这个选项。
  • KeyInitialDelay:按键重复的初始延迟。保持默认就好。
  • KeySubsequentDelay:按键重复的间隔时间。保持默认就好。
  • GraphicsInputMirroring:Apple 的 Apple Event 阻止图形应用程序中的键盘输入出现在基本控制台输入流中。启用这个选项。
  • PointerPollMin:配置最小指针轮询周期。保持默认就好。
  • PointerPollMax:配置最大指针轮询周期。保持默认就好。
  • PointerPollMask:配置轮询指针的索引。保持默认就好。
  • PointerSpeedDiv:配置指针速度除数。保持默认就好。
  • PointerSpeedMul:配置指针速度乘数。保持默认就好。
  • PointerDwellClickTimeout:左键的超时时间。在使用 OEM Apple 实现时没有影响。
  • PointerDwellDoubleClickTimeout:左键双击的超时时间。在使用 OEM Apple 实现时没有影响。
  • PointerDwellRadius:点击的容忍半径。在使用 OEM Apple 实现时没有影响。

8.3、Config-UEFI-Audio

这部分是配置启动菜单音频,跳过。我基本没见过人折腾这个。

8.4、Config-UEFI-ConnectDrivers

驱动程序加载后执行 UEFI 控制器连接操作。启用这个选项。

8.5、Config-UEFI-Drivers

这部分是加载 UEFI 驱动。

名称解释参考 Config-Misc-Entry 部分。

8.6、Config-UEFI-Input

  • KeyFiltering:启用键盘输入的合理性检查。一般用不上,不启用。
  • KeyForgetThreshold:两次按键之间的间隔时间。保持默认。
  • KeySupport:启用内部键盘输入转换为 AppleKeyMapAggregator 协议。一般来说,启用这个选项,如果你的键盘在不开启该选项的情况下也能正常工作,则可以不启动。如果使用了单独的驱动程序(例如:AppleUsbKbDxe)或者使用的是 Mac 电脑,则不启用这个选项。
  • KeySupportMode:将内部键盘的输入转换设置为 AppleKeyMapAggregator 协议模式。保持默认就好。
  • KeySwap:启用后将交换 Command 键和 Option 键。就是交换 win 键和 alt 键,有需要就启用。
  • PointerSupport:启用内部指针驱动器。保持默认就好。
  • PointerSupportMode:设置用于内部指针驱动程序的 OEM 协议。保持默认就好。
  • TimerResolution:固件始终刷新的频率(单位 100 纳秒)保持默认就好。

8.7、Config-UEFI-Output

  • InitialMode :选择 internal ConsoleControl 模式,TextRenderer 将在该模式下运行。可用值为 AutoText 和 Graphics。 Text 和 Graphics 指定了命名模式。 Auto 使用系统 ConsoleControl 协议的当前模式(如果存在),否则默认为 Text 模式。设置为 Auto 即可。
  • TextRenderer:选择通过标准控制台输出的渲染器。

    目前支持两种渲染器:Builtin 和 System。建议使用 Builtin 渲染器,因为它支持 HiDPI 模式,并能够使用全屏分辨率。

    以下是文本渲染器和渲染模式的组合:

    • BuiltinGraphics --- 切换到 Graphics 模式,并使用 Builtin 渲染器和自定义 ConsoleControl
    • BuiltinText --- 切换到 Text 模式,并使用 Builtin 渲染器和自定义 ConsoleControl
    • SystemGraphics --- 切换到 Graphics 模式,并使用 System 渲染器和自定义 ConsoleControl
    • SystemText --- 切换到 Text 模式,并使用 System 渲染器和自定义 ConsoleControl
    • SystemGeneric --- 使用 System 渲染器和系统 ConsoleControl,前提是它们能正常工作。

    推荐首选 BuiltinGraphics,对于大多数平台,需要启用 ProvideConsoleGop,将 Resolution 设置为 Max。某些非常老的笔记本只能在 Text 模式下绘图,选择BuiltinText

    如果选择 System 协议的话,首选 SystemGraphics 或 SystemText。推荐启用 ProvideConsoleGop,将 Resolution 设置为 Max,启用 ReplaceTabWithSpace 。

    某些 Mac,例如 MacPro5,1,在使用较新的 GPU 时,可能会出现控制台不兼容输出的情况(例如:中断),因此可能只有 BuiltinGraphics 对它们有效。NVIDIA GPU可能需要额外的固件升级

  • ConsoleFont :指定用于 OpenCore 内置文本渲染器的控制台字体。保持默认就好。
  • ConsoleMode:按照 WxH(例如:80x24)格式的字符串所指定的方式设置控制台的输出模式。设置为 Max 则会尝试最大的可用控制台模式。
  • Resolution:设置控制台的屏幕分辨率。设置为 WxH@Bpp(例如 1920x1080@32)或 WxH(例如:1920x1080)格式的字符串,向 GOP 请求自定义分辨率(如果有的话)。设置为 Max,尝试使用最大的可用屏幕分辨率。
  • ForceResolution:当默认情况下无法获得所需分辨率时,强制设置 Resolution 中所填写的分辨率,多用于 Intel GMA 和第一代 Intel HD Graphics (Ironlake/Arrandale)。不启用这个选项。
  • ClearScreenOnModeSwitch:有些固件在从图形模式切换到文本模式时,会留下一部分之前的图像。如果遇到,则开启这个选项。只在使用 System 渲染器时生效。
  • DirectGopRendering:为控制台使用内置的图形输出协议渲染器。一般不开启,除非你发现开启后代码滚动更好,更流畅。
  • GopBurstMode :设置这个可以大大加快 GOP 操作的速度,特别是在需要 DirectGopRendering 的系统上。无论是否设置了 DirectGopRendering,这都是有效的,即使 DirectGopRendering 未启用,也可能给 GOP 操作带来一些加速。启用这个选项。
  • GopPassThrough:在 UGA 协议实例的基础上提供 GOP 协议实例。一般用于不支持 GOP 协议或者版本低的情况下。保持默认就好。该选项需要启用 ProvideConsoleGop
  • IgnoreTextInGraphics:某些类型的固件在图形和文本模式下都在屏幕上输出文本。随机文本可能会出现在图形图像上并导致 UI 损坏。如果出现这种情况,启用这个选项。
  • ReplaceTabWithSpace:有些固件不会打印 tab 符号,甚至不打印 tab 后面的所有内容。这个选项会使控制台输出空格来替代 tab。如果遇到这种情况,则启用这个选项。只在使用 System 渲染器时生效。
  • ProvideConsoleGop:确保控制台句柄上有 GOP,MacOS bootloader 要求控制台句柄上必须有 GOP 或 UGA。启用这个选项。
  • ReconnectGraphicsOnConnect:在驱动连接过程中重新连接所有的图形驱动。如果使用了其他的图形驱动程序(例如: BiosVideo.efi),则启用这个选项。该选项需要启用 ConnectDrivers
  • ReconnectOnResChange:改变屏幕分辨率后重新连接控制台控制器。例如从 Shell 启动OpenCore。除非需要,否则不需要启用这个选项。
  • SanitiseClearScreen:有些固件在使用分辨率较大的显示器(例如:2K 或 4K)时,清除屏幕内容会导致屏幕分辨率重置为 1024x768 。如果遇到这种情况,则启用这个选项,并且 ConsoleMode 选项留空。只在使用 System 渲染器时生效,ConsoleMode 必须留空才能正常工作。
  • UIScale:用户界面的缩放系数。

    • 1:1倍缩放,对应于普通显示器。
    • 2:2x缩放,对应于 HiDPI 显示器。
    • 1:保持当前变量不变。
    • 0:根据当前分辨率自动选择缩放比例。

    自动比例系数检测是在总像素面积的基础上进行的,在小型 HiDPI 显示器上可能会失效,在这种情况下,可以使用 NVRAM 的 UIScale 变量手动设置该值。当从手动指定的 NVRAM 变量切换到该首选项时,可能需要对 NVRAM 进行重置。 NVRAM 的 UIScale 变量和这个选项,选择其一使用即可。

  • UgaPassThrough:在 GOP 协议实例之上提供 UGA 协议实例。有些固件没有老旧的 UGA 协议,但是某些 EFI 应用程序(例如 10.4 的 EfiBoot)需要。一般不启用这个选项。

8.8、Config-UEFI-ProtocolOverrides

这个部分可以跳过,保持默认就好。

8.9、Config-UEFI-Quirks

  • ActivateHpetSupport :激活 HPET 支持。如果 BIOS 里没有 HPET 设置,这个选项可以尝试强制启用。
  • EnableVectorAcceleration:启用 SHA-512 和 SHA-384 哈希算法的 AVX 矢量加速。在 CPU 支持 AVX512 或者 AVX 的情况下,开启 AVX 加速。可能在某些笔记本电脑的固件上出问题,例如:联想。
  • EnableVmx:启用英特尔虚拟机扩展。一般用在 Mac 上,开启 VMX。尽量在 BIOS 里开启。
  • DisableSecurityPolicy:禁用平台安全策略。非必要勿启用。
  • ExitBootServicesDelay:在 EXIT_BOOT_SERVICES 事件后添加延迟,单位为毫秒。如果遇到提示 Still waiting for root device,则设置 3-5 秒的时间。
  • ForceOcWriteFlash:启用所有 OpenCore 管理的 NVRAM 系统变量向闪存的写入。如果出现其他系统启动失败,则启用这个选项。启用或是关闭这个选项,可能需要对 NVRAM 进行重置,以确保完整的功能。
  • ForgeUefiSupport:在 EFI 1.x 固件上提供部分 UEFI 2.x 支持。一般用于老版 Mac,保持默认。
  • IgnoreInvalidFlexRatio:某些固件可能在 MSR_FLEX_RATIO(0x194)MSR 寄存器中包含无效的值,导致英特尔平台上的 MacOS 启动失败。如果没有遇到 MacOS 启动失败,可以尝试启用这个选项。
  • ReleaseUsbOwnership:尝试从固件驱动程序中分离 USB 控制器所有权。某些固件没有正确地分离 USB 控制器所有权,导致操作系统可能会在启动时冻结。如果遇到这种情况,则启用这个选项。
  • ReloadOptionRoms:在可用时,查询 PCI 设备并重新加载其可选 ROM。和 ForgeUefiSupport 配合使用,一般用于老版 Mac 对较新显卡的支持。
  • RequestBootVarRouting:请求将所有带有 Boot 前缀的变从 EFI_GLOBAL_VARIABLE_GUID
     重定向到 OC_VENDOR_VARIABLE_GUID。建议开启这个选项,可以提高启动安全性,保证 OpenCore 的引导优先级。如果要使用 启动磁盘 功能,这个选项是必须的。
  • ResizeUsePciRbIo : 使用 PciRootBridgeIo 来调整 GpuBars 和 ResizeAppleGpuBar。如果配置 Resizable BAR 会导致 Capability I/O 错误。则启用这个选项。
  • ResizeGpuBars:配置 GPU PCI BAR 的大小。这个是设置除了 MacOS 之外的系统的 BAR 大小。我建议是设置为 -1 禁用这个选项,如果是以测试和开发为,可以微调这个值。这个选项可以增加 GPU PCI BAR 的大小,但这在大多数固件上是行不通的。在大多数情况下,最好将固件更新到最新版本或使用专门的驱动程序对其进行自定义,例如 ReBarUEFI。可选值的具体规律如下:
    • 0 – 1 MB
    • 1 – 2 MB
    • 2 – 4 MB
    • 3 – 8 MB
    • 4 – 16 MB
    • 5 – 32 MB
    • 6 – 64 MB
    • 7 – 128 MB
    • 8 – 256 MB
    • 9 – 512 MB
    • 10 – 1 GB
    • 11 – 2 GB
    • 12 – 4 GB
    • 13 – 8 GB
    • 14 – 6 GB
    • 15 – 32 GB
    • 16 – 64 Gb
    • 17 – 128 GB
    • 18 – 256 GB
    • 19 – 512 GB。
  • TscSyncTimeout:尝试用指定的 Timeout 执行 TSC 同步,推荐的起始值是 500000。不建议使用这个选项,建议使用内核驱动替代(例如:VoodooTSCSyncTSCAdjustReset 、CpuTscSync)。
  • UnblockFsConnect:某些固件通过「按驱动程序」模式下来阻止引导项加载,导致文件系统协议无法安装。如果在启动界面没有看得启动项,则启用这个选项。

8.10、Config-UEFI-ReservedMemory

这部分是设置保留内存,一般用不上,可以跳过。

更新日志

2022/8/5:更新 OpenCore 0.8.3 的内容。

2022/9/8:更新 OpenCore 0.8.4 的内容。

2022/12/8:更新 OpenCore 0.8.6 的内容。0.8.5 没更新什么内容就没写。

2023/1/9:OpenCore 0.8.7 和 0.8.8 没更新什么内容,所有本文章适用于 OpenCore 0.8.8。

2023/6/12:整理了文章格式,为之后更新内容打基础。

2023/7/1:更新 OpenCore 0.9.2 的内容,并修正部分内容。

2023/8/23:OpenCore 0.9.4 更新的内容和本文的内容不冲突,本文章依然适用于 OpenCore 0.9.4

暂无评论

发送评论 编辑评论


|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇