Gen 2 Hyper-V Disks and PXE Booting
For awhile I'd avoided using Gen2 Hyper-V disks as I couldn't get them to PXE Boot. No problem with Gen 1 disks, PXE booted absolutely fine. However, with new servers ready to go, I felt compelled to finally fix the issue so that everything on the new servers was the best that Server 2012R2 could provide.
So, the initial issue was that I was getting the error PXE E23 when trying to PXE boot a Gen 2 VHD with Server 2012r2 and MDT 2013. Helpfully, @l15ard had pointed me in the right direction with his thread here:
Pxe-e23-error-gen2-hyper-v-fix
However, I had no idea how to 'Force x64 UEFI architecture'. Indeed, the file the VM was trying to pull down had 0 bytes. Which I thought was unusual, so I dived onto the MDT Server to see if I could find the file. For those interested, the file it was trying to pull down was boot\x64\wdsmgfw.efi and this is stored in the RemoteInstall share. Unsurprisingly, the file wasn't there.
A bit of Google-Fu and I wasn't completely the wiser as to why the file wasn't where it was supposed to be. There was a lot of talk about DHCP options but this didn't seem relevant to me (but might be to someone else with this issue) as I didn't actually have the files it was looking for.
Now some of you are probably way ahead of me, but eventually inspiration from somewhere hit. I hadn't installed a x64 Boot.wim into WDS.
I haven't needed to install a boot.wim for quite some time, but the process is pretty simple:
1, Mount a Windows disk that has a x64 Boot.wim in the sources folder (Server 2012r2, Windows 10 etc)
2, Load up the WDS Console
3, Right click Boot Image and Add Boot image, browsing to the mounted disk in stage 1
Then bingo, the required file is there!
But, I've been using MDT and Lite Touch as my deployment method of choice. So I needed to create a x64 version of my Lite Touch deployment:
1, Open up MDT Deployment Workbench
2, Right Click MDT Deployment Share
3, General tab, tick x64 as supported
4, Windows PE tab, platform x64, tick Generate a Lite Touch bootable ISO image.
5, Click OK and then right click the MDT Deployment Share again and 'Update Deployment Share'. This should create you a Lite Touch Bootable ISO you can then import into WDS.
But this tale doesn't end here. PXE booting was working, but by heavens it was slow. @mdrabble had experienced the same issue and it tickled something in the back of my mind too. The fault is with the Broadcom NetXtreme NICs that came with my lovely HP servers. HP have released drivers that fixed the problem, or you can manually go into the properties of the NICs and turn off VMQ (Virtual Machine Queuing). Since my NICS were only connected at 1gb, VMQs were not going to improve the performance at all, so I turned them off on the NICs. Problem solved, PXE booting on Gen 2 Hyper-V VHDs at rapid speed now attained.
Edited by simpsonj

0 Comments
Recommended Comments
There are no comments to display.
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now