HibernationFixup 1.4.5

休眠修复

一个开源内核扩展,分享 RTC 变量和 NVRAM 之间的同步。通过设计,mach 内核对休眠 sleepimage 进行加密,并将加密密钥写入系统注册表 (PMRootDomain) 中的变量“IOHibernateRTCVariables”。必须以某种方式将此值写入 RTC(或 SMC),知识兔以便 boot.efi 可以读取它。但是,如果知识兔您必须将 RTC 内存限制为 1 个银行(128 字节),则它不起作用:SMC/NVRAM/RTC(实际上是 FakeSMC)中没有任何变量。

幸运的是,boot.efi 可以从 NVRAM 读取密钥“IOHibernateRTCVariables”!此 kext 检测进入“休眠”电源状态,知识兔从系统注册表读取变量 IOHibernateRTCVariables 并将其写入 NVRAM。

特征

  • 在 10.10.5 及更高版本上使用硬件 NVRAM 在 PC 上启用“本机”休眠。“本机”表示带加密的休眠(标准休眠模式 3 和 25)
  • 在休眠或恐慌之前启用转储 NVRAM 到文件 /nvram.plist

引导参数

  • -hbfx-dump-nvram 在休眠之前和内核恐慌之后(带有恐慌信息)将 NVRAM 保存到文件 nvram.plist
  • -hbfx-disable-patch-pci 禁用 IOPCIFamily 的补丁(此补丁有助于避免恢复后挂起和黑屏(不会为所有设备调用 restoreMachineState)
  • hbfx-patch-pci=XHC,IMEI,IGPU允许指定显式设备列表(并且知识兔不会仅为这些设备调用 restoreMachineState )。知识兔还支持值nonefalseoff
  • -hbfxdbg 打开调试输出
  • -hbfxbeta 启用在不受支持的 osx 上加载
  • -hbfxoff 禁用 kext 加载
  • hbfx-ahbm=abhm_value 控制自动休眠功能,其中 abhm_value 是以下各个值的算术和:
    • EnableAutoHibernation = 1:如果知识兔设置了此标志,系统将休眠而不是常规睡眠(以下标志可用于限制此行为)
    • WhenLidIsClosed = 2:关闭盖子时会发生自动休眠(如果知识兔未设置位 – 无论盖子处于哪种状态)
    • WhenExternalPowerIsDisconnected = 4:外部电源断开时会发生自动休眠(如果知识兔位未设置 – 无论是否连接)
    • WhenBatteryIsNotCharging = 8:电池未充电时会自动休眠(如果知识兔未设置位 – 无论是否充电)
    • WhenBatteryIsAtWarnLevel = 16:当电池处于警告级别时会发生自动休眠(macOS和电池kext负责此级别)
    • WhenBatteryAtCriticalLevel = 32:电池处于临界水平时会发生自动休眠(macOS和电池kext负责此水平)
    • DisableStimulusDarkWakeActivityTickle = 128:在内核中禁用电源事件 kStimulusDarkWakeActivityTickle,因此该事件无法触发从黑暗唤醒到完全唤醒的切换

    接下来的 4 位用于指定强制休眠时的最小剩余容量百分比值。可与WhenBatteryIsAtWarnLevel 或WhenBatteryAtCriticalLevel 一起使用,当IOPMPowerSource 无法检测警告或电池电量严重不足时

    • RemainCapacityBit1 = 256
    • RemainCapacityBit2 = 512
    • RemainCapacityBit3 = 1024
    • RemainCapacityBit4 = 2048

NVRAM 选项

以下选项可以存储在 NVRAM 中(GUID = E09B9297-7928-4440-9AAB-D1F8536FBF0A),它们可以用来代替各自的引导参数

  • hbfx-dump-nvram – 类型布尔
  • hbfx-disable-patch-pci – 类型布尔
  • hbfx-patch-pci=XHC,IMEI,IGPU,none,false,off – 输入字符串
  • hbfx-ahbm – 输入号码

v1.4.5

  • When battery level is critical, try to put macOS into sleep/hibernate mode only once per minute.

v1.4.4

  • Automatically puts macOS into sleep/hibernate mode when WhenBatteryIsAtWarnLevel or WhenBatteryAtCriticalLevel bit is set in hbfx-ahbm. If battery kext does not provide these levels, additional bits for remaining capacity can be specified (RemainCapacityBit1, RemainCapacityBit2, RemainCapacityBit3, RemainCapacityBit4).

v1.4.3

  • Use method routeMultipleLong instead of routeMultiple in order to avoid conflict with DebugEnhancer

v1.4.2

  • Use method routeMultipleLong instead of routeMultiple in order to avoid conflict with future versions of CpuTscSync

v1.4.1

  • Added constants for macOS 12 support.
资源下载免费资源1.4.5 蓝奏云知识兔点击下载密码:hc1r复制1.4.4 蓝奏云知识兔点击下载密码:hnkv复制1.4.3 蓝奏云知识兔点击下载密码:b4t4复制1.4.2 蓝奏云知识兔点击下载密码:1re6复制1.4.1 蓝奏云知识兔点击下载密码:4egq复制

下载仅供下载体验和测试学习,不得商用和正当使用。

下载体验

请输入密码查看下载!

如何免费获取密码?

点击下载

评论