In this post I will look at creating a virtual machine (VM) template that you can use to quickly deploy new VM’s from, without having to install and patch them each time.
It is particularly useful if you are in a small Hyper-V environment and don’t have System Center Virtual Machine Manager (VMM).
The beauty of using a template for VM deployment is standardization. You deploy a known configuration which can be pre-patched which reduces time during the post deployment tasks.
1. First, create a VM, install the operating system and patch it. Unfortunately you have to do this at least once. In the image below you can see I’ve created a generation 2 Windows 2016 virtual machine template.
3. In the Hyper-V Manager export the VM, right click your template VM and select Export.
If you selected mostly default settings when creating your virtual machine template it should only take a minute or so to export. You now have a known good VM template located in D:\Templates.
I would leave the original virtual machine template in Hyper-V Manager, as every few months after more patches have been released you will want to update it and create a new template.
Now let’s look at how to deploy a new virtual machine from the template. It’s not just a case of selecting Import in the Hyper-V Manager, because the exported virtual machine and it’s disks still exist and when you import a VM you don’t have the option to rename them.
1. Create new VM without the disks, select New then choose Virtual Machine, configure the machine, selecting the same generation as the template you created, but CPU, memory and networking settings can be different. When you get to the Connect Virtual Hard Disk option, select Attach a virtual hard disk later, click Next and Finish.
4. Cut and paste the disk into the default location on your Hyper-V server for your VHDX files. In this example, D:\Hyper-V\Virtual Hard Disks.
5. In Hyper-V Manager, right click the new VM you have deployed and select Settings, then select the SCSI Controller option (for Generation 1 virtual machines, select the IDE Controller 0). Highlight Hard Drive and click Add.
You can now boot the virtual machine, once it has finished detecting devices it will run through a short wizard to select the language, license terms and set the administrator password, and you’ve got a patched virtual machine ready to be deployed.