在 Windows 10 IoT 核心版上使用统一写入筛选器 (UWF)

统一写入筛选器 (UWF) 功能用于保护物理存储介质,以免数据写入。 UWF 将拦截所有针对受保护卷的写入尝试,并将这些写入尝试重定向到虚拟覆盖。 这可改进设备的可靠性和稳定性,同时减少写入敏感介质(例如,诸如固态硬盘等闪存介质)的损耗。

有关详细信息,请参阅统一写入筛选器相关文档。

如何在运行 Windows 10 IoT 核心版的设备上安装 UWF

  • 如果还没有 Windows 10 IoT 核心版工具包的当前版本,请下载并安装 Windows 10 IoT 核心版程序包

  • 根据设备体系结构,将 UWF 程序包(Microsoft-IoTUAP-UnifiedWriteFilter-Package.cabMicrosoft-IoTUAP-UnifiedWriteFilter-Package_Lang_en-us.cab)从电脑 (C:\Program Files (x86)\Windows Kits\10\MSPackages\Retail\<arch>\fre\) 复制到设备(例如,使用 Windows 文件共享)。

  • 启动 SSHPowerShell,并访问运行 Windows 10 IoT 核心版的设备。

  • 在 SSH 或 PowerShell 中,执行以下操作:

    • 更改为已在其中复制文件的目录
      • cd C:\<dir>
    • 运行以下命令,以将程序包安装到 IoT 设备系统映像:
      • applyupdate –stage .\Microsoft-IoTUAP-UnifiedWriteFilter-Package.cab
      • applyupdate –stage .\Microsoft-IoTUAP-UnifiedWriteFilter-Package_Lang_en-us.cab
      • applyupdate –commit
  • 设备将启动到更新操作系统、安装 UWF 功能,然后重新启动到 MainOS。

  • 设备回到 MainOS 后,UWF 功能即准备就绪并可供使用。 这可通过在 PowerShell 或 SSH 窗口中键入 uwfmgr.exe 来进行验证。

    Windows 10 IoT 核心版上的 uwfmgr.exe

如何在自定义 FFU 中包含 UWF

  • 将“IOT_UNIFIED_WRITE_FILTER”功能 ID 添加到 OEM 输入文件中
  • 创建映像\FFU。 有关说明,请参阅创建基本映像

如何使用 UWF

可以通过 PowerShell 或 SSH 会话使用 uwfmgr.exe 工具配置 UWF。 读取 uwfmgr.exe 工具数据,除了 IoT 核心版不支持的下列某些命令以外,还需了解可用选项。 查看覆盖配置的默认设置,并根据你的要求对其进行调整。

UWF 还可使用统一写入筛选器 CSP 通过 MDM 通道进行配置。

  • 例如,以下命令组合可启用 uwfmgr 并配置为保护 C 驱动器

    • uwfmgr.exe filter enable 启用写入筛选器
    • uwfmgr.exe volume protect c: 保护卷 C
    • shutdown /r /t 0 重新启动设备以使写入筛选器设置生效

需要重新启动才能使所有 uwfmgr 设置生效。

保护数据卷

可以使用卷的 GUID 来保护 IoT 核心版中的数据卷。 可以通过以下命令查找可用卷的 GUID

  • dir /AL

  • uwfmgr.exe volume protect \\?\Volume {GUID}

    保护 Windows 10 IoT 核心版中的卷

保护数据卷时,建议为 Windows OS 服务所访问的服务和日志记录文件夹添加例外。

C:\Data\Users\System\AppData\Local\UpdateStagingRoot
C:\Data\SharedData\DuShared
C:\Data\SystemData\temp
C:\Data\users\defaultaccount\appdata\local\temp
C:\Data\Programdata\softwaredistribution
C:\Data\systemdata\nonetwlogs

添加排除项:uwfmgr.exe file Add-Exclusion <file/folder name>

为 UWF 保护的设备提供服务

注意

从 Windows 10 IoT 核心版发行版 1709 版本 16299 开始,可以使用 UWF 保护主 OS 卷 (C:),并且可以自动提供服务,无需任何特殊步骤。

需要执行以下步骤,才能为 UWF 保护的设备以及保护的数据卷提供服务。

  • uwfmgr.exe filter disable 禁用 UWF
  • shutdown /r /t 0 重新启动设备以禁用 UWF
  • 启用服务(使用预配程序包或 MDM 设置更新策略)
    • 请注意,设备将自动重新启动以执行服务更新
  • uwfmgr.exe filter enable 启用 UWF
  • shutdown /r /t 0 重新启动设备以启用 UWF

不受支持的 uwfmgr.exe 命令

IoT 核心版不支持 UWF 服务模式。

Windows 10 IoT 核心版上的 uwfmgr.exe 不支持下列命令。

Filter
    Shutdown
    Restart
Servicing
    Enable
    Disable
    Update-Windows