I've developed methods to image one-off devices with the corporate image, however, there are times
when I need to use a vanilla install to test something or prove it’s not a
problem with the image. While I used to have a vanilla TS in ConfigMgr and
MDT, I had several cases where I needed to go even more vanilla without drivers
being injected. Therefore, I have a USB stick with the latest Windows install
from VLSC. Sometimes I also DISM in the Home edition for All-In-One (AIO) use.
A friend wanted to know how I made it since the install.wim is > 4GB since
about 1709 I believe.
Why the limit?
The 4 GB barrier is a hard limit of
FAT32: the file system uses a 32-bit field to store the file size in bytes, and
2^32 bytes = 4 GB (actually, the real limit is 4 GB minus one byte, or
4,294,967,295 bytes, because you can have files of zero length). This means
that you cannot copy a file that is larger than 4 GB to any plain-FAT volume.
Alternatives
You can use exFAT or NTFS, however
these are not always bootable across devices.
You can use Rufus to burn the ISO, however it creates its own bootloader
that only works with UEFI and I sometimes have a need for MBR. The stock
Windows ISO just works so I wanted that functionality.
The consumer Windows
ISO gets around this by compressing the WIM to an ESD as well as not including
editions such as Enterprise that have additional files. I did this at first,
however it was barely under the 4GB limit so would not scale. So I went even
more simple. Create two partitions; that’s it – one FAT32 the other NTFS.
Howto
I use diskpart, however you can also
do this via the GUI using Disk Management and format dialogs. However it takes longer then diskpart. You can proceed through this in just a few minutes. It took me longer to write about it then to actually do it! First is to
identify the disk so you don’t break something else. In this example I have an
8GB stick that is disk 6.
DISKPART> lis dis
Disk ### Status Size Free Dyn Gpt
-------- ------------- ------- ------- --- ---
Disk 0 Online 1863 GB 350 MB *
Disk 1 Online 476 GB 1024 KB *
Disk 2 No Media 0 B 0 B
Disk 3 No Media 0 B 0 B
Disk 4 No Media 0 B 0 B
Disk 5 No Media 0 B 0 B
Disk 6 Online 7810 MB 0 B
DISKPART> sel dis 6
Disk 6 is now the selected disk.
Then do a clean to remove any formatting on the stick.
DISKPART> clean
DiskPart succeeded in cleaning the disk.
Create the first partition and format it as FAT32. You only need about 600MB but I do a GB for future use.
DISKPART> create partition primary size=1000
DiskPart succeeded in creating the specified partition.
DISKPART> format fs=fat32 quick
100 percent completed
DiskPart successfully formatted the volume.
Set to active so it boots, and
assign a drive letter
DISKPART> active
DiskPart marked the current partition as active.
DISKPART> assign
DiskPart successfully assigned the drive letter or mount point.
Create a second volume using the
remaining space. If you have a large stick and want to use it for other stuff,
you can create about 5GB NTFS and create a third volume for file storage, but I
just use a folder on this volume if I need NIC drivers to install later, for
example.
DISKPART> create partition primary
DiskPart succeeded in creating the specified partition.
Format it as NTFS
DISKPART> format fs=ntfs quick
100 percent completed
DiskPart successfully formatted the volume.
Finally, assign it a drive letter. (Do
not make it active.)
DISKPART> assign
DiskPart successfully assigned the drive letter or mount point.
Now that the two volumes are created,
you copy all the files from the Windows ISO to the FAT32 volume minus the sources folder. Then create a sources folder
on the FAT32 volume and copy boot.wim to it from the ISO.
Finally, copy the sources folder to
the NTFS volume.
I didn't have the heart to tell my friend about my multiboot USB that I keep on my key-ring with all sorts of ISOs including the Windows installs, my AdminPE, and Disk Sanitizer ISOs. I'll share that setup sometime.
Update
Mike Terrill talked about this as well a bit ago.-Kevin