Creating bootable USB drive for UEFI computers

In today’s blog I am going to discuss how to handle booting from a USB drive on a UEFI system so you can deploy Windows. It is common to create bootable USB flash drives or hard drives so you can boot from them to do various tasks such as

  • Boot Windows PE (WINPE) for recovery purposes
  • Boot Windows PE (WINPE) to deploy image
  • Boot Microsoft Deployment Toolkit media deployment share

For example if you are manually deploying Windows you are using a process similar to Basic Windows Deployment Step-by-Step Guide

UEFI based systems such as the Surface Pro or other UEFI systems require that the boot files reside on FAT32 partition. If they are not FAT32 the system may not see the device as bootable.

FAT32 has a 4GB individual file size limitation and 32GB maximum volume size. If any of the files are larger than 4GB you may have to configure the drive differently. Consider if you are booting Windows PE 4.0 and want to deploy a custom image using Dism.exe where the size of the image is 8GB. You would not be able to store the image on the FAT32 partition.

There are 2 options to work around this

Option #1: Utilize split images

Dism supports the /split-image command which would allow you to split the image into pieces that are less than 4GB.

Dism /Split-Image /ImageFile:install.wim /SWMFile:install.swm /FileSize:4000

This will create the following files (depending on size)

  • install.swm
  • install1.swm
  • install2.swm

Place all the files in a directory and use DISM /apply image

Dism /apply-image /imagefile:install.swm /swmfile:install*.swm /index:1 /applydir:D:

Option #2: Create multiple partition USB drive

Most flash drives report themselves as removable but to create multiple partitions on a USB drive the drive must report itself as Fixed. If you have access to a Windows to Go (WTG) certified drive you can use it since a requirement for WTG is that the device report as fixed. Some USB hard drives like the Western Digital Passport report themselves as fixed also.

To verify if the drive is reporting itself as fixed or removable plug the drive in and open My Computer:

  • Drive shows up under “Hard Disk drives”: Fixed
  • Drive shows up under “Devices with removable Storage”: Removable

To create a USB drive with multiple partitions use the following steps

1. Open elevated cmd prompt

2. Type in Diskpart and hit enter

3. Type in the following commands:

List disk

Sel disk X: (where X: is your USB drive)

Clean

Create Part Primary size=2048

Assign

Active

Format fs=fat32 quick Label=”Boot”

Create part primary

Assign

Format fs=ntfs quick Label=”Deploy”

Exit

Note: You can choose different sizes and volume labels depending on your needs

At this point you can now copy your boot files to the FAT32 partition and your other files(that are larger than 4GB) to the NTFS partition.

In the earlier example you would copy the contents of your custom Windows PE (WINPE) 4.0 files in C:winpe_amd64media to the FAT32 partition and your custom install.wim to the NTFS partition

Hope this helps with your deployments

<

p class="MsoNormal" style="margin: 0in 0in 8pt; line-height: 12pt; list-style-type: disc;">
Scott McArthur
Senior Support Escalation Engineer
Microsoft Customer Support and Services