• Insights

Fix ZTIGather to Work with UEFI in VMware Workstation

Kevin Proctor

2 min read

All Insights

While working in my lab, I discovered an issue with the Gather step while doing OSD to a VM using UEFI. I was working through a MDT 2012 standard client task sequence in ConfigMgr 2012 SP1, and wanted to test my build with a UEFI VM. I kept getting unexpected results in my branching logic, and it took me a few to narrow it down to the lack of support in the ZTIGather.wsf script provided in the Microsoft Deployment Toolkit. Don’t misunderstand me, the format and partition step 6.1 worked like a charm, but other steps in my task sequence did not work as I expected.

Oh, so you want to test UEFI in your VMware Workstation lab (testing was done with Version 9.0.2 build so YMMV). Just build a Windows 7 or 8 system as normal but before starting the VM, edit your .vmx file and add the firmware line for efi support.

Y Downloads SharedPhotos Blog ZTIGather UEFIonVMwareWorkstation resized 600

In my testing you will see that it is identified as VMware, but down below IsVM variable is incorrectly identified as false.

describe the image

Here is essentially the same VM but using BIOS instead, and it is correctly identified and IsVM=True as expected.

describe the image

When using UEFI with VMware Workstation, the Model type reported by WMI is different.  VMware7,1 vs. VMware Virtual Platform. Reviewing the ZTIGather.wsf script reveals it lacks support for this model type. After adding some additional lines of code to the script, it worked as I had expected it to originally. My additional lines are at 1278-1283 for reference.  If you do change your script, don’t forget to update your package.

Y Downloads SharedPhotos Blog ZTIGather ZTIGather

After retesting my deployment and reviewing the log, it now correctly identifies my UEFI VMware Workstation as a VM.

Y Downloads SharedPhotos Blog ZTIGather ExampleUEFICorrect

I know that MDT 2013 was announced at Tech Ed this week with a preview available later this month. I have contacted the new program manager (I think) to make him aware of the issue. I will double check when I review the preview and will report it on connect, if support is not already in there.

Regardless, you should now be able to use UEFI in your labs.