What happens when you Sysprep a system running Hyper-V on Windows Server 2008 R2?
I got asked this question a couple of weeks ago – and I did not know the answer. After a bit of investigation – I now know the answer – and thought I would take the time to share it with the world (if you do not know what Sysprep is – go and read this first). The short answer is:
Everything just works.
The long answer is as follows:
Prior to Window Server 2008 R2 (namely in Windows Server 2008) you could run into a couple of problems. In Windows Server 2008 R2 we have implemented a Sysprep provider to ensure that everything goes smoothly. This provider does work during two of the phases of Sysprep:
Generalize
The generalize phase of Sysprep is where an installed version of Windows is prepared to be duplicated – and all installation specific information is removed. During this phase Hyper-V makes a couple of key changes:
- The installation date information for Hyper-V cleared. It will be automatically regenerated when the system image is deployed to a new system (or rebooted locally).
- The dynamic MAC address range is cleared. This will also be automatically regenerated when the system image is deployed to a new system. This step is necessary to ensure that you do not get duplicate MAC addresses on multiple Hyper-V servers if they are all deployed from the same base image.
Specialize
The specialize phase is run after the system image has been deployed to a new computer. Hyper-V makes the following change as part of this phase:
- Enable automatic launching of the hypervisor in the boot configuration data (BCD) store. Because a new boot configuration data store is created as part of the image deployment process, and because Hyper-V stores information in the boot configuration data store – we need to make sure this information comes across to the new system.
Cheers,
Ben
Comments
Anonymous
August 12, 2010
If you plan on turning a hyper-v VM to a "boot from VCD", you also need to sysprep it.Anonymous
September 22, 2011
The comment has been removed