Generating FFU images

1. Install your ISO, WIM or ESD image on a disk drive using WoR

If you have a really slow SD card or USB drive, we recommend creating a 15 GB VHDX using Disk Management and applying the image to it instead. The storage in your PC will most likely be faster.

2. Shrink the Windows partition (last one)

This step is required due to a bug in the imager, but it also makes it possible to install the same FFU on a drive that has less space than the one from which you'll capture (generate) the image.

For example, if the Windows installation only takes 17 GB of space, but the captured drive has 128 GB, you'll need to shrink the last partition as much as possible to be able to install the generated image on a 32 GB drive.

To do this:

Open a Command Prompt window as administrator, run diskpart and execute the following commands (replace X, Y accordingly):

sel disk X
sel part Y
shrink

X is the number of the disk to be captured that contains the WoR installation. (you can use list disk in diskpart to find it)

Y is the number of the last partition:

  • On GPT disks (the default choice), the number is 3.
  • For MBR it's 2.
3. Capture the image

In a Command Prompt window running as administrator, type the following command and read the info below before hitting enter:

DISM.exe /capture-ffu /imagefile=X:\WindowsOnRaspberry.ffu /capturedrive=\\.\PhysicalDriveY /name:WoR-FFU

X:\WindowsOnRaspberry.ffu is the destination path of the FFU image. Change it to your own location.

PhysicalDriveY is the drive that you wish to generate the FFU image from. Change Y with the disk number of the drive.

WoR-FFU is the signature required by WoR, followed by some additional parameters, delimited by colons (:) :

  • the MBR, GPT (RPi 3-only) and GPT-Native (RPi4-only) parameters specify the partition scheme used for the installed image (step 1). Only one must be specified!

    Since version 2.1.0 of the imager, FFUs made for Raspberry Pi 4 must specify GPT-Native if GPT was used for the installation, and those made for older models must specify GPT. The latter images are not compatible with Raspberry Pi 4.

  • the Compact parameter specifies that the image can fit on an 8 GB device (Compression was used). This is required if you want to apply the FFU image to a drive that has less than 14 GB of available space.
  • the ARM64 and ARM32 parameters indicate the architecture of the installed image. This can be omitted if an ARM64 image was used.
Example:
DISM.exe /capture-ffu /imagefile=D:\Build19041Compact.ffu /capturedrive=\\.\PhysicalDrive2 /name:WoR-FFU:GPT:Compact

The command above tells the tool to create a FFU image at D:\Build19041Compact.ffu from disk 2, and that the GPT partition scheme and LZX compression have been used when the ARM64 WIM image was installed.

The version of DISM that comes bundled with Windows may fail to capture a FFU image with Error code: 50. If that happens, you'll have to download and use the DISM version from Windows ADK: https://docs.microsoft.com/en-us/windows-hardware/get-started/adk-install