Welcome to Dirteam.com/ActiveDir.org Blogs Sign in | Join | Help

The things that are better left unspoken

a blog by Sander Berkouwer

Related

AD Manager Plus
 

Blog roll

News



Archives

Determining your Hyper-V version and upgrade method

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

Posted: Thursday, July 03, 2008 10:52 PM by Sander Berkouwer

Comments

TrackBack said:

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.

# July 4, 2008 2:33 AM

TrackBack said:

Hyper-V, a key feature of Windows Server 2008, has released to manufacturing (RTM) and is available for deployment into production environments. A beta of Hyper-V was included with Windows Server 2008 and this update provides the final release. 
# July 7, 2008 12:58 AM

TrackBack said:

The other day, I had to figure out which Hyper-V and SCVMM version a server was running. Luckily, I found this article.

I PowerShelled the Hyper-V part, so you can use it easily in your scripts (and if you execute the WMIC command from PowerShell, it will not work owing to parsing differences between cmd and PowerShell). Here is my Get-HyperVVersion.ps1, but you can also execute it directly -

$file=get-command c:\windows\system32\vmms.exe
switch ($file.fileversioninfo.productversion.split(".")[-1]) {
17101 { "Beta" }
18004 { "RC0" }
18010 { "RC1" }
18016 { "RTM" }
}


Note how Get-Command can 'reveal' the versioninfo of a executable/DLL.
# July 19, 2008 1:55 AM

Mark's Windows Server Blog said:

In the week or so since Hyper-V RTMed there has been a huge amount of coverage on various websites.
# July 22, 2008 1:44 AM

TrackBack said:

In my last post I informed you about the version of Hyper-V. But how to check it?
It is as simple as executing a command line in elevated command prompt:
wmic datafile where name="c:\\windows\\system32\\vmms.exe" get version
This sill give you the version. And here is also a brief list of versions:

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

Thanks to this post.

# November 14, 2008 7:01 AM

markwilson said:

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

# November 25, 2008 2:35 PM

Sander Berkouwer said:

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.

# November 26, 2008 12:12 PM

markwilson.it » Hyper-V Q&A said:

Hyper-V has been around for a few months now and, even though there is a whole host of information out there on the web, it’s still a source of confusion for many.

This post is a list of questions and answers for those trying to get started with the Microsoft hypervisor. It is based, in part, on information provided during the Hyper-V technology adoption programme and has been used with the kind permission of Microsoft Windows Virtualization product team, supplemented with additional information where appropriate.

# February 25, 2009 1:00 AM

IT-professional Community Blog said:

Server virtualisatie levert veel voordelen op. Veel genoemde voordelen zijn een toegenomen flexibiliteit

# April 2, 2009 11:01 PM

Determining your Hyper-V version | 70-620 Exam - Microsoft Questions on 70-620 Exam and Answers said:

The other day, I had to figure out which Hyper-V and SCVMM version a server was running. Luckily, I found this and this article.

I PowerShelled the Hyper-V part, so you can use it easily in your (and if you execute the WMIC command from , it will not work owing to parsing differences between and ). Here is my Get-HyperVVersion., but you can also execute it directly -

$file=get-:\windows\system32\vmms.exe
switch ($file.fileversioninfo.productversion.split(".")[-1]) {
    17101 { "" }
    18004 { "RC0" }
    18010 { "RC1" }
    18016 { "" }
}

Note how Get-Command can ‘reveal’ the versioninfo of a executable/DLL.

# March 3, 2010 2:49 PM
Anonymous comments are disabled