Windows Server How-To
How To Make Sysprep Work with Windows 10, Part 1
When creating multiple Windows 10 VMs, you might run into some problems …
Although I am probably best known for the blog posts and articles that I write, I tend to write a few books and produce a few video training courses each year. As you can imagine, these projects usually involve setting up a huge number of virtual machines that are used in the various lab exercises that I create.
I'm getting ready to start working on one of these projects in a week or two. This one is going to be a video training course on Exchange Server 2016 (I don't have any release or availability details at this time). Since creating the course is going to require me to build so many virtual machines, I got an early start on the process over the weekend.
Normally, getting all of the VMs ready is a simple process. I build a series of VM templates for System Center Virtual Machine Manager, and then use Virtual Machine Manager to generate the required virtual machines from those templates. As long as I don't accidentally omit anything from the templates, the process usually works really well. This time, however, I ran into a very big issue.
Out of all of the books and videos that I have created, this is the first time that I have had to create a VM template for Windows 10. Unfortunately, I discovered that building a VM template for Windows 10 does not work in the same way that the process works for other versions of Windows.
Before I go on, I want to point out that Virtual Machine Manager fully supports Windows 10. In fact, if you look at Figure 1, you can see that VMM allows you to design a guest OS profile specifically for Windows 10.
For those who might not be familiar with Virtual Machine Manager or who might not understand why the seeming inability to create a functional VM template is a big deal, let me take a moment and explain the process. A VM template is a mechanism that is used to create virtual machines from a template image. There are a few different ways to create a VM template, but I have always built templates by setting up a model VM and using that VM as the basis for template creation. In doing so, Virtual Machine Manager uses Sysprep to generalize the virtual machine as a part of the template creation process.
So with that said, let's talk about Windows 10. I installed Windows 10 onto a brand new VM, and told VMM to create a template from the virtual machine. Each time that I tried, however, the VM template creation process failed. The corresponding Jobs report indicated that the template creation failure was caused by a Sysprep failure. You can see the actual error message in Figure 2.
Curious as to why Sysprep would be failing, I decided to log into the VM from which I was trying to create the template. Upon manually running Sysprep within this VM, I received an error message indicating that Sysprep was not able to validate the Windows installation. You can see the exact error message in Figure 3.
Researching this problem lead me on something of a wild goose chase. Some Web sites incorrectly report that the problem is attributed to having a password assigned to the Windows deployment or to the removal of default apps. After a lot of trial and error (and a lot of research), I determined the root causes of the problem.
There were actually two different things causing the problem. The first cause was really simple. Although I thought that my VMM server was fully patched, it was not. When I applied Update Rollup 9 for Microsoft System Center 2012 R2 -- Virtual Machine Manager, the Sysprep problem went away. However, a more baffling problem took its place.
At first, it appeared that everything had worked perfectly. I created a model VM and created a template from that model. I then used the template to create a Windows 10 virtual machine. Everything worked exactly as it should have -- until I started using Windows 10. That's when I discovered that the VM that I created from the template had major problems.
Anything that was on the virtual machine's desktop worked fine. However, the Start menu did not work and neither did Cortana. None of the usual Start menu fixes helped me, but I was eventually able to come up with a solution. I will share that solution with you in Part 2.
Brien Posey is a 16-time Microsoft MVP with decades of IT experience. As a freelance writer, Posey has written thousands of articles and contributed to several dozen books on a wide variety of IT topics. Prior to going freelance, Posey was a CIO for a national chain of hospitals and health care facilities. He has also served as a network administrator for some of the country's largest insurance companies and for the Department of Defense at Fort Knox. In addition to his continued work in IT, Posey has spent the last several years actively training as a commercial scientist-astronaut candidate in preparation to fly on a mission to study polar mesospheric clouds from space. You can follow his spaceflight training on his Web site.