I came across this scenario today, when creating a video walk through on using the Microsoft Deployment Toolkit (MDT) 2013, which can be found on my MiCloud YouTube channel: http://www.youtube.com/user/SCMiCloud.

Normally, when creating and using boot images (with MDT or SCCM), I usually use the x86 version of the media and not the x64. Why, you might ask? This is because x86 is more versatile and more widely compatible than x64 media.

However, in Windows Server 2012 R2, when you create a new Virtual Machine, you can choose a Generation for the VM.

In my case, I was trying to build and capture a Windows 8.1 reference image. Therefore, I choose the Generation 2 option. Note that it states: “Guest operating systems must be running at least Windows Server 2012 or 64-bit versions of Windows 8”. Therefore, you would think that you could use x64 bit boot media with these systems.

So, as stated above about x86 versus x64 boot images, I mounted the x86 version of the MDT Boot Media, and started the Virtual Machine, preparing to build and capture an image. Except, no deal! Boot Failed! Weird.

After trying many different things, including re-creating the VM, changing the network adapter (from current to legacy), re-generating the Boot Media, etc.

Then, for reasons I cannot recall, I decided to try the other Boot Media. I mounted the x64 version of the Boot Media, restarted the VM, and bam! The MDT boot media started to load without issue.

I am not 100% sure why this is, but apparently if you are using Hyper-V, and in particular a ‘Generation 2’ Virtual Machine for building and capturing a reference image (either through MDT or SCCM), you will need to use 164-bit Boot Media instead of the x86.