USB Deployment Kit

Can you deploy Windows to PCs with just one USB port?

FAT32 has a maximum file size of 4GB. Some Windows images are larger than 4GB and WinPE must reside on a FAT32 partition. Therefore, you will not be able to store Windows images in the WinPE partition and must store them in a separate NTFS partition, or on the network…

The default Windows Preinstallation Environment (WinPE) drive format, FAT32, is used to boot UEFI-based PCs, but that’s too small to store most Windows image.

Most USB flash drives support only a single drive partition, so typically you won’t be able to store or capture Windows images on a Windows PE USB flash drive.

The MakeWinPEMedia command, from the Windows ADK, formats the drive as FAT32, which supports booting both BIOS-based and UEFI-based PCs. This file format only supports file sizes up to 4 GB.

However, for external USB hard drives, you can create a separate NTFS partition that can handle larger file sizes. Here is a way around these limitations;

Create FAT32 and NTFS partitions and run MakeWinPEMedia tool to make the FAT32 partition into a bootable WinPE, and the NTFS partition can then be used to store large files, such as image files (.wim). You can accomplish this by preparing the USB drive, prior to building the WinPE, using Diskpart and the following commands;

Diskpart
list disk
select <disk number>
clean
create partition primary size=2000
format quick fs=fat32 label="Windows PE"
assign letter=E
active
create partition primary
format fs=ntfs quick label="USB-B"
assign letter=F
list volume
exit

in the above Diskpart commands, be sure to replace <disk number> with the actual number of the USB drive as returned by Diskpart, for example;

Diskpart
List diskExit

Additionally, you can assign any letter you like and do not need to use the same letters I assigned in the example shown. Just be sure the drive letter is not already in use.

After you have successfully partitioned the USB drive into two partitions, one FAT32 for WinPE, and the other NTFS for image and data storage, you can then build the WinPE using the Windows ADK, as follows;

  1. Launch Deployment and Imaging Tools Environment, as an Administrator
  2. Build a WinPE using the CopyPE command. For example;
    CopyPE amd64 C:\WinPE\amd64
  3. Build the USB using the MakeWinPEMedia command. For example;
MakeWinPEMedia /UFD C:\WinPE\amd64 E:

The above command assumes you have saved the WinPE named ‘amd64’ to C:\WinPE and you have connected the USB drive to the PC, where the E: drive is the FAT32 partition created earlier.

After you have completed making the USB kit, you can copy Windows images and other software to the NTFS partition.

You can make additional customizations, such as adding automation, by modifying the Startnet.cmd file. Startnet.cmd runs whenever WinPE starts and if you want to add automation, you can add to the Startnet.cmd file and your commands will automatically run whenever the WinPE starts up. Customizing the Startnet.cmd is not required for creating a USB, so its not covered in this article (I’ll write an article on customizing Startnet and post a link here when its ready).