Upgrade the VM configuration version in Hyper-V in just two steps

Because the VM configuration version won't be automatically updated when you upgrade to Windows Server 2016, you'll have to do it manually by following these steps.

Microsoft has made a significant change when it comes to updating the VM configuration version. The VM configuration...

version is not upgraded automatically when you upgrade a Windows Server 2012 R2 Hyper-V host to a Windows Server 2016 Hyper-V host, or when you migrate VMs from Windows Server 2012 R2 to a Windows Server 2016 Hyper-V host. In the past, the VM configuration version would automatically be updated when you upgraded a Hyper-V host. The reason for not updating the VM configuration version automatically on a Windows Server 2016 Hyper-V host is to ensure organizations can move back VMs to earlier versions of Hyper-V hosts, if required, and run VMs in compatibility mode of earlier versions of Hyper-V.

Windows Server 2012 R2 supports VMs running with configuration version 5.0. However, Windows Server 2016 supports versions 5.0, 6.2, 7.0 and 7.1, allowing you to host different types of VM versions. It's important to understand VMs might not see new features if they are not upgraded to the required or latest VM configuration version. For example, new features of Windows Server 2016, such as Hot Add/Remove Memory, Secure Boot for Linux VMs, Production Checkpoints and PowerShell Direct features, are available only if a VM is upgraded to 6.2 or a higher version.

Before starting the VM configuration version upgrade process, you can run a PowerShell command that shows you the current VM configuration version level for each VM, as listed below:

Get-VM * | Select-Object Name, Version

To upgrade the VM configuration version, you can either run a PowerShell command or upgrade the VM configuration version by using Hyper-V Manager. To update a particular VM to the current VM configuration version, just execute the below command:

Update-VMVersion –Name “ProductionVM1” –confirm $false

Note that Update-VMVersion cmdlet also supports upgrading the configuration version for a VM running on a remote Hyper-V host, as shown in the command below:

Update-VMVersion –ComputerName “ITDynamicPacks.Net” –Name “ProductionVM1” –confirm $false

When upgrading VM versions using Hyper-V Manager, shut down the VM, then select the "Upgrade Configuration Version" action available on the right-click context menu of a VM. The "Upgrade Configuration Version" action will not be available for VMs that have already been upgraded to the latest VM configuration version.

Microsoft did provide a way to disable upgrading VMs to the latest configuration version when migrating VMs from older to new Hyper-V versions, but Windows Server 2016 brings in a lot of new VM features, which can be supported only if the VM is running at the required configuration version level. With that in mind, there aren't any significant reasons as to why organizations wouldn’t want to upgrade VMs to the new VM configuration version.

Next Steps

Build a Hyper-V home lab

Save time with Hyper-V PowerShell

Use Hyper-V Port Mirroring

Dig Deeper on Microsoft Hyper-V management