将 Compact OS 与 Windows IoT Enterprise 配合使用

适用于:
✅ Windows 11 IoT 企业版
✅Windows 10 IoT 企业版
✅Windows 10 IoT 企业版 LTSC 2021

压缩 OS 将操作系统文件安装为压缩文件,并允许从压缩文件运行操作系统以节省磁盘空间。 可以即时启用或禁用精简 OS,并且基于 UEFI 和基于 BIOS 的设备都支持此功能。

启用 Compact OS 功能

可以在部署 Windows 时或者在安装 Windows 后运行时启用精简 OS 功能。 可以通过多种方式启用 Compact OS 功能。 本文提供了用于创建和管理 Compact OS 功能的最常见方法。 有关详细信息,请参阅精简 OS、单实例和映像优化

使用 WIM 文件部署精简 OS

  1. 使用基于 Windows 10 或更高版本的 Windows PE 启动目标设备。

  2. 创建一个等于 256 MB 的页面文件。

    wpeutil createpagefile C:\pagefile /size=256
    

    其中 C 是 Windows 分区

  3. 格式化并准备该分区,然后使用 DISM 工具将映像应用于该分区。 /compact 参数启用精简 OS。

    DISM /Apply-Image /ImageFile:install.wim /Index:1 /ApplyDir:D:\ /compact
    

从 Windows 安装程序部署精简 OS

使用应答文件,并将 Microsoft-Windows-Setup\ImageInstall\OSImage\Compact 设置为 True

在运行时启用精简 OS

如果设备上已安装 Windows IoT Enterprise,则可以使用 compact.exe 命令行实用工具查询是否启用了 Compact OS,或者随时更改 Compact OS 配置。

在权限提升的命令窗口中:

若要启用精简 OS,请运行以下命令:

Compact /compactos:always

若要查询是否启用了精简 OS,请运行以下命令:

Compact /compactos:query

若要禁用精简 OS,请运行以下命令:

Compact /compactos:never

精简 OS 的性能影响

默认压缩算法针对 Compact OS 的最常见用例进行优化。 对于相对新的设备,不应观察到很多性能下降,尤其是在使用固态硬盘时。

实际性能影响取决于存储设备和计算设备的相对性能。 压缩意味着减少读取,这可以消除存储设备的负载并提高 I/O 性能;但同时也意味增加解压缩,而这会增大 CPU 负载并降低性能。 在具有快速 CPU 和慢速存储 I/O 的系统上,性能可能更好,因为设备在按顺序读取文件时 I/O 绑定了 I/O;但是,在配置不同的系统上,这可能不是真的。 建议测量方案的性能,以评估启用 Compact OS 的影响。

Windows 评估和部署工具包 (Windows ADK) 包含 Windows 评估工具包和 Windows 性能工具包。 这些工具包提供完整的解决方案用于评估精简 OS 的整体性能影响。 与精简 OS 相关的典型性能因素包括:

除了 Windows ADK 以外,还可以使用 diskspd 工具来度量磁盘 I/O 性能,例如:

  • 磁盘 I/O 吞吐量
  • 执行磁盘读取时的 CPU 使用率

有关使用精简 OS 和 UWF 的最佳做法

统一写入筛选器(UWF) 通过截获和重定向到驱动器的任何写入到虚拟覆盖来保护存储设备。 UWF 截获对存储的写入,并将其重定向到虚拟覆盖。 启用 UWF 时启用或禁用 Compact OS 可填补覆盖层降低性能。 此外,重新启动系统时会清除覆盖层。 当 UWF 已在保护存储时启用 Compact OS 时,重新启动系统还原启用 Compact OS。 在设备上同时使用 Compact OS 和 UWF 时,请考虑以下顺序指南:

  • 在部署期间,必须在启用 UWF 之前启用 Compact OS。
  • 若要在部署后更改 Compact OS 的状态,请先禁用 UWF,然后在重新启用 UWF 之前启用或禁用 Compact OS。
  • 若要在部署 Compact OS 和 UWF 后更改 Compact OS 配置,请使用 UWF 服务模式。 有关详细信息,请参阅服务 UWF 保护的设备

更多文件压缩选项

启用 Compact OS 会压缩 OS 文件和一些选择的程序文件集,针对可执行文件和只读二进制文件进行了高度优化。 对于 OEM 添加的自定义只读程序文件,可以查找这些文件并使用 Compact.exe /EXE 选项进一步将其压缩。

Compact.exe /C /S:"c:\Program Files (x86)\ target custom program folder" /EXE:XPRESS8K *.dll  

注意

/EXE:<compression algorithm> 选项已针对类似于精简 OS 的可执行文件或只读文件进行优化。 如果打开通过此选项压缩的文件进行写入,它们将自动解压缩。 这些自定义程序文件的安装程序负责检测它们是否是使用“/EXE:XPRESS8K”压缩的,并且在覆盖后必须将其重新压缩。

对于可写文件,可以使用传统的 NTFS 压缩。 即使写入到它们,它们也会保持压缩状态。 此外,它们的性能开销高于“/EXE:”选项或精简 OS。

Compact.exe /C /S:"c:\Program Files (x86)\target custom program folder" *writable*files*pattern*

注意

Windows IoT 企业版 OEM 预计将进行彻底测试,以评估在压缩 OS 之外针对固定方案应用此类附加压缩的性能影响。

更多资源