HibernationFixup 1.4.4

HibernationFixup 1.4.4

休眠修复

一个开源内核扩展,提供 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.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.4 蓝奏云点击下载(密码:hnkv)复制
1.4.3 蓝奏云点击下载(密码:b4t4)复制
1.4.2 蓝奏云点击下载(密码:1re6)复制
1.4.1 蓝奏云点击下载(密码:4egq)复制

资源信息

  • 软件名称:HibernationFixup
  • 软件语言:英文
  • 软件分类:驱动

原创文章,作者:carmelaweatherly,如若转载,请注明出处:https://blog.ytso.com/181231.html

(0)
上一篇 2021年10月31日
下一篇 2021年10月31日

相关推荐

发表回复

登录后才能评论