OpenCore是CloverEFI或Chameleon的另一种引导加载程序。 它不仅适用于Hackintosh,也可以在真正的mac上用于需要仿真EFI的目的。 它还旨在能够启动Windows和Linux,而无需使用不同的acpi表。 它有一个干净的代码库,旨在更接近真正的mac引导加载程序的功能。 Kext注射剂得到了极大的改善,OpenCore(OC)是一种新的引导方式,随着越来越多的kexts开始放弃Clover, 我相信提早使用OC会对你未来使用黑苹果会有很大的帮助。这是一个自然的现象,就像变色龙被Clover淘汰,相信以后OC会代替Clover也是大势所趋。
更新内容
“OpenCore1.0.2”
展开/收缩
- 修复了无头运行时 macrecovery 中的错误
- 增加了对的支持
AMD_CPU_EXT_FAMILY_1AH
- 更新了 SMBIOS 和其余部分的内置固件版本
XcpmExtraMsrs MSR_MISC_PWR_MGMT
在 macOS 12+ 上启用补丁- 修复
XcpmExtraMsrs MSR_MISC_PWR_MGMT
macOS 15 上的补丁 - 添加了
UEFI
Unload
卸载现有固件驱动程序的选项 - 修复了用于 macOS 安装的 VirtIO 磁盘驱动器的启动设备选择问题
“OpenCore1.0.1”
展开/收缩
- 更新了代码并向 macrecovery 添加了进度条
- 捆绑大二进制 i386/x64 10.6+
nvramdump
与 LogoutHook 版本兼容 - 通过以下方式添加了对 i386/x64 10.6+ 版本用户空间工具的手动构建支持
FATBIN32=1 make
XcpmExtraMsrs MSR_MISC_PWR_MGMT
由于不存在补丁,macOS 12+ 上已禁用该补丁- 修复
ThirdPartyDrives
macOS 14.4 及更高版本上的Quirks - 解决了 OS X 10.8 及更早版本(自 0.9.7 以来)启动恢复的问题
- 已迁移至 edk2-stable202405
“OpenCore1.0.0”
展开/收缩
- 更新了 SMBIOS 和其他版本的内置固件版本
- 切换到 Apple Silicon GitHub runner 进行 CI
- 在所有提供的实用程序中添加了 Apple Silicon 支持
- 实用程序现在需要 macOS 10.9+(OpenCore 本身仍然支持 macOS 10.4+)
- 添加了
AllowRelocationBlock
对 32 位版本的支持 - 在 OpenDuet 的非 RELEASE 版本中启用额外的串行日志记录
- 在 OpenDuet 中添加了缺少的 DxeCore ImageContext HOB
- 修复了 OpenDuet 中依赖顺序导致的断言
- 在 OpenDuet 中释放超过 4GB 的内存时,正常情况下会阻止断言
- 阻止调试断言报告 OpenDuet 中不存在可选 Hii 协议
- 修复了在 OpenDuet 中加载非固件运行时驱动程序(例如 OpenRuntime.efi)的问题
- 解决了在 OpenDuet 中使用 NOOPT 调试的问题
- 修复了 Configuration.pdf 中的字母顺序
“OpenCore0.9.9”
展开/收缩
- 修复了 ocvalidate 中的错误警告
- 修改
Launchd.command
为在删除后重新创建其日志文件 - 更新为与 macOS Sonoma 配合使用(升级到 Sonoma 后
Launchd.command
重新运行)./Launchd.command install
- 修复了 中错误标记的 MacBookPro11,3 型号代码
macserial
- 改进了慢速连接的macrecovery下载逻辑,以首先获取块列表,
“OpenCore0.9.8”
展开/收缩
- 更新了 OpenDuet 以允许加载未签名、未对齐的旧版 Apple 映像,例如 HfsPlusLegacy.efi
- 修复了 AMD 10h 系列上的 CPU 频率计算
- 交换了“关机”和“重启”按钮的位置,以更好地匹配最新的 macOS
- 添加
OC_ATTR_USE_REVERSED_UI
以允许访问以前的默认关机和重新启动按钮排列 - 修复了如果在动画结束之前选择返回菜单的条目,介绍动画会卡在 OpenCanopy 中的问题
- 修改了 OpenCanopy,仅在使用时才要求存在标签图像,因为
OC_ATTR_USE_GENERIC_LABEL_IMAGE
- 提供
OC_ATTR_REDUCE_MOTION
选择性禁用非必需的 OpenCanopy 菜单动画 - 修改了 NVRAM 注销挂钩以处理字符串变量中的 XML 实体
- 修复了 AMD 0Fh 系列上的 CPU 频率计算
Exclude
为 mkext添加了 kext 拦截策略- 为 Acer E5 等系统重新启用 AudioDxe 故障转移到协议 GET 模式,当 DisconnectHda 不起作用时它可以工作
- 添加了
FirmwareSettingsEntry.efi
驱动程序,该驱动程序添加了菜单条目以重新启动到 UEFI 固件设置中 - 启用了选择器快捷键,使用时在 OpenCanopy 中读出
PickerAudioAssist
- 修改了内置选择器,以便在读出音频辅助菜单时不响应排队的按键
- 修复了自 0.8.8 起使用 OpenDuet 时的 Linux EFI 存根加载错误
- 使用 OpenDuet 修复了 APFS JumpStart 和
SecureBootModel
Disabled
- 添加了 xen hypervisor 的 TSC 频率计算
- 支持额外的早期 Nvidia UEFI VBIOS
EnableGop
vBiosInsert.sh
“OpenCore0.9.7”
展开/收缩
- 更新了recovery_urls.txt
- 更改了 OpenDuet 以强制执行
W^X
设置,而不是在加载的图像中修复它们 - 更新了
FixupAppleEfiImages
怪癖以修复W^X
所有非安全启动 Apple 签名的二进制文件中的错误 - 更新了 SMBIOS 和其他版本的内置固件版本
- 已更新
AppleEfiSignTool
以与新的 PE COFF 加载程序配合使用 - 修复了恢复在某些系统上无法启动的问题
- 更新了
ProvideCurrentCpuInfo
怪癖以支持 Mac OS X 10.5 和 10.6 上的 CPUID leaf 0x2 缓存大小报告 - 更新
efidebug.tool
以支持新的标准图像格式
“OpenCore0.9.6”
展开/收缩
- 在 Booter->Quirks 属性中添加了 FixupAppleEfiImages 键
- 添加了西班牙语
“OpenCore0.9.5”
展开/收缩
- 修复了旧版 NVRAM 保存的 GUID 格式
- 修复了无法打开 NTFS 文件系统根目录中的文件的问题
- 修复了卸载 NTFS 驱动程序时的挂起问题
- 添加了 UEFI quirk
ShimRetainProtocol
,允许从 shim 链接的 OpenCore 使用 shim 的证书验证 Linux - 添加了
OpenLegacyBoot
用于支持旧版操作系统启动的驱动程序 - 添加了
shim-make.tool
下载和构建 rhboot/shim,用于 Linux SBAT 和 MOK 集成
“OpenCore0.9.4”
展开/收缩
Exclude
修复了32 位版本 macOS 上预链接的kext 拦截器策略- 修复了
ForceAquantiaEthernet
macOS 14 beta 2 上的Quirk
- 添加
InstanceIdentifier
到 OpenCore 和针对.contentVisibility
特定实例的选项 - 改进了
LapicKernelPanic
macOS 旧版本的Quirk
- 允许
.contentVisibility
在与 相同的引导 FS 根位置中.VolumeIcon.icns
,以便在 macOS 更新中继续存在 - 修复了 Silvermont Atom/Celeron 处理器上不正确的核心计数
- 修复了 Silvermont Atom/Celeron 处理器上用于 TSC 计算的 PM 计时器检测
- 修复了通过 OpenDuet 启动时非 Intel 芯片组上的 PM 定时器检测
FadtEnableReset
已在 NVIDIA nForce 芯片组平台上修复- 添加了 BlockIoDxe 替代 OpenDuet 变体
- 使用
ForceResolution
选项时添加了对 ATI 卡的支持
“OpenCore0.9.3”
展开/收缩
--force-codec
为 AudioDxe添加了选项,- 将模拟 NVRAM 正常操作中的附加警告消息降级为信息
- 默认禁用 SSDT-SBUS-MCHC 中不存在的 DVL0 设备,
Builtin
向渲染器控制台字体添加了 EFI 强制方框绘图、块元素和箭头字符- 改进了对内置选择器中超长菜单项和非常窄的控制台模式的支持
- 使
Builtin
文本渲染器在需要时忽略 UI 比例,以确保文本模式达到 UEFI 支持的最小大小 80x25 - 添加保存和恢复文本和图形模式圆形工具和失败的引导条目
- 更新了超出范围的光标处理以解决 memtest86 中的小显示问题
- 向驱动程序添加了可选
--enable-mouse-click
参数CrScreenshotDxe
以额外响应鼠标单击 --use-conn-none
向驱动程序添加选项AudioDxe
以在某些系统上发现额外的可用输出通道- 添加了
PciIo
用于修复 Aptio IV 与 4G 以上 BAR 的兼容性的协议覆盖 - 修复了
AppleXcpmForceBoost
macOS 14 上的问题 - 更新了 SMBIOS 和其他的内置固件版本
- 添加了
ConsoleFont
为Builtin
渲染器加载自定义控制台字体的选项 - 改进了
XhciPortLimit
macOS 11 到 14 的Quirk
“OpenCore0.9.2”
展开/收缩
- 添加了
DisableIoMapperMapping quirk
- 修复了启用 Apple 安全启动时禁用单用户模式的问题
GopBurstMode
改进了对不需要的系统的保护检查GopBurstMode
改进了与一些非常非标准的 GOP 实现的兼容性GopBurstMode
修复了在 DEBUG 版本上启用时可能挂起的问题GopBurstMode
即使使用本地支持的卡,在 EnableGop 固件驱动程序中也启用- 修复了无法修补强制注入的 kexts
- 修复了
ExternalDiskIcons
macOS 13.3+ 上的问题,thx @fusion71au Builtin
修复了文本渲染器中的各种最近的回归和一些长期存在的小错误- 对
Builtin
文本渲染器应用了一些额外的小优化 - 实现了
InitialMode
允许精细控制文本渲染器操作模式的选项 - 添加了对渲染器
ConsoleMode
文本分辨率设置的支持Builtin
- 修复了 ACPI 怪癖的回归
RebaseRegions
和SyncTableIds
- 更新构建过程以提供稳定和前沿的版本
EnableGop
- 实施小改进
PickerMode
Apple
- 改进了过滤算法
LogModules
并添加了?
匹配非标准日志行的过滤器 - 修复了在虚拟化 CPU 上收集系统报告时的崩溃
- 修复了首次使用模拟 NVRAM 启动时不必要的警告
“OpenCore0.9.1”
展开/收缩
- 修复了 ACPI 补丁的长注释打印
- 添加了用于 VS 代码源级调试的示例配置
gdb
- 更新了 SMBIOS 和其他的内置固件版本
- 将 GOP 内存缓存报告添加到
SysReport
- 实施
GopBurstMode
怪癖以在旧固件上更快地执行 GOP - 修复了
ThirdPartyDrives
macOS 13.3 及更高版本的问题
“OpenCore0.9.0”
展开/收缩
- 解决了选择器图形上显示详细启动日志的问题
- 在 EnableGop UI 部分添加了版本号,因此工具构建者可以跟踪它
- 添加了
ProvideCurrentCpuInfo
对 macOS 13.3 DP 的支持 - 为 EnableGop vBIOS 插入脚本添加了 AMD 支持、GOP 偏移自动检测和 macOS 10.11+ 支持
- 包括预编译的 EDK-II
EfiRom
和OpenCore 版本GenFfs
Utilities/BaseTools
“OpenCore0.8.9”
展开/收缩
- 改进了应用 ACPI 补丁时的调试日志记录
- 修复了在没有 Apple Secure Boot 的情况下使用旧启动加载 macOS
- 为传统引导 BootInstall 脚本添加了 Linux 支持
- 更新了 SMBIOS 和其他的内置固件版本
- 修复了在图形模式下启动时控制台模式初始化不完整的问题
- 提供额外的 UEFI forge 模式,用于固件驱动程序
- 实现了固件驱动程序,在 EFI 时代的 Mac 上支持非本机支持的 GPU 上的 pre-OpenCore 图形
- 在图形模式下防止不需要的清除屏幕控制台背景颜色
- 添加了
ResizeUsePciRbIo
quirk以解决某些 UEFI 固件上损坏的 PciIo,thx@xCuri0 SysReport
修复了在较旧的 Atom 系统上使用时的崩溃- 修复了在无缓存启动期间没有修补没有 Contents 文件夹的 kexts
- 向所有驱动程序添加只读部分 (
.rdata
),以便在支持时更好地保护内存 SysReport
修复了在具有非音频 HDA 编解码器的系统上使用时的崩溃- 修复了对 GDB 和 LLDB 的调试脚本支持
- 修复了在 macOS 加载时断言的遗留启动调试构建
“OpenCore0.8.8”
展开/收缩
- 将底层 EDK II 软件包更新为 edk2-stable202211
- 从 macOS 13.1 更新了 AppleKeyboardLayouts.txt
- 更新了 SMBIOS 和其他的内置固件版本
- 如果 FullNvramAccess 不同,则更新 ocvalidate 以允许重复工具
- 已修复
Kernel
->Block
如果一个条目由于以下原因而被跳过,则条目不会被处理Arch
- 修复了启用 kext 阻止时由 XML 损坏导致的间歇性预链接失败
- 从用于选择器隐藏的 OpenCore 文件中删除了神奇的 Acidanthera 序列
- 添加
.contentVisibility
隐藏和禁用启动项 - 为用于 Duet 调试的 QemuBuild.command 添加了 Linux 支持
- 内置新的安全 PE/COFF 加载程序
- 添加了支持 Apple Silicon 的预构建 mtoc 通用二进制文件
- 更正了基于 Apple Silicon 的 OpenDuet 构建
- 添加了 SD 卡设备路径支持以选择引导设备
“OpenCore0.8.7”
展开/收缩
- 启动非文本启动项时删除了不需要的清晰屏幕
- 修复了 ProvideCurrentCpuInfo 中 AMD CPU 的 TSC/FSB,
- 添加
Misc
->Boot
->HibernateSkipsPicker
如果从 macOS 休眠中唤醒则不显示选择器 - 将 macrecovery 更改为
com.apple.recovery.boot
默认下载文件, - 在 MacPro5,1 (
BootKicker.efi
thxPickerMode
Apple
- 已启用
PickerMode
Apple
以成功启动所选条目 - 启用
BootKicker.efi
以成功启动所选条目(通过重新启动)( - 向 OpenVariableRuntimeDxe 添加了防欺骗 UEFI 2.x 检查
“OpenCore0.8.6”
展开/收缩
- 更新了 NVRAM 保存脚本以兼容早期的 macOS(Snow Leopard+ 测试)
- 更新了 NVRAM 保存脚本以自动安装为启动守护程序 (Yosemite+) 或注销挂钩(旧 macOS)
- 修复了非标准轮询频率的最大点击持续时间和双击速度
- 添加了对指针停留单击的支持
- 修复了某些系统上第一个非早期日志行的递归循环崩溃
- 修复了使用不安全的快速文件日志记录时的早期日志保存
- 更新了 SMBIOS 和其余部分的内置固件版本
- 使用独立的模拟 NVRAM 驱动程序解决了 EFI 1.1 系统(包括早期 Mac)上的从睡眠中唤醒故障
- 使用 macOS 12 和 13 更新了 macrecovery 命令
- 使用 macOS 特定的 STA 更新 SSDT-BRG0 以避免 Windows 上的兼容性问题
- 修复了 OpenLinuxBoot 中导致 32 位 UEFI 固件崩溃的内存问题
“OpenCore0.8.5”
展开/收缩
- 更新了 SMBIOS 和其余部分的内置固件版本
- 将仅存在于 Windows Server 2022 中的 CPU 对象移至
SSDT-HV-DEV-WS2022.dsl
- 更新了 Hyper-V 设备路径扩展以支持磁盘的热添加/删除
- 内核修补期间改进的详细日志记录
“OpenCore0.8.4”
展开/收缩
- 在 oc validate 中添加了对
Driver
->的检查LoadEarly
FullNvramAccess
为需要直接访问 NVRAM 的工具添加了选项- 替换为
SSDT-HV-CPU.dsl
与SSDT-HV-DEV.dsl
Windows 10 和更新版本上的旧 macOS 版本兼容 - 将内置 zlib 库更新到 1.2.12
- 将 ocpasswordgen 更改为不在密码输入时打印字符
- 添加了 ProcessKernel 实用程序,用于基于配置测试 kext 注入
- 修复
SysReport
了在 Pentium 4 系统上使用时的崩溃问题 - 修复了在使用 DEBUG 构建和文件日志记录时调用 ExitBootServices() 后的崩溃
- 修复了 macOS 上的 32 位用户空间构建支持(使用 High Sierra 10.13 及更低版本)
- 添加了具有 HTTP 引导支持的基本 NetworkPkg 驱动程序集
“OpenCore0.8.3”
展开/收缩
- 添加了 ext4 文件系统驱动
- 添加了对 macOS 13 DP3 内核集合的支持
--force-device
为 AudioDxe添加了选项,允许 HDA 控制器上的 UEFI 音频误报为非 HDA 音频设备- 提供可选的不安全快速文件记录(仅适用于具有完全兼容 FAT32 驱动程序的固件)
- 修复了无缓存注入期间不正确的 OSBundleLibraries_x86_64 处理
- 将 RsaTool 更改为不链接到 macOS 上的系统 ssl
- 修复了启用 kext 阻塞时无缓存注入期间的崩溃
- 从 AudioDxe 中删除了默认编解码器连接延迟
--codec-setup-delay
为 AudioDxe添加了可选参数Audio
将->的单位从微秒更改SetupDelay
为毫秒(如果使用此设置,则将先前的值除以 1000)- 修复了在执行无缓存启动时在 macOS 10.4.11 下选择了不正确的 FAT 二进制片
- 修复了 OpenCanopy 中标签动画初始化导致的罕见断言
- 添加
--show-csr
了Toggle SIP
启动菜单条目的选项 AllowRelocationBlock
为Booter quirk添加了 macOS 10.4 和 10.5 支持- 为 macOS 10.4 添加了 CPU 缓存信息注入
ProvideCurrentCpuInfo
功能 - 添加了模拟 NVRAM 驱动程序,以便与 OpenDuet 分开使用
- 添加了对 NVRAM 重置的支持,并在使用模拟 NVRAM 时设置默认启动项
- 升级了模拟 NVRAM 注销脚本,以允许在无人监督的情况下安装最近的 macOS OTA 更新
- 添加
Driver
->LoadEarly
用于需要在 NVRAM 初始化之前加载的驱动程序
“OpenCore0.8.2”
展开/收缩
AppleCpuPmCfgLock
已在 macOS Ventura 13 上修复DummyPowerManagement
已在 macOS Ventura 13上修复- 更新了 SMBIOS 和其余部分的内置固件版本
AvoidRuntimeDefrag
添加了对Booter quirk的 macOS Ventura 13支持- 在 DEBUG 构建中添加了注入的 kext 捆绑版本打印
- 为 CreateVault 脚本添加了 Linux 兼容性
【解压密码:imacos.top】
评论1