捕获和应用 Windows 完整闪存更新 (FFU) 映像

使用完整闪存更新 (FFU) 映像格式在工厂车间更快地部署 Windows。 使用 FFU 映像,可以一次将物理驱动器的映像(包括 Windows、恢复和系统分区信息)直接应用到不同的驱动器。

与基于文件的 WIM 格式不同,FFU 是一种基于扇区的文件容器,用于存储一个或多个分区。 基于扇区的映像意味着 FFU 的部署时间更短,但文件大小比 WIM 大。 有关映像格式之间差异的信息,请参阅 WIM 与 VHD 与 FFU:比较映像文件格式。

从 Windows 10 版本 1903 开始,你可以将 FFU 优化为新的可移植 FFU,其中:

应用 FFU 的驱动器可以小于从中捕获 FFU 的驱动器。

可以选择一个根据新驱动器大小动态扩展或收缩的分区。

无需再为不同大小的驱动器单独管理恢复分区。

注意

应用优化的 FFU 需要 Windows 10 版本1903、WinPE 版本 1903 或更高版本。

限制

如果不优化 FFU,应用 FFU 的驱动器必须与从中捕获 FFU 的驱动器大小相同或更大

不支持对加密磁盘进行 FFU 捕获

不支持捕获启用了卷影复制服务 (VSS) 的磁盘

不支持拆分压缩的 FFU

捕获 FFU 会捕获整个磁盘,没有排除特定文件的机制

无法捕获使用 基于 MBR 的硬分区的硬盘驱动器的 FFU

在 Windows 中使用 FFU 需要什么

若要使用 DISM 捕获、部署和装载 FFU 映像,你需要在 Windows 10 版本 1709 或更高版本;或者适用于 Windows 10 版本 1709 或更高版本的 WinPE 环境中操作。 若要部署可移植的 FFU,你需要适用于 Windows 10 版本 1903 或更高版本的 WinPE。

若要按照以下说明捕获和部署 FFU,你还需要:

已使用 Sysprep 通用化的 Windows PC。 我们将其称为参考 PC。 有关如何创建已准备好部署的映像的演练,请参阅 OEM Windows 部署实验室。

要将 FFU 映像部署到的 PC。 我们将其称为目标 PC。 此 PC 上的硬盘驱动器将被覆盖,因此请确保你使用的 PC 没有你想要保留的任何信息。

最新版本的 ADK,来自下载 Windows ADK

存储

格式化为 NTFS 且有足够空间来保存 FFU 的 USB 存储。 16 GB 的空间足以存储基本 Windows 映像的 FFU。 如果按照有关创建多分区 USB 驱动器的说明进行操作,则可以将同一 USB 驱动器用于 WinPE 和存储。 为了获得最佳性能,你希望最大化 FFU 存储位置和目标 PC 之间的 I/O。 为了获得最佳性能,请使用 USB 3.0 驱动器来存储映像,并为目标设备使用内部 SSD。

可用于保存 FFU 映像的网络存储。 为了获得最佳性能,请使用 1 Gb 或更快的网络。

捕获 FFU

使用 WinPE 可启动介质启动参考 PC。

确定要从中捕获映像的驱动器。 你可以使用 diskpart,或将 Windows PowerShell 支持添加到 WinPE,并使用 Get-Disk 进行脚本化和更复杂的设置,例如具有多个磁盘的服务器。

diskpart

list disk

exit

输出将列出你的驱动器。 记下 Disk ### 列中的磁盘编号。 这是捕获映像时将使用的值。

DISKPART> list disk

Disk ### Status Size Free Dyn Gpt

-------- ------------- ------- ------- --- ---

Disk 0 Online 238 GB 0 B *

Disk 1 Online 28 GB 0 B

DISKPART>

使用 DISM 捕获物理驱动器上所有分区的映像。 对于 disk X:,与 /capturedrive 一起使用的字符串如下所示:\\.\PhysicalDriveX,其中 X 是 diskpart 提供的磁盘编号。 例如,若要捕获磁盘 0,请使用 /CaptureDrive:\\.\PhysicalDrive0。

有关 PhysicalDrive X 的详细信息,请参阅 CreateFile 函数。

若要查看用于捕获 FFU 的命令行选项,请运行 dism /capture-ffu /? 或查看 DISM 映像管理命令行选项。 请注意,不必在捕获桌面映像时指定 PlatformID。

以下命令将捕获 PhysicalDrive0 的 FFU 映像,名为 WinOEM.ffu。 /name 和 /description 参数允许设置有关映像的信息。 当你使用 dism /get-imageinfo 时会显示此信息。 /name 是必需的,/description 是可选的。

DISM.exe /capture-ffu /imagefile=e:\WinOEM.ffu /capturedrive=\\.\PhysicalDrive0 /name:disk0 /description:"Windows 10 FFU"

此命令还为 FFU 映像提供名称和说明。 名称是必需的参数。

优化 FFU

/Optimize-FFU DISM 选项允许你选择在向磁盘应用 FFU 后自动扩展或收缩的分区:

将 FFU 文件复制到运行 Windows 10 版本 1903 或更高版本的技术人员 PC。 不能在与捕获的 FFU 相同的磁盘上运行 /optimize-ffu。

注意

只能在 Windows 10 版本 1903 或更高版本上运行 /Optimize-FFU 命令。

优化 FFU。

Dism /Optimize-FFU /ImageFile:flash.ffu

注意

默认情况下,将 Windows 部署到不同大小的驱动器时,Windows 分区将扩展或收缩,以便达到最大容量。 如果你使用的是数据分区,则可以选择使用 /PartitionNumber 选项扩展或收缩此分区,例如:

Dism /Optimize-FFU /ImageFile:flash.ffu /PartitionNumber:2

若要了解详细信息,请参阅 DISM 映像管理命令行选项:优化 FFU

如果计划将此 FFU 应用于比原始驱动器小的驱动器,请检查 FFU,看新的最小驱动器大小应该为多大:

Dism /Get-ImageInfo /ImageFile:flash.ffu

使用 FFU 从 WinPE 部署 Windows

将目标 PC 启动到 WinPE。

注意

如果要应用优化的 FFU,必须使用 WinPE 版本 1903 或更高版本。

连接存储驱动器或映射包含 FFU 文件的网络位置并记下驱动器号,例如 N。

确定要应用映像的驱动器:

diskpart

list disk

exit

请注意 Disk ### 列中的驱动器号。

将映像应用到已清理的驱动器。 在这里,我们将 n:\WinOEM.ffu 应用到磁盘 0。

DISM /apply-ffu /ImageFile=N:\WinOEM.ffu /ApplyDrive:\\.\PhysicalDrive0

若要查看 /apply-ffu 可用的命令,请运行 dism /apply-ffu /? 或查看 DISM 映像管理命令行选项。

在不同大小的驱动器上捕获和应用 FFU

如果你优化了 FFU,DISM 会自动调整 Windows 分区(或所选分区)的大小,即,扩展或收缩以填充可用空间。

如果未优化 FFU,或者正在部署 Windows 10 版本 1809 或更早版本,则只能将 FFU 应用于与原始驱动器大小相同或更大的驱动器。 你还需要执行一些额外的操作,在部署之前和部署期间管理恢复分区和分区大小,以充分利用空间:

在参考 PC 上,安装不带恢复分区的 Windows,并将 Windows 分区设置为驱动器上的最终分区。 若要进行此设置,请使用 Windows 安装程序或部署脚本。

捕获 FFU。

在目标 PC 上,部署 FFU。 对于较大的驱动器,最后会有未使用的空间。

使用 Diskpart 扩展 Windows 分区,以填充空白空间。

然后,收缩 Windows 分区,为恢复分区腾出空间。

配置恢复分区。

例如,使用示例脚本:创建恢复分区。

ApplyRecovery.bat

装载 FFU 进行维护

可以使用 DISM 装载 FFU 映像以进行维护。 与其他映像格式一样,你可以在提交更改和卸载之前装载和修改 FFU。 装载 FFU 进行维护时,使用与装载其他映像类型相同的 /mount-image 命令。 装载 FFU 时,始终在装载时使用 /index:1。

与 WIM 映像不同,FFU 映像装载为虚拟硬盘。 文件出现在指定的装载文件夹中,但由于 FFU 可以包含多个分区但只有一个索引,因此 DISM 仅将 Windows 分区从已装载的 FFU 映射到装载文件夹。

装载 FFU

以管理员身份打开命令提示符。

使用 dism /mount-image 装载映像。 此示例将 D:\WinOEM.ffu 装载到 C:\ffumount:

dism /mount-image /imagefile:"D:\WinOEM.ffu" /mountdir:"C:\ffumount" /index:1

若要查看 /mount-image 可用的命令行选项,请运行 dism /mount-image /? 或查看 DISM 映像管理命令行选项。

维护映像。 例如,若要启用旧版组件功能:

dism /image:"C:\ffumount" /enable-feature:legacycomponents

若要查看可用选项,请运行 dism /image: /? 或

卸载 FFU 映像并提交或放弃更改。 如果使用 /commit,所做更改将保存到 FFU 文件中。

若要卸载 FFU 并提交更改,可以将 /unmount-image 和 /commit 选项一起使用:

dism /unmount-image /mountdir:"C:\ffumount" /commit

如果决定不保留对 FFU 所做的更改,可以将 /unmount-image 和 /discard 选项一起使用:

dism /unmount-image /mountdir:"C:\ffumount" /discard

相关主题

WIM、VHD 与FFU:映像文件格式的比较

在 Configuration Manager 中规划多播策略

捕获和应用 Windows 分区、系统分区与恢复分区

DISM 映像管理命令行选项

CreateFile 函数