Part3 - 使用 Windows FFU 映像部署 Windows 10
Part3 - 使用 Windows FFU 映像部署 Windows 10
在学习和了解 “Part1 - Windows FFU 映像格式概览”和“Part2 - 使用 Windows FFU 映像部署的准备工作”后,今天我们就要进入 FFU 部署的正题,首先启动 PE 引导要捕获的 Windows PC,执行如下命令行对 Windows 所在硬盘进行 FFU 映像的捕获。
上面这条命令行的重点是 /capture-ffu,即使用 FFU 进行捕获的重要参数;/imagefile 则指定 ffu 格式映像存储的路径;/capturedrive 是指定要捕获的硬盘,其中 \\.\physicaldrive0 表示硬盘 0,如果你的固态硬盘是 mSATA 接口,且本机还有机械硬盘,那么 SSD 的标识号可能是 1,当然为了准确定位硬盘号,最好是通过命令行获取“wmic diskdrive list brief”。
捕获到的 oem.ffu 文件较大,有近 14GB。虽然在前文中提到 FFU 不支持压缩和分卷存储,但实践中还是能通过 /split-image 进行分卷存储的,具体参考如下:
执行上面的命令后,会基于原有的 oem.ffu 重新生成名为 winoem*.sfu 的多个文件,大小为 3500MB,这样我们就能方便的将其存储在 FAT32 格式的 UFlash 中。
至此 FFU 映像我们已经捕获完毕,接下来就可以部署到新 PC 上,这里 gOxiA 使用 Hyper-V 准备了一台虚拟机,分配了一个 256GB 容量的磁盘,使用 PE 引导执行如下命令行。
如果是分卷存储的 FFU,则可以参考如下命令行:
FFU 释放后,会发现当前硬盘的分区和系统数据都已部署完毕,重新启动会执行 UEFI 初始化,之后就能正常启动 Windows 10 系统。
基于 FFU 映像格式的 Windows 部署,非常适合工厂部署的应用场景,因为无需再考虑磁盘分区准备的环节;由于 FFU 是基于扇区的,所以部署的效率会比 WIM 更高一些。对于一些需要大批量交付全新 Windows PC 的企业用户,其实也可以考虑采用 FFU 方式。
Part2 - 使用 Windows FFU 映像部署的准备工作
Part2 - 使用 Windows FFU 映像部署的准备工作
在之前的分享中“Part1 - Windows FFU 映像格式概览” gOxiA 简单介绍了了什么是 FFU(Windows Full Flash Update images)格式,其使用限制,以及与其他映像格式的特性比较。今天就要进行一次实践,具体感受一下 FFU 部署来带的便利性。
要通过 FFU 部署 Windows 首先需要去捕获一台计算机的系统映像,这里 gOxiA 准备了一台自用的 UEFI 引导方式的 Windows 10 电脑,使用的是 128G 的 SSD 硬盘,因为是 UEFI 引导,所以硬盘采用 GPT 格式,包含启动分区、恢复分区,MSR 以及一个系统分区,是 Windows 标准的分区方案。
如果希望了解如何手动创建 UEFI-based PCs,可参考官方文档:https://docs.microsoft.com/en-us/windows-hardware/manufacture/desktop/configure-uefigpt-based-hard-drive-partitions
Windows 10 版本是最新的 1803,不过从 1709 开始对 FFU 的支持就已经相当完善,此外 Windows SKUs 方面并没有特殊要求,因为 FFU 毕竟属于工厂模式部署,所以不论是家庭版、专业版、企业版还是教育版,都受 FFU 支持。(PS:FFU 概览中曾提到仅支持捕获经过 Sysprep 的 Windows PC,但实践中并非如此。)
Windows PC 准备好后,我们还要准备一个 PE 引导盘,该 PE 需要基于 1709 版本,所以安装 Windows ADK 时要注意版本号。从下面的官方页面可以轻松下载到我们需要的 ADK。
Windows ADK 下载:https://docs.microsoft.com/en-us/windows-hardware/get-started/adk-install
如何制作 PE?怎么打包成 ISO 格式?怎么 UFlash 引导 PE?这些问题就用如下命令行来快速解答,以 x64 为例,启动“部署和映像工具环境”开始。
自 Windows 7 开始制作一个可引导的 UFlash 就是非常简单的事情,只需要在 diskpart 下使用 active 激活分区即可,之后直接从 ISO 拷贝启动文件便可引导。
如果你希望在当前 PE(PS:一些网友会使用第三方制作的 PE 工具盘)版本上来以 FFU 部署 Windows,则可以参考如下命令行,将支持 FFU 部署的 DISM 拷贝到你的 PE 中。
其实,还有一个比较灵活的办法就是直接使用对应版本的 Windows 10 安装盘引导,其修复模式中的 CMD 环境就能够执行 FFU 部署命令。当然在测试环境中,还可以直接通过“Reagentc”来进入 PE 环境!!!
所有的准备工作都完成后,在 Part3 中将进入 FFU 部署正题,敬请期待!:-P
Part1 - Windows FFU 映像格式概览
Windows FFU images 的全称是 Windows Full Flash Update images,字面上翻译是全闪存更新映像。早期用于微软移动设备的更新及系统的安装(刷机),当然也支持工厂模式快速部署 Windows PC 设备。FFU 格式与 Ghost 的特性很像,能够将物理驱动器的映像直接应用到其他驱动器上,这包括了:Windows、恢复分区和系统启动分区等信息。
正如上面所述的特性,FFU 与 WIM 格式是不同的,WIM 是基于文件的,而 FFU 是基于扇区,它能够存储一个或多个分区。而基于扇区的映像意味着更短的部署时间,但缺点是一个 FFU 文件的容量要比 WIM 大。(PS:磁盘容量越来越大,对于企业部署来说,时间才是关键。)
FFU 自 Windows 10 v1709 开始正式被支持(PS:之前虽有资料,但 gOxIA 从未成功过),DISM 具有捕获、部署和服务 FFU 的能力,但是 FFU 仍有以下限制:
- 应用 FFU 的驱动器容量必须与源驱动器容量相同或者大于后者。
- FFU 不支持捕获加密磁盘
- FFU 不支持启用了卷影复制服务(VSS)的磁盘
- FFU 不支持拆分和压缩
- FFU 仅支持 1709 或更高版本的 系统或 PE 环境
- 要捕获的 Windows PC 需经过 Sysprep
此外,建议使用 USB3.0 驱动器来存储 FFU 映像,由于 FFU 不支持拆分,所以请务必确保驱动器的格式为 NTFS。
下图展示了 FFU 格式,详细的说明请参考:
https://msdn.microsoft.com/zh-cn/library/windows/hardware/dn757539(v=vs.85).aspx
为了更好的认识 FFU 格式,可参考 WIM、VHD 与 FFU 的比较:
Windows 映像 (.WIM) | 虚拟硬盘 (.VHD/VHDX) | 完整刷机更新 (.FFU) | |
常见用法 | 测试和修改 Windows 映像的最快方式。 快速装载和修改映像。 | 将 Windows 部署到虚拟电脑的最简单方式。 你可以直接从单个 VHD/VHDX 文件启动新的设备。 | 在工厂车间捕获和部署 Windows 的最快方式。 包含验证签名映像的内置安全功能。 |
映像样式 | 基于文件 | 基于扇区 | 基于扇区 |
压缩 | 支持多种类型的压缩 | 无 | 无 |
它捕获了哪些内容? | 一组文件,最多为整个分区。 | 捕获完整的驱动器信息集,包括分区。 | 捕获完整的驱动器信息集,包括分区。 |
当应用映像时,会发生什么情况? | 将文件和文件夹添加到分区。 如果现有的文件和文件夹具有相同名称,则将会替换它们。否则,将保留现有文件。 | 清理整个驱动器。 | 清理整个驱动器。 |
是否可以部署到不同大小的硬盘驱动器? | 是。 | 是,不过新驱动器的大小必须等于或大于原始驱动器。 | 是,不过新驱动器的大小必须等于或大于原始驱动器。 |
是否可以修改映像? | 是。通过使用 DISM 等工具,你可以装载、修改和卸载映像。 | 是,你可以将 VHD/VHDX 视为可移动介质来进行装载,并修改文件。 | 是,不过它仅限于添加程序包。 |
安全性 | 包括一个安全标头和一个映像标头,可标识安全的映像。 包括一个目录和一张哈希表,可在设备上进行刷机之前先验证签名。 |