休眠一次/恢复多次 (HORM)

可以将休眠一次/恢复多次 (HORM) 功能与统一写入筛选器 (UWF) 结合使用来以预配置状态启动设备。 启用 HORM 后,系统始终会从上次保存的休眠文件 (hiberfil.sys) 恢复和重启。

启用 HORM 的设备可以快速关闭或关闭,然后重启进入预配置状态,即使突然断电也是如此。

注意

HORM 只能在运行 Windows 10 版本 1709 或更高版本的 Windows 的统一可扩展固件接口 (UEFI) 设备上使用。 在以前的 Windows 版本中,UEFI 的安装过程会创建一个隐藏的系统分区。 由于 UWF 无法保护隐藏的分区,因此 HORM 不能用于包含隐藏分区的任何设备,包括基于旧版 Windows 的支持 UEFI 的设备。

要求

Windows 10 企业版、Windows 10 教育版或 Windows IoT 核心版(IoT 核心版)。 在基于 x86 和基于 x64 的设备上受支持。

在Windows 10版本 21H2 或更高版本的 Windows 上,必须实现 Read-Only 媒体模式才能启用 HORM。

UWF 配置

必须先启用 UWF,然后才能启用或禁用 HORM。 必须按照以下方式配置 UWF,防止休眠文件失效:

  • 系统上装载的所有固定卷都受 UWF 保护。
  • 系统不得为 UWF 配置任何文件、文件夹或注册表排除项。
  • UWF 覆盖必须配置为使用 RAM 模式。 HORM 不支持磁盘支持的覆盖。

UWF 不会筛选写入磁盘的休眠文件。 如果要保护设备的预配置状态,请锁定可以修改休眠文件的任何功能。 例如,禁用标准用户帐户的休眠、混合睡眠和快速启动,以防止在进入睡眠、休眠或关闭状态时覆盖保存的休眠文件。

若要在设备上禁用混合睡眠和快速启动,请执行这些步骤。

如何禁用混合睡眠

  1. 打开本地组策略编辑器 (gpedit.msc),导航到以下路径。
    Computer Configuration\Administrative Templates\System\Power Management\Sleep settings

  2. 在路径下启用以下两个设置:

    关闭混合睡眠(已接通电源)
    关闭混合睡眠(使用电池)

如何禁用快速启动

若要禁用快速启动,请设置以下注册表值:

重要

请认真遵循本部分所述的步骤。 如果注册表修改不正确,可能会发生严重问题。 在修改注册表之前,请备份注册表,以便在出现问题时可以还原。

项:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Power
名称:HiberbootEnabled
类型:DWORD
值:0 (0 = Disabled、1 = Enabled)

如何防止 Windows 由于系统空闲超时或用户操作而进入休眠状态

在本地组策略编辑器 (gpedit.msc) 中配置以下两个策略:

防止 Windows 因系统空闲超时而进入休眠状态的策略:

  1. 在以下路径下:
    Computer Configuration\Administrative Templates\System\Power Management\Sleep settings

  2. 启用这两项设置,将值设置为 0。

    指定系统休眠超时(已接通电源)
    指定系统休眠超时(使用电池)

禁用在电源选项菜单中显示“休眠”的策略:

  1. 在以下路径下:
    Computer Configuration\Windows Components\File Explorer

  2. 禁用以下设置:
    在电源选项菜单中显示休眠

注意

  • 请勿禁用休眠(即 powercfg /h off),因为它会删除 HORM 所需的 hiberfil.sys。
  • 即使你已设置所有这些设置,系统在重启后也会更新 hiberfil.sys 的时间戳。 这是因为 UWF 无法筛选 hiberfil.sys 文件,而该文件需要在系统重启期间压缩和解压缩。 但是,这不会更改 hiberfil.sys 的内容,因此设备的预配置状态受到保护。

配置 HORM

  1. 在设备上,以管理员身份打开命令提示符。

  2. 若要在设备上启用休眠,请键入以下命令:

    powercfg /h on

  3. 若要在设备上启用 UWF,请键入以下命令:

    uwfmgr.exe filter enable

  4. 若要保护设备上的所有卷,请键入以下命令:

    uwfmgr.exe volume protect all

    注意

    DVD RW 和软盘驱动器会引发可以放心忽略的预期错误。

  5. 若要重启设备以启用 UWF,请键入以下命令:

    uwfmgr.exe filter restart

  6. 设备重启后,若要验证在设备上进行的 UWF 更改,请键入以下命令:

    uwfmgr.exe get-config

  7. 若要在设备上启用 HORM,请键入以下命令:

    uwfmgr.exe filter enable-horm

    注意

    在启用 HORM 之前,请删除所有文件和注册表排除项。

  8. (可选)在控制面板中设置电源选项“按电源按钮时”,以免在从休眠状态恢复时显示命令提示符,也可以使用脚本在启动时关闭命令提示符。

  9. 若要将系统休眠一次以创建初始休眠文件,请在命令提示符下键入以下命令:

    shutdown /h

  10. 按电源按钮将系统从休眠状态唤醒。

  11. 在系统从休眠状态启动以创建初始休眠文件后,若要关闭并重启系统,请键入以下命令:

    uwfmgr.exe restart

  12. 启用 HORM 后,无法更改 UWF 配置。 若要进行更改,必须先禁用 HORM。 若要禁用 HORM,请键入以下命令:

    uwfmgr.exe filter disable-horm

  13. 若要重启系统以完成禁用 HORM 的操作,请键入以下命令:

    uwfmgr.exe restart

    系统在禁用 HORM 的情况下正常重启。

警告

启用筛选器或启用 HORM 时,请勿使用 Windows PE 来卸载 UWF,无论是联机还是脱机。

修复了无法禁用 HORM 的问题

在极少数情况下,设备可能会进入无法正常禁用 HORM 的状态。

如果无法在设备上禁用 HORM,请使用以下过程解决此问题:

  1. 在 Windows PE 中启动设备。

  2. 键入以下命令:

    bcdedit.exe /set {bootmgr} custom:26000024 0

  3. 重启设备:

    shutdown /r/t 0

  4. 禁用 HORM:

    uwfmgr.exe filter disable-horm

  5. 启用 HORM:

    uwfmgr.exe filter enable-horm

  6. 将设备休眠:

    shutdown /h