Starting go get some more questions on how to image uEFI machines. It’s one of the biggest architectural changes to the PC in recent memory, and requires some new skills for us IT Professionals.
One of the most perplexing problems I’ve come across is of Large files on USB Flash Drives. You see, Microsoft licensed the FAT file system for use in the uEFI firmware so the firmware itself can read files off Hard Disks and USB Flash Media, uEFI does not support booting directly from NTFS partitions which assumes some kind of Boot Sector. Most machines with large internal Hard Disks break down the local disk into several partitions, One partition used to contain the uEFI boot files, and another NTFS partition to contain the Windows Operating System.
However, the problem with Fat32 Partitions is that they do not support files that are larger than 4 GB in size. If you want to install a Windows OS using MDT offline media, and your core image is larger than 4GB you can’t place the file on a Fat32 USB Stick. Additionally, USB Flash drives can not be given multiple partitions, you can only have one Fat32 or one NTFS partition on a removable flash drive, this means we can’t do the same trick as a internal SATA Hard Disk where we give the drive several partitions.
There are several tricks we can use in MDT to work around the issue:
- Don’t use Offline USB Media, instead download the large WIM file from your Deployment Share over the network. Use either PXE boot, or boot from a USB Drive and connect over the network. In some instances, the Gigabit Ethernet connection to the server will be faster than the local USB 2.0 disk. Remember, you can boot from a small 256MB USB flash drive with the contents from c:\deploymentshare\boot\LitetouchPE_x86.iso extracted to a USB Flash Drive.
- Use *two* flash drives! Create Two flash drives, One formatted with NTFS that contains the offline USB media with the large *.wim file, and a second drive formatted with FAT32, that contains the contents from contents of the c:\deploymentshare\boot\LitetouchPE_x86.iso. uEFI will be unable to read the NTFS drive, and boot off the Fat32 drive instead, however once in WinPE, MDT will search all the drives and continue as if it was a Offline Media Installation. (Normally I don’t recommend leaving two MDT USB Drives in a machine at once, can cause confusion).
- You may not re-partition USB Flash drives marked as “removable”, but some USB drives marked as “Fixed” can be repartitioned to include both a Fat32 and NTFS partition(s). Windows To Go drives are designed to do this. Additionally, you might be able to repartition USB Hard Disk Drives.
- Use DVD-DL (DVD Dual Layer) which has a capacity of 8.5GB, and can support files larger than 4GB. Native support for BIOS and uEFI machines.
- Finally, you might want to split the super large install.wim file into multiple parts to make more manageable.
First of all, let me mention that splitting WIM files like what is mentioned below will cause some compatibility problems within MDT itself. Although *.SWM files are a supported format within the *.wim file standard, MDT was not designed to handle *.SWM files. So you can’t import and/or service these files within the MDT console, and the client scripts will also get confused if used.
I developed a prototype for WIM splitting a couple of years ago, and wanted to share the solution:
1. Create an Offline Media Share with the OS you want to support.
2. Split your large WIM file using the command:
imagex.exe /split install.wim install.swm 4095
3. Modify the …\Deploy\Control\OperatingSystems.xml file and change the “Install.WIM” entry to “INstall.SWM”
4. Modify the …\Deploy\Scripts\LTIApply.wsf script to:
If GetWDSServer "" then '... ElseIf ucase(right(sImagePath,4)) = ".SWM" then sRWMPath = mid(sImagePath,1,len(sImagePath)-4) & "*.swm" oLogging.CreateEntry "Found SWM file, adding other SWM files for concatenation: " & sRWMPath, LogTypeInfo End if
5. Copy to your USB Flash Drive and use as normally.
Also found this solution for Splitting WIM files that is similar, but slightly different.
Hi Keith, Thanks for linking to my blog post.
This is a great find, I have been trying to modify our MDT Offline Media to boot with UEFI. Where exactly do you have to add the modification to the LTIApply.wsf script? I am getting lost with what needs to be added/or replaced and where.
Do a search for
in ltiapply.wsf, when you find it, look for the matching closing “end if”, and replace the code just above the “end if”
I’m sorry the same question “Where exactly do you have to add the modification to the LTIApply.wsf script?”
i did search for If GetWDSServer “” then in LTIApply.wsf and didn’t found any thing
That line should be present in the MDT 2012 and/or MDT 2013 Version of LTIApply.wsf.
Thanks for your reply
yes sir my LTIApply.wsf was made by MDT 2013, please take a look at this link
Yes, I can see the existing code segment there on lines 756 through 772. Thanks!
I found out you can boot uefi with ntfs on the usb. i don’t know how to manually make it but here is how i found out.
Create a media disk with the task sequence and the large image file. have the media make an iso
Grab the Rufus format utility and format it as ntfs while pointing to the iso file created by mdt
And some how it boots, Microsoft might have let windows pe environments be a workaround.
Sorry, however I was unable to get the Rufus tool to format my “SanDisk” USB Flash drive as NTFS *And* get it to boot my Microsoft Surface Pro.
There are a class of USB devices that *do* support repartitioning of USB storage devices (See Windows to Go – WTG), but not all removable USB Flash drives support this.
i will reattempt this my self and post a guide and link. I know I have gotten it to work
Here’s a simple, albeit slightly inconvenient, method to do it.
sudo dd if=whatevertheisois.iso of=/dev/sda bs=1m
That’ll just overwrite the USB drive and it’ll essentially look just like a disc.
The USB flash drive *ALREADY* looks like a disk.
That solution would be better if there were some Windows tools to perform the mount.
IF you can get it to work, I would like to know the Make/Model of the USB Drive, and a copy of a bdd.log file from a machine that has been setup using this drive. Thanks
are there any special flags i should add to add more verbose logging?
ok it took from 8:00 am to 1:30 pm to get started (just to prove a point i made a 25 GB iso and forgot i was only able to transfer over usb2.0 to a 32 GB usb drive. (ADATA UV150 32GB) (damn you VMWARE! not supporting usb3.0 in windows 7 guest)
So i am in the start of the install process at this time.
Installing window 8.1 Update to a Dell XPS 12 (model xps 12-9Q33) All from the usb. nothing else.
i should have a link up by the end of the day today, it is currently 1:52PM at the time of writing this reply
it is almost done, just some touchups, oh and i forgot to grab the bbd.log i will run it again soon!
and i need to fix my seo!
Pingback: More about MDT 2013 Update 1 Preview | Keith's Consulting Blog
Pingback: MDT 2013 Update 1 private – What’s new! | Keith's Consulting Blog