When preparing a Hyper-V virtual machine, it is a good idea to create it and configure it on your own computer, and then implement it in the production environment. The usual scenario would be to export the virtual machine from the local host and move it to the server host. This scenario, however, may not work in all situations. Unluckily, along with the release of Windows 10, the export/import functionality has been restricted – in other words, it is no longer possible to perform export/import move of the virtual machine from Windows 10 to Windows Server 2012 R2. To see what happens when you try to import such virtual machines, go to the Import Virtual Machine wizard and locate the folder with your virtual machine:
In the Select Virtual Machine section, the virtual machine imported from Windows 10 host is not listed:
As you can see in the screenshot below, the virtual machine files exist but the wizard doesn’t see them:
So why are those files not visible in the wizard? The problem is related to the new format of a virtual machine configuration file, namely .vmcx, which is supported only by Windows 10 and Windows Server 2016.
As you may suppose, there is no problem when you import the virtual machine the opposite way round – from Windows Server 2012 R2 to Windows 10 (or to Windows Server 2016). This move is possible because both Windows 10 and Windows Server 2016 are new systems, which can read the format of virtual machines exported from older configuration system versions (for Windows Server 2012 R2, the configuration system version is 5.0 while for Windows 10, it is 6.2). As you can see, the Hyper-V’s configuration version determines the format of the configuration file, which in the version 6.2, has been changed from .vmc to .vmcx (Windows 8.1/2012 R2 does not support the .vmcx format).
At this point, you may find it practical to upgrade the configuration version to version 6.2. You can do this when you import the older version of the virtual machine to the new system (Windows 10 or Windows Server 2016):
The upgrade requires stopping the virtual machine. When the virtual machine is stopped, right click on it and select the Upgrade Configuration Version… option.
Now you can see that the configuration version is upgraded from version 5.0 to 6.2.
A few important words about this configuration version (6.2):
- Once you have upgraded the virtual machine configuration version, it is not possible to move the virtual machine to Windows 8.1/2012 R2
- It is not possible to roll back the virtual machine configuration version to version 5.0
- Before upgrading the virtual machine configuration to version 6.2, the virtual machine must be turned off
- Once the upgrade has been completed, the virtual machine uses the new configuration file format
How to deal with the export of a virtual machine from Windows 10 to Windows 8.1/2012 R2 anyway?
The only way to export the virtual machine from Windows 10 to Windows 8.1/2010 R2 is to stop the virtual machine you want to move and to copy its vhd or vhdx file to the target Hyper-V host. The drawback of this scenario is that no settings related to the network, processors, size of RAM memory etc. will be kept. On the new host, you need to create a new virtual machine and define all settings the way they were configured on the virtual machine on Windows 10 host. In the Connect Virtual Hard Disk section, you need to select the Use an existing virtual hard disk option to browse the existing hard disk (the one already copied to the target host):
Once the new virtual machine has been created, you can run it to verify whether it works as expected.