找回密码
 注册账号
搜索
查看: 6470|回复: 1

[技巧] 黑苹果卡+++++++加号的小技巧

[复制链接]

755

主题

158

回帖

5568

积分

超级版主

积分
5568

最佳新人活跃会员热心会员推广达人宣传达人灌水之王突出贡献优秀版主荣誉管理论坛元老

发表于 2020.4.24 13:54 | 显示全部楼层 |阅读模式
相信很多的小白在安装Hackintosh的时候都遇到过恼人的卡+++问题吧,以前的经验是先替换OsxAptioFix各种版本,然后是计算slide值,各种骚操作,令人烦恼。


OcQuirks 是啥

OcQuirks是用于Clover的替代EFI驱动程序,可替代AptioMemoryFix和所有OsxAptioFix的变体。它是针对OpenCore源代码树构建的,并支持OpenCore的 OcQuirks 模型。



什么时候需要用到它?


假如你在安装 Hackintosh的时候出现了卡 +++的问题时,而其它的内存修复都无法发挥作用的时候,那么你有必要试一下 OcQuirks



  1. ERROR!!! Uncompress prelinked kernel
  2. ERROR!!! Load prelinked kernel with status 0x800000000000007
  3. Error loading kernel cache (0x7)
  4. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
复制代码


先决条件

OcQuirks EFI驱动程序依赖于OpenRuntime.efi,并且必须将它们一起安装在CLOVER EFI驱动程序目录中。可以在发行版zip中找到OpenRuntime.efi,它与OcQuirks一起构建。


安装

要安装OcQuirks,请下载最新版本或按照以下说明进行构建,然后将其安装到EFI中,以替换任何现有的内存修复驱动程序。

挂载您的EFI分区。

将您的EFI卷备份到可启动的USB驱动器中,并验证它是否可以工作。

从EFI卷上的 Clover 驱动程序文件夹中删除 AptioMemoryFix 和所有OsxAptioFix开头的驱动。

将OcQuirks.efi,OpenRuntime.efi和OcQuirks.plist添加到EFI卷上的Clover/drivers/UEFI文件夹中。



  1. EFI
  2. └── CLOVER
  3.     └── drivers
  4.         └──UEFI
  5.            ├──ApfsDriverLoader.efi
  6.            ├──HfsPlus.efi
  7.            ├──......
  8.            ├──OpenRuntime.efi
  9.            ├──OcQuirks.efi
  10.            ├──OcQuirks.plist
  11.            ├──......
  12.            └──VirtualSmc.efi
复制代码



重启。

如果您的系统无法启动,请使用U盘重新启动到macOS并通过相反的过程进行还原。检查以下参数,并使用与您的系统更匹配的参数配置OcQuirks.plist。

默认设置基于AptioMemoryFix,并且在设计时考虑了新的Intel系统。您的系统可能需要自定义设置(例如Z390可能需要DevirtualiseMmio + ProtectUefiServices,较旧的100-200系列可能需要``EnableWriteUnprotector)。还假定所有slide值都是有效的(不需要注入slide=xxx` )。



配置参数


通过将OcQuirks.plist放到Clover/drivers/UEFI文件夹中,可以更改下面列出的参数。可以在发行zip或OcQuirks存储库的根目录中找到。如果未找到plist,则使用以下默认值。


OcQuirks
默认值
描    述
AvoidRuntimeDefragTrue开启后会修复 UEFI 的运行服务, 例如日期, 时间, NVRAM, 电源控制等
DevirtualiseMmioFalse开启后会减少 Stolen 内存占用空间,扩大 Slide = N 值的范围, 适用于大多数主板
DisableSingleUserFalse开启后会禁止 Cmd + S 和 -s 的使用,使设备更加接近于 T2 白苹果
DisableVariableWriteFalse开启后会禁止 NVRAM 写入, 在 Z390/HM370 等没有原生 macOS 支持 NVRAM 的主板上需要开启
DiscardHibernateMapFalse开启后会重用原始休眠内存映射,仅某些旧硬件需要
EnableSafeModeSlideTrue开启后会允许在安全模式下使用 Slide 值
EnableWriteUnprotectorFalse开启后会在执行期间删除 CR0 寄存器中的写入保护
ForceExitBootServicesTrue开启后会确保 ExitBootServices 即使在 MemoryMap 发生更改时也能调用成功, 除非有必要, 否则请勿使用
MmioWhitelistArray设计为用plist dict值填充,描述使用DevirtualiseMmio quirk时对特定固件功能至关重要的地址。
ProtectMemoryRegionsFalse开启后会用于修复人为制造和睡眠唤醒的问题, AvoidRuntimeDefrag 已经修复了这个问题所以请尽可能避免使用这个 Quirk
ProtectSecureBootFalse避免操作系统对 UEFI 安全启动变量 (db, dbx, PX, KEK) 进行写入, 这个选项主要用于避免 Insyde 主板和 MacPro5,1 的 NVRAM 问题
ProtectUefiServicesFalse保护UEFI服务不被固件覆盖。
ProvideConsoleGopEnableTrue如果控制台句柄中缺少图形输出协议,请安装。
ProvideCustomSlideTrue如果 Slide 值存在冲突, 此选项将强制 macOS 执行以下操作:使用一个伪随机值。只有在遇到 Only N/256 slide values are usable! 时需要
RebuildAppleMemoryMapTrue生成与macOS兼容的内存映射。
SetupVirtualMapTrue开启后会将 SetVirtualAddresses 调用修复为虚拟地址
SignalAppleOSFalse通过 OS Info 将 macOS 加载的信息报告给其它操作系统, 用于在 Windows 中为 MacBook 启用 iGPU
SyncRuntimePermissionsTrue同步运行时环境的内存权限。



有关 OcQuirks 的更详细说明,请查阅《OpenCore配置手册》。

OcQuirks下载链接:https://github.com/ReddestDream/OcQuirks/releases

会成功的人 该用户已被删除
发表于 2020.4.24 15:13 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
LOADREAM
您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

Archiver|小黑屋|童话镇 |网站地图

GMT+8, 2025.2.22 16:41 , Processed in 0.033917 second(s), 6 queries , Gzip On, MemCached On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表