My subjective opinion: Full Flash Update (FFU) imaging is the best thing that has happened to Windows deployment. Ever. Where capturing your deployment image to a WIM file takes 10 minutes, capturing it to FFU takes under two. The time required to apply an FFU image is cut to less than half of what it takes to apply a WIM image, all else being equal.
Starting with Windows 10 version 1709, you can use DISM to capture and deploy FFU images. FFU captures a disk sector by sector to a file container that holds an exact image of the disk. This means that whereas a WIM file can be applied to any size HDD or SSD, an FFU image may only be applied to disk which is the same size or larger than the captured disk. This is the only con I can think of; if your reference machine used to build an image has a 512 GB disk, that captured FFU image can only be applied to destination machines with 512 GB or larger disks. The smaller the disk on your reference machine therefore, the better; images will be smaller and can be deployed to more destination machines.
I have done extensive testing over the past months, and now really appreciate the benefits of using FFU. Your own experience will most probably be much better, because you should hopefully be better able to capture and deploy Windows faster than on my ancient hardware. Everything recited below was learned using a Hyper-V VM with 4 GB of RAM and two virtual processors for both the reference and destination machines on my loyal workhorse, a low-end Asus laptop with an i5-4210U CPU @ 1.70GHz, 12 GB RAM and 1 TB 5,400 RPM spinner.
To begin, you will need bootable WinPE media for Windows 10 version 1709 or later. If you are still using older PE media, download the latest Windows 10 ADK and create a new set.
You can capture an existing Windows installation simply by booting to WinPE and running the capture command. To capture an FFU image for deployment, it is recommended that Windows has been generalized with Sysprep. FFU imaging is sector based cloning the whole disk sector by sector, IF capturing an FFU image for deployment, customize it in Audit Mode, sysprep with /generalize switch and boot the reference machine with WinPE. With NET USE map a network drive to store the image. Enter the following command to start capturing, target drive W: being the mapped network drive where you want to save the image:
dism /capture-ffu /imagefile=W:\Win10.ffu /capturedrive=\\.\PhysicalDrive0 /name:Win10 /description:”Windows 10 FFU Demo”
The image file name must use the .ffu extension. In case your reference machine has multiple disks, be sure to capture the correct disk! Capturing Disk0 in this example case, it’s \\.\PhysicalDrive0.
Here are some screenshots from a recent test run. In this case, I clean installed W10 Education x64 to a reference VM with a single 127 GB VHDX, of which installation consumed 10.4 GB. I also installed additional software. On the C: drive, the space consumed when I was all finished came to 13.1 GB. Then I booted to PE, and captured an FFU image:
Here’s the same VM, immediately after the FFU capture completed, capturing a legacy WIM image (which took more than SIX TIMES as long to finish):
Please note: there’s quite a difference, as you can plainly see! Of course on your more up-to-date hardware you get totally different times but the relative time saved remains about the same.
Note further that an FFU image (yellow highlight in below screenshot) is somewhat bigger than its respective WIM image (blue highlight):
Now let’s talk about deploying Windows, by applying the preceding images. To deploy an FFU image I’ll boot my destination machine to PE and use the following command, drive W: in this example being the mapped network drive where the image is stored:
dism /apply-ffu /ImageFile=W:\W10EDU.ffu /ApplyDrive:\\.\PhysicalDrive0
I’m still using a Hyper-V VM as the destination on my ancient host. First comes applying the FFU image, no partitioning required:
Now let’s apply the same image in WIM form, to the same VM. The time shown does not include time required to partition the destination disk (for a WIM file, this is obligatory if it’s not taken care using an answer file). This screenshot shows how I run first a DISKPART script to partition the HDD (not included in the measured time shown):
What happens as the size of a Windows image grows? Two things: the relative time savings will decrease, and the relative size differences between WIM and FFU images become smaller. Even so, the benefits remain clear: both capture and deployment will be significantly faster. My own personal deployment image, the one I use to deploy to all my machines contains a full Windows ADK and Visual Studio Enterprise plus some video editing software, and Office 2016. That makes my images quite large, as ADK alone consumes 7+ GB and VS 25+ GB.
Capturing this huge image, FFU takes about 15 minutes to create a 28 GB FFU image. In WIM format, capturing the same image takes 45 minutes to produce a 22 GB image. Deploying this huge image, FFU takes 12 minutes whereas WIM needs 22 minutes.
My tests on real physical hardware show even better results, with yet more time saved when using the FFU format.
All in all, I want to finish by repeating the very same words I started out with: Full Flash Update (FFU) imaging is the best thing that has happened to Windows deployment. Ever.
Compare imaging formats: https://docs.microsoft.com/en-us/windows-hardware/manufacture/desktop/wim-vs-ffu-image-file-formats
Author: Kari Finn
A former Windows Insider MVP, Kari started in computing in the mid 80’s writing code for VAX / VMS systems. Since then, he’s worked in a variety of IT positions. He specializes in Windows image capture, customization, repair and deployment as well as Hyper-V virtualization. Kari is a proud Team Member at number #1 Windows site TenForums.com.