Files
FFU/docs/hyperv_settings.md
rbalsleyMSFT aa3ac72bef Allow Windows to fill remaining space with data partitions
Keep the Windows Fill Remaining option available when fixed-size data
partitions are configured, and enforce a single fill-remaining partition
across UI and CLI validation.

Reserve fixed data partition capacity by safely shrinking the maximum-size
Windows partition before creating Recovery and data partitions. Update the
Hyper-V settings and parameter documentation for the supported layouts.
2026-07-16 14:44:36 -07:00

5.1 KiB

title, nav_order, prev_url, prev_label, next_url, next_label, parent
title nav_order prev_url prev_label next_url next_label parent
Hyper-V Settings 1 /ui_overview.html UI Overview /windows_settings.html Windows Settings UI Overview

Hyper-V Settings

1776378277110

Enable VM Networking (Experimental)

Controls whether the build VM is connected to a Hyper-V switch during provisioning.

Leave this off for the default offline build path. Turn it on only if you want to test internet-connected builds and understand there may be Sysprep or capture issues.

VM Switch Name

Drop down of detected VM Switches. There's also an Other option which allows you to specify a VM Switch Name. The other option is useful in scenarios where the machine you're running the UI from isn't going to be the machine where you plan to build the FFU from.

This setting is only used when Enable VM Networking (Experimental) is turned on. VM-based builds still capture from the host-side VHDX after the VM shuts down, so you only need a switch when the VM requires network connectivity during provisioning.

Memory (GB)

Amount of memory to allocate for the virtual machine. Recommended to use 8GB if possible, especially for Windows 11. Default is 4GB.

Processors

Number of virtual processors for the virtual machine. Recommended to use at least 4. Default is 4.

VM Location

Default is $FFUDevelopmentPath\VM. This is the location of the VHDX that gets created where Windows will be installed to.

VM Name Prefix

Prefix for the generated VM. Default is _FFU.

Disk Layout

Configures the VHDX size and the build-time partition layout used for the captured FFU.

Disk Size (GB) sets the virtual hard disk size for the VM. Default is a 50GB dynamic disk. Increase this when the image needs more space for Windows, apps, updates, or data partitions.

The partition list shows the build order: System, MSR, Windows, Recovery, and optional data partitions. System, Windows, and Recovery have editable build-time drive letters. Defaults are S, W, and R. The MSR row is display-only, fixed at 16MB, and does not use a drive letter.

The System, Windows, and Recovery selections are host-side build letters only. Installed Windows uses C: for its Windows partition, while System and Recovery normally have no letter. The deployment script discovers these partitions from the applied disk instead of relying on the build letters.

Leave the Windows size blank to let Windows use the space remaining after Recovery and fixed-size data partitions are reserved. This allows you to give a data partition a fixed size while Windows uses the rest of the VHDX. If a data partition will use Fill Remaining, give Windows a fixed size first because only one partition can fill the remaining space.

Use the Recovery size only when you need a fixed Recovery partition size. Leave it blank to let the build calculate the Recovery size from winre.wim plus buffer space.

The Recovery partition can be removed by selecting its row checkbox and using Remove Selected. Use Restore Recovery to add it back before saving or building. Removing Recovery saves CreateRecoveryPartition as false in the generated config.

Each data partition has a name, a drive letter from D: through Z:, and either a size in GB or Fill Remaining. Only one Windows or data partition can use Fill Remaining. Data partitions can be reordered with the arrow buttons. Clear removes only data partitions, not the base partition rows.

Persist Drive Letter is off by default. When selected for a data partition, FFU Builder requires that partition to use its configured letter before build-VM application scripts run and when a deployed device enters the Windows specialize pass. If another volume already owns the requested letter, the build or deployment stops instead of moving that volume or selecting another letter.

Windows PE drive letters are temporary and can change when hardware is detected, so assigning a letter only in PE does not provide the installed-Windows guarantee. See WinPE: Identify drive letters with a script. Successful first-boot enforcement removes its temporary script and manifest and leaves the diagnostic log at C:\Windows\Temp\FFUDataPartitionDriveLetters.log.

The Apps ISO drive letter is discovered at runtime. If you create a data partition that uses D:, application installs should use %FFUAppsRoot% for Apps ISO paths. Legacy D:\ paths in UserAppList.json are still supported when they point to files on the Apps ISO.

Logical Sector Size

Uint32 value of 512 or 4096. Useful for 4Kn drives or devices shipping with UFS drives. Default is 512.

There is some error-handling in the script that will call out mismatch issues with logical sector size. Unfortunately you will need to create a new FFU with the correct logical sector size as you can't convert a previously created FFU. Most should be fine with 512, but lower-end devices that used to ship with eMMC drives have now shifted to using UFS.

{% include page_nav.html %}