WIM vs. VHD vs. FFU: comparing image file formats

Comparing .WIM, .VHD/.VHDX, and .FFU: These file formats are all used to deploy Windows to new devices. Here's how they compare:

Area Windows image (.WIM) Virtual Hard Disk (.VHD/VHDX) Full Flash Update (.FFU)
Common uses Fastest for testing and modifying Windows images.
Can store multiple image variations in the same .WIM file, often with little additional storage required.
Easiest for deploying Windows to virtual PCs.
You can boot a new device directly from a single VHD/VHDX file.
Fastest for capturing and deploying Windows on a factory floor.
Imaging style File-based Sector-based Sector-based
Compression Supports multiple types of compression None Xpress-Huffman is used by default when an FFU is captured with DISM
What does it capture? A set of files, up to an entire partition. Captures the full set of drive information, including partitions. Captures the full set of drive information, including partitions.
When I apply the image, what happens? Adds the files and folders to the partition.
If there are existing files and folders with the same names, they're replaced. Otherwise, the existing files are kept.
Cleans the entire drive. Cleans the entire drive.
Can I deploy to different sizes of hard drives? Yes. Yes, though the new drive must be the same size or larger than the original. Yes, though the new drive must be the same size or larger than the original.
Can I modify the images? Yes. With tools like DISM, you can mount, modify, and unmount the image. Yes, you can mount a VHD/VHDX as if it were removable media, and modify the files. Yes. With tools like DISM, you can mount, modify, and unmount the image.
Reliability Includes a catalog and hash table to validate a signature upfront before flashing onto a device. The hash table is generated during capture, and validated when applying the image.

To learn more, see /Apply-Image in DISM Image Management Command-Line Options.

DISM Deployment Image Servicing and Management (DISM) Command-Line Options

VHD/VHDX Boot to VHD (Native Boot): Add a Virtual Hard Disk to the Boot Menu

Deploy Windows on a VHD (Native Boot)

FFU Deploy Windows using Full Flash Update (FFU)

DISM Image Management Command-Line Options