With the recent release of Hyper-V the big question is "Am I using the latest version?".
Especially since you can't easily upgrade to the Release to Manufacturing (RTM) version in some scenarios (without having to recreate your Hyper-V-based virtual guests that is), it's important to know your version of Hyper-V and Integration Components to plan your upgrade accordingly.
Determining your version
Hyper-V
Microsoft Hyper-V, codenamed Viridian and formerly known as Windows Server Virtualization (WSV), is Microsoft's hypervisor based virtualization system for x64 systems.
It allows a Windows Server 2008 box to host multiple other Operating System instances (called child partitions) from one piece of hardware. (called the parent partition)
Determining your version
To determine your version of Hyper-V log on to the parent partition and run the following command:
wmic datafile where name="c:\\windows\\system32\\vmms.exe" get version
This command will query the version of the Virtual Machine Management Service executable.
Tip!
This command works on both Full installations and Server Core installations.
If you're scared of the command line or your first name is Susan, you can also use the Hyper-V Manager Console. There is an About Hyper-V Manager… option in the Help menu that shows the version.
Versions of Hyper-V
In total Microsoft publicly released four versions of Hyper-V:
Version | Version | Released on |
Beta 1 (Windows Server 2008 Built-in) | 6.0.6001.17101 | December 13, 2007 |
Release Candidate 0 | 6.0.6001.18004 | March 19, 2008 |
Release Candidate 1 | 6.0.6001.18010 | May 21, 2008 |
Release to Manufacturing (RTM) | 6.0.6001.18016 | June 26, 2008 |
Integration Components
These Hyper-V versions were accompanied by Integration Components (ICs). The purpose of these Integration Components is to enlighten the virtual guests and to provide drivers and services. Enlightened virtual guests know they are virtual machines and are therefor able to interoperate with the virtual host. Integration Components are also sets of drivers and services that help your Virtual Machines have more consistent state and perform better by enabling the guest to use the synthetic devices offered by the virtual host.
Determining your version
To determine your version of the installed Integration Components inside a virtual guests (child partition) log on to the virtual machine and run the following command:
wmic datafile where name="c:\\windows\\system32\\drivers\\netvsc60.sys" get version
This command will query the version of the Virtual Machine Bus (VMBus) Network Interface driver.
Tip!
This command works on both Full installations and Server Core installations.
If you're scared of the command line you can choose to look the version up in the Graphical User Interface (GUI). Simple open the Device Management MMC Snap-In (devmgmt.msc), browse to the VMBus Network Interface, open its properties and on the driver tab check the driver version.
Versions of Integration Components
Microsoft publicly released four versions of the Integration Components for Windows:*
Version of Integration Components | Version |
Beta 1 (Windows Server 2008 Built-in) | 6.0.6001.17101 6.0.6001.18000 |
Release Candidate 0 | 6.0.6001.18004 |
Release Candidate 1 | 6.0.6001.18010 |
Release to Manufacturing (RTM) | 6.0.6001.18016 |
* Integration Components for Linux follow a different release schedule and are
currently Release Candidate 2. More information here.
Planning your upgrade
How to obtain Hyper-V upgrades
Microsoft releases Hyper-V updates through Windows Update and also provides them as separate downloads for manual installation. The following Microsoft Knowledgebase articles are related to the following Hyper-V upgrades:
Upgrade Path | KB Article |
Upgrade to Hyper-V Release Candidate 0 | 949219 |
Upgrade to Hyper-V Release Candidate 1 | 950049 |
Upgrade to Hyper-V Release to Manufacturing (RTM) | 950050 |
The Hyper-V Management Service (VMMS) and the Hyper-V Integration Components work together closely. It is important both the Hyper-V VMMS and the Hyper-V VMBUS drivers are of the same version. (If they don't match, typical symptoms will be that you will not have mouse integration, synthetic networking and storage does not show up in virtual machines.)
Since the Release Candidate versions of Hyper-V you can mix and match the Hyper-V VMMS and the Hyper-V VMBUS drivers, which allows for migration purposes. The Beta 1 Integration Components however are incompatible with these Release Candidate (RC) and Release to Manufacturing (RTM).
Upgrading Hyper-V
Upgrading from Beta 1
When upgrading from Hyper-V Beta 1 to Hyper-V Release Candidate versions you basically need to recreate your virtual machine configurations. You can reuse your Virtual Hard Disks (VHD's) though. Microsoft Knowledgebase Article 949222 provides a walkthrough for this upgrade:
Upgrading from Release Candidate 0
Upgrading from Release Candidate 0 of Hyper-V to the Release to Manufacturing (RTM) version is significantly smoother, compared to upgrading from the Beta version. It isn't a breeze though. You should be aware of the following pitfalls:
- Saved state files are not supported between the Release Candidate 0 (RC0) and the Release to Manufacturing (RTM) version of Hyper-V. All virtual machines should be shut down correctly before you install the release version of Hyper-V.
- Snapshot files are not supported between the Release Candidate 0 (RC0) and Release to Manufacturing (RTM) version of Hyper-V. All virtual machine snapshots should be deleted by using the "Delete Snapshot Subtree" option for each virtual machine.
Note:
After you delete the snapshots and after you shut down the virtual machines, the changes that exist in the snapshot files (.avhd files) will merge into the parent virtual hard disk file (.vhd). This operation may take a while. To verify that the snapshots have merged into the parent virtual hard disk file, locate the snapshots, and then verify that no .avhd files exist.
Upgrade the parent partion before you upgrade any child partition. This way you will upgrade the Hyper-V Virtual Machine Management Services first, before you upgrade the Integration Components.
Upgrading from Release Candidate 1
Upgrading from Release Candidate 1 of Hyper-V to the Release to Manufacturing (RTM) version is even smoother, compared to upgrading from the Beta or the Release Candidate 0 version. It is actually a breeze. Simply install the update on the parent partition to upgrade the Virtual Machine Management Service (VMMS) and after the reboot upgrade the Integration Components on each of the virtual guests (child partitions).
Concluding
Upgrading your Hyper-V environment from one version to another can be quite tricky.
When you know the versions of your Hyper-V Management Service (VMMS) and your Integration Components and the way the work together you can plan your upgrade with confidence.
Further reading
Determining versions under Hyper-V
Identifying Hyper-V Version
Microsoft Hyper-V: Integration Components
Hyper-V: Integration Components and Enlightenments
Wikipedia on Hyper-V
Hyper-V RC0 – upgrade issues
Linux Integration Components for Windows Server 2008 Hyper-V
Hyper-V RC0 Release is available for download
Upgrade to Hyper-V RTM
Top 5 things to know about Hyper-V
Resources for deploying Hyper-V
For those of you who missed the headlines…
How to update Hyper-V Beta to Hyper-V RC and other info about the Release Candidate
Description of the Hyper-V Release Candidate update for Windows Server 2008
Description of the Hyper-V Release Candidate 1 update for Windows Server 2008
Description of the update for the release version of the Hyper-V technology
Hi Sander,
On my system, VMMS.EXE is reporting itself as version 6.0.6001.18125 (20 August 2008).
Have you any idea which update would have made that change?
Mark
Hi Mark,
This is the version of vmms.exe after installing Microsoft Knowledgebase article 956697. This update addresses inconsistent behavior by the Microsoft Hyper-V VSS Writer.