黑苹果安装引导工具OpenCore
(演示版本:OpenCore 0.6.5 Release)
里面含有 OpenCore 的更新日志,以及示例的配置文件(也是我们需要用到的),以及示例的 SSDT 补丁等
OpenCore 引导的主结构,也是重中之重
一些附加的脚本
下面讲解以下各自作用以及功能
OpenCore 存放 ACPI 补丁的目录,将 ACPI 补丁放置在里面,并在配置文件中选择加载(如 SSDT-EC.aml、SSDT-USBX.aml)
OpenCore BootStrap 启动方式的目录(如在配置文件中设置 BootStrap 启动则需要)
OpenCore 启动时加载的驱动文件,将驱动放置在里面,并在配置文件中选择加载(如 HFSPlus.efi、OpenRuntime.efi) Kexts 放置必需驱动:Lilu、VirtualSMC 或 FakeSMC
OpenCore 资源目录,可放置主题/音频等资源,并选择加载(需要 AudioDxe.efi、OpenCanopy.efi)
OpenCore 引导的可选小工具,如 ResetNVRAM.efi、CFGLock.efi
OpenCore引导程序
OpenCore配置文件
可使用的配置工具: Xcode(不做赘述) 我们用 OCC 打开 config.plist
我们可以看到,ACPI 配置加载 SSDT 补丁的地方,已经为我们预留好了一些补丁的加载位置,我们只需要选择对应补丁的启用框打勾,并把文件放在 ACPI 目录下即可 SSDT-PLUG:CPU 加载 X86 原生电源管理所需的 SSDT 补丁,除英特尔二三代不需要外,基本都需要。 SSDT-EC0:AMD 部分需要 SSDT-EC-USBX:上面两个的集合 SSDT-PNLF:背光修补 SSDT-RTC0:和上面一起 SSDT-SBUS:修复 400 系 SBUS 总线管理用,B360 用了会无法睡眠 SSDT-ULAC:USB Port 定制
补丁栏自行选用需要的 GPRW 改名:修复唤醒问题(阻断 USB 唤醒) 电池改名:匹配 BAT0 内容 ……
NormalizeHeaders:清理 ACPI 头字段以修复导致的引导崩溃 ResetHwSig:将 FACS 表内的 HardwareSignature 的值重置为 0 以上 5 个选项基本不用管
MmioWhitelist 处如果 Haswell 机型遇到 PCI 问题,可尝试开启(不讲解进阶方法,如定位 MMIO 区域等)
AvoidRuntimeDefag:修复主板环境和服务(必须开启) DisableSingleUser:关闭单用户模式 DiscardHibernateMap:睡眠相关,修复老旧机型的内存映射 BUG EnableWriteUnprotector:开放对 UEFI 服务的写入权限(一般开启) ProtectMemoryRegions:防止老旧机型的内存区域不被错误访问 SetupVirtualMap:构建虚拟内存并映射(一般开启,10 代台式机型(Comet Lake)及 AMD 部分主板因 OVMF 兼容问题需关闭该选项) ProtectUefiServices:防止UEFI服务(UEFI Sevices)被覆盖(一般和 DevirtualiseMmio 一起开启,Z390 需要开启,10 代(CometLake)可单独开启) RebuildAppleMemoryMap:重构 macOS 兼容的内存映射,和 EnableWriteUnprotector 二选一,遇到问题尝试开启 ProvideMaxSlide:默认即可
配置 PCI 设备的参数,例如注入 IGPU 的 Framebuffer 数据、注入音频的设备 ID 和 Layout ID PciRoot(0x0)/Pci(0x2,0x0) 一般为内置显卡(核显-IGPU),可在这里注入 Framebuffer
这里可以对内核作一些修改,包括注入驱动,对内核进行修补替换等
Cpuid1Data:EB060800 00000000 00000000 00000000 (来自Bugprogrammer) 强制加载 补丁
Ryzen 可在这里打对应的 Ryzen 专用内核补丁
AppleCpuPmCfgLock:如果 CFG Lock 状态为开启,则必须开启(Skylake 之前需和 AppleXcpmCfgLock 一起启用) AppleXcpmExtraMsrs:无原生电源管理的英特尔 CPU 需开启(Pentium、Haswell-E、Broadwell-E 等) CustomSMBIOSGuid:执行 SMBIOS 自定义模式下的 GUID 补丁(Dell 笔记本遇到序列号显示问题则开启) ExtendBTFeatureFlags:替代 BT4LEContinuityFixup 驱动 ExternalDiskIcons:强制 AHCI 所有磁盘为内置磁盘(如果遇到硬盘反转(内置—>外置,外置—>内置)尝试开启) IncreasePciBarSize:将 PCI 带宽大小扩充至 4GB LegacyCommpage:老旧主板使用SSSE3需开启 PowerTimeoutKernelPanic:禁用电源状态超时导致的内核崩溃(遇到睡眠崩溃或重启的问题可尝试开启) XhciPortLimit:修补 USB 驱动,解除 USB 端口超过 15 个的限制,定制 USB 后如果超过 15 个 USB 端口则保持开启 Misc ConsoleAttributes:启动菜单的文字颜色 HideAuxiliary:隐藏启动菜单辅助项(恢复模式、重置NVRAM等,开启后可通过启动菜单内按空格键显示辅助项) PickerAttributes:启动界面属性(默认即可) PollAppleHotKeys:模拟苹果快捷键(如 Command+V 进入调试模式) TakeoffDelay:快捷键延迟 Built In 为默认的显示模式 Apple 为白果用
到倒计时结束时进入默认指定到系统 1-Max 为开启
DisplayDelay:屏幕调试输出延迟 Target:屏幕调试输出目标 AppleDebug:调试日志 SysReport:在引导分区内生成系统报告 Security ExposeSensitiveData:暴露操作系统的敏感数据(UEFI 变量) 调整系统扫描规则 ApECID:苹果安全引导标识符
如果不使用文件加密选 Optional
None 为使用默认的引导启动方式 BootstarpShort:短引导选项,无法处理完整启动路径的固件可用(例如 Insyde) PasswordHash:密码哈希值 AllowNVRAMReset:引导界面开启内置的 NVRAM 重置工具 AllowSetDefault:允许使用 Ctrl+Enter 选择默认的启动项 SecureBootModel:选择 Disabled 即可(使用 Nvidia Web Driver、itlwm 需设为 Default,或强制加载) BlessOverride \EFI\Microsoft\Boot\bootmgfw.efi 即为引导单 EFI 下的 Windows
自定义引导项
修改 NVRAM 内的数据 SystemAudioVolume:修改系统声音大小(0-100) csr-active-config: 00000000 开启 SIP 设置默认语言 72753a3139343536 俄语 7A682D48616E733A323532 中文(zh-Hans:252) 开启 10.13.x Web Driver LegacyEnable:非原生 NVRAM(模拟 NVRAM)需开启 WriteFlash:允许把变量写入闪存
这里不细讲,选自己适合的就行了 SpoofVendor:仿冒主板品牌商为 Acidanthera SystemMemoryStatus:默认即可
APFS HideVerbose:隐藏 APFS 驱动的调试日志 GlobalConnect:在 APFS 加载期间执行完整的设备连接(针对 HP 机型)
将我们想加载的驱动的名字写在里面如 并勾选连接驱动程序(Connect Driver)
IgnoreInvalidFlexRatio:如果 MSR 0x194 区域被锁定则开启(Skylake 之前的机型如果未解锁 CFG 开启此项) RequestBootVarRouting:macOS 下启动磁盘内切换默认系统引导需开启 DeduplicateBootOrder:如果启动方式选择 BootStrap,需开启(在 OpenCore BootLoader 0.6.5 中被移除) 至此,config.plist 配置结束
开启-Enabled XHCI Hand Off:开启 CSM:关闭 启动方式:Windows 8/10 UEFI Fast Boot:关闭 CFG Lock:关闭 (以上为演示机 BIOS 设置,其他主板可能有相关调整)
|