MDT 2012 uEFI on large Media

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.

Problem

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.

Work Arounds

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.

Splitting Wims

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.

Update

Also found this solution for Splitting WIM files that is similar, but slightly different.

http://www.osd-couture.com/2013/11/how-to-allow-mdt-2013-to-use-wim-file.html

-k

Advertisements

19 thoughts on “MDT 2012 uEFI on large Media

  1. Hello Keith,

    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.

    Thanks,

    Sheldon

    • Sure,
      Do a search for

          If GetWDSServer "" then
      

      in ltiapply.wsf, when you find it, look for the matching closing “end if”, and replace the code just above the “end if”

      Thanks

  2. Hi Keith,

    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

  3. 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.

      • 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.

  4. 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

  5. Pingback: More about MDT 2013 Update 1 Preview | Keith's Consulting Blog

  6. Pingback: MDT 2013 Update 1 private – What’s new! | Keith's Consulting Blog

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s