Upgrade virtual machine version in Hyper-V on Windows 10 or Windows Server 2016

Applies To: Windows 10, Windows Server 2016

Make the latest Hyper-V features available on your virtual machines by upgrading the configuration version. Don't do this until:

  • You upgrade your Hyper-V hosts to the latest version of Windows or Windows Server.
  • You upgrade the cluster functional level.
  • You're sure that you won't need to move the virtual machine back to a Hyper-V host that runs a previous version of Windows or Windows Server.

For more information, see Cluster Operating System Rolling Upgrade and Upgrading Windows Server 2012 R2 clusters to Windows Server 2016 in VMM.

Step 1: Check the virtual machine configuration versions

  1. On the Windows desktop, click the Start button and type any part of the name Windows PowerShell.
  2. Right-click Windows PowerShell and select Run as Administrator.
  3. Use the Get-VM cmdlet. Run the following command to get the versions of your virtual machines.
    Get-VM * | Format-Table Name, Version
    You can also see the configuration version in Hyper-V Manager by selecting the virtual machine and looking at the Summary tab.

Step 2: Upgrade the virtual machine configuration version

  1. Shut down the virtual machine in Hyper-V Manager.
  2. Select Action > Upgrade Configuration Version. If this option isn't available for the virtual machine, then it's already at the highest configuration version supported by the Hyper-V host.

To upgrade the virtual machine configuration version by using Windows PowerShell, use the Update-VMVersion cmdlet. Run the following command where vmname is the name of the virtual machine.

Update-VMVersion <vmname>  

Supported virtual machine configuration versions

The following table shows which virtual machine configuration versions are supported by Hyper-V hosts that run on specific versions of Windows operating systems.

Hyper-V host Windows version Supported virtual machine configuration versions
Windows Server, version 1803 8.3, 8.2, 8.1, 8.0, 7.1, 7.0, 6.2, 5.0
Windows 10 April 2018 Update (version 1803) 8.3, 8.2, 8.1, 8.0, 7.1, 7.0, 6.2, 5.0
Windows Server, version 1709 8.2, 8.1, 8.0, 7.1, 7.0, 6.2, 5.0
Windows 10 Fall Creators Update (version 1709) 8.2, 8.1, 8.0, 7.1, 7.0, 6.2, 5.0
Windows 10 Creators Update (version 1703) 8.1, 8.0, 7.1, 7.0, 6.2, 5.0
Windows Server 2016 8.0, 7.1, 7.0, 6.2, 5.0
Windows 10 Anniversary Update (version 1607) 8.0, 7.1, 7.0, 6.2, 5.0
Windows Server 2016 Technical Preview 7.1, 7.0, 6.2, 5.0
Windows 10 build 10565 or later 7.0, 6.2, 5.0
Windows 10 builds earlier than 10565 6.2, 5.0
Windows Server 2012 R2 5.0
Windows 8.1 5.0

Run the PowerShell cmdlet Get-VMHostSupportedVersion to see what virtual machine configuration versions your Hyper-V Host supports. When you create a virtual machine, it's created with the default configuration version. To see what the default is, run the following command.

Get-VMHostSupportedVersion -Default  

If you need to create a virtual machine that you can move to a Hyper-V Host that runs an older version of Windows, use the New-VM cmdlet with the -version parameter. For example, to create a virtual machine that you can move to a Hyper-V host that runs Windows Server 2012 R2 , run the following command. This command will create a virtual machine named "WindowsCV5" with a configuration version 5.0.

New-VM -Name "WindowsCV5" -Version 5.0  

Why should I upgrade the virtual machine configuration version?

When you move or import a virtual machine to a computer that runs Hyper-V on Windows Server 2016 or Windows 10, the virtual machine"s configuration isn't automatically updated. This means that you can move the virtual machine back to a Hyper-V host that runs a previous version of Windows or Windows Server. But, this also means that you can't use some of the new virtual machine features until you manually update the configuration version. You can't downgrade the virtual machine configuration version after you've upgraded it.

The virtual machine configuration version represents the compatibility of the virtual machine's configuration, saved state, and snapshot files with the version of Hyper-V. When you update the configuration version, you change the file structure that is used to store the virtual machines configuration and the checkpoint files. You also update the configuration version to the latest version supported by that Hyper-V host. Upgraded virtual machines use a new configuration file format, which is designed to increase the efficiency of reading and writing virtual machine configuration data. The upgrade also reduces the potential for data corruption in the event of a storage failure.

The following table lists descriptions, file name extensions, and default locations for each type of file that's used for new or upgraded virtual machines.

Virtual machine file types Description
Configuration Virtual machine configuration information that is stored in binary file format.
File name extension: .vmcx
Default location: C:\ProgramData\Microsoft\Windows\Hyper-V\Virtual Machines
Runtime state Virtual machine runtime state information that is stored in binary file format.
File name extension: .vmrs
Default location: C:\ProgramData\Microsoft\Windows\Hyper-V\Virtual Machines
Virtual hard disk Stores virtual hard disks for the virtual machine.
File name extension: .vhd or .vhdx
Default location: C:\ProgramData\Microsoft\Windows\Hyper-V\Virtual Hard Disks
Automatic virtual hard disk Differencing disk files used for virtual machine checkpoints.
File name extension: .avhdx
Default location: C:\ProgramData\Microsoft\Windows\Hyper-V\Virtual Hard Disks
Checkpoint Checkpoints are stored in multiple checkpoint files. Each checkpoint creates a configuration file and runtime state file.
File name extensions: .vmrs and .vmcx
Default location: C:\ProgramData\Microsoft\Windows\Snapshots

What happens if I don't upgrade the virtual machine configuration version?

If you have virtual machines that you created with an earlier version of Hyper-V, some features may not work with those virtual machines until you update the configuration version.

The following table shows the minimum virtual machine configuration version required to use new Hyper-V features.

Feature Minimum VM configuration version
Hot Add/Remove Memory 6.2
Secure Boot for Linux VMs 6.2
Production Checkpoints 6.2
PowerShell Direct 6.2
Virtual Machine Grouping 6.2
Virtual Trusted Platform Module (vTPM) 7.0
Virtual machine multi queues (VMMQ) 7.1
XSAVE support 8.0
Key storage drive 8.0
Guest Virtualization Based Security support (VBS) 8.0
Nested virtualization 8.0
Virtual processor count 8.0
Large memory VMs 8.0

For more information about these features, see What's new in Hyper-V on Windows Server 2016.