VMC to Hyper-V Import Tool Available

VMC to Hyper-V Import Tool

 Now that we have launched the Microsoft Virtualization strategy this Monday, I wanted to release my tool so people could start using it to import their old Virtual Machine configurations. So first of all, what is the VMC to Hyper-V Import Tool and what was it intended for?

 The tool

VMC to Hyper-V Import Tool, VMC2HV for short, imports the configuration from a Virtual Machine Configuration (VMC) file. Both Virtual PC and Virtual Server use VMC files to store the hardware and other properties of a VM. It reads the VMC file and maps all relevant properties to those for a Hyper-V VM. For those properties that did not exist, it provides additional options. Those properties that no longer exist are ignored.

 VMC2HV was developed to ease the transition from Virtual Server to Hyper-V. As I explained in an earlier post, I was quite annoyed by the fact that I had to enter all hardware properties manually if I wanted to use the VHD files from the Virtual Server VM with the hardware settings as they were in the original VM. It really took a lot of time to get my VS VM’s under Hyper-V. So I did not want to do that again and decided to develop a tool that would import the properties for me (development of the tool took quite more time but it was fun…).


The scope of the tool was initially to import Virtual Server VMC files. But some people also wanted to be able to import Virtual PC VMC files. So I did some additional testing with Virtual PC 2007 VMC files. It was not extensive but I did modify the code in several places to accommodate the differences between Virtual PC and Virtual Server. I did not specifically test Virtual PC 2004 VMC files. I imported several and it worked but I didn’t test those VMC files since the product has been superseded long ago. Basically the same is true for Virtual Server 2005 R2 SP1. I only tested VMC files under the latest release of Virtual Server 2005.

Out of scope

The tool imports a VM configuration. This means it does nothing inside the VM like removing Virtual Machine Additions or installing Integration Components. I just want to make that clear to manage the expectations. Although uninstalling the Additions, installing the Integration Components and the process involved requires some work it is much less than reading the VMC file and searching and copying the hardware properties over to Hyper-V. If you want automatic removal of Additions and installation of Integration Components, use System Center Virtual Machine Manager (SCVMM) 2008.

 Comparison with SCVMM

VMC2HV was never developed to replace the SCVMM functionality, as VMRCplus was never developed for the same reason. SCVMM is an enterprise class product which you should use to import, create and manage virtual machines. SCVMM can import the VMC file as well and provides some additional management functionality. VMC2HV basically does the same but was intended for people who do not (yet) have SCVMM. For example all people using Hyper-V on laptops or a couple of servers. Using SCVMM just for importing VMC files would be a bit too much of a step.


So what does the tool offer? In a list of features:

 ·         Import of VMC files of both VS2005 and VPC2007

 ·         Creation of VM on local Hyper-V host

 ·         Creation of VM on remote Hyper-V host

 ·         Validation of virtual disk and ISO files in local scenario

 ·         Editing of virtual drive image paths (vhd, vfd, iso)

 ·         Swapping of the first SCSI disk with the first IDE disk

 ·         Specification of static MAC addresses

 ·         Specification of either legacy (emulated) or enhanced network adapter

 ·         Specification of # of virtual processors and resource control

 ·         Specification of management settings

 ·         Specification of COM ports

 ·         Specification of device boot order

 ·         Specification of alternate Virtual Machine path

 ·         Built-in help in CHM file

 ·         Support for both x86 and x64 Vista and Server 2008

 As you can see, VMC2HV not only imports the configuration but lets you adjust almost any setting before creating the VM in Hyper-V. Several shortcut keys have been added to help speed the process if you only want to do an import-and-create of many VMC files.


You can import VMC files from any file location. Then you can create the VM either locally or remotely. In the remote scenario, both the client where VMC2HV runs and the remote Hyper-V host must be in the same domain. Or alternatively, both client and remote Hyper-V host can exist in a workgroup but you need to use mirrored administrator accounts (both same administrator, same password). Other configurations simply do not work.

 The tool prevents importing VMC files which contain either saved state information or Undo disks. VM’s must be shut down and Undo disks must be committed or discarded.


I hope it just works for you but I know there are always circumstances I did or could not test. If you run into issues with a VMC file, send me the file and I may look at it to see what causes problems. If the VMC file is from an old Virtual PC version, I prefer you open the VMC file in Virtual PC 2007 SP1 and save the configuration from there. It will be reformatted in Virtual PC 2007 layout and likely to solve any import issues. If you cannot, I can look into the specific issue. The same applies to old Virtual Server VMC file versions. If import fails when using the latest VMC files, send a copy to me.

 Before submitting any issues, please press F1 and see if your question is addressed in the help file. As the license agreement states, I may not support an issue at all or may not have the time. I will support on a best-effort basis.


You can find both the x86 and x64 files here.





Comments (51)

  1. Anonymous says:

    I have no idea. Please send me a mail with details of your configuration and what steps you took.

  2. Anonymous says:

    Matthijs ten Seldam, der Entwickler von VMRCPlus hat nun ein Tool zur Verfügung gestellt, welches die

  3. Anonymous says:

    Tool zum Konvertieren von VMC-Dateien in eine Hyper-V-Konfiguration

  4. Anonymous says:

    Nice and handy tool!!

    Unfortunately the window is too big for my laptop with res 1200×800 🙁

    Any chance to rearrange the interface or to create tabs?

    Thanks and ciao,


  5. Anonymous says:

    The best tool for converting virtual machines to Hyper-V is System Center Virtual Machine Manager 2008,

  6. Anonymous says:

    Bei uns im Unternehmen migriere ich gerade Schritt für Schritt von Windows Server 2003 hin zu 2008. Wird

  7. Anonymous says:

    We ran a Hyper-V day at the end of October, and collated a series of useful links and best practice guidance.

  8. Anonymous says:

    Matthij, who has developped VMRC+, has just released a new tool that helps import Virtual Server or Virtual

  9. Anonymous says:

    Я уже писал ранее о том, что автор VRMCPlus ведет разработку утилиты, импортирующей настройки виртуальных

  10. Anonymous says:

    Ben Armstrong: For users who want to move virtual machines from Virtual Server to Hyper-V there are two

  11. Anonymous says:

    Hola, hay abundante información sobre este tema por ahí, pero intentaré "resumir" aquí las diferentes

  12. Anonymous says:

    サポートが受けられるようなツールではなさそうですが、もし興味をお持ちの方がいたら使ってみてはいかがでしょうか? http://blogs.technet.com/matthts/archive/2008/09/12/vmc-to-hyper-v-import-tool-available.aspx

  13. Anonymous says:

    Here’s my obscenely vast list of resources that I actually do reference and send to customers on a very

  14. Anonymous says:

    VMC to Hyper-V Import Tool, VMC2HV for short, imports the configuration from a Virtual Machine Configuration

  15. Anonymous says:

    Have you ever gone looking for one thing only to find something else totally unrelated but really cool? 

  16. Anonymous says:

    Matthijs has created a tool that will help you import your Virtual Machine Configuration (VMC) file from

  17. Anonymous says:

    Matthijs’ blog blog post describes the VMC2HV tool you can use to only import your Virtual Server and

  18. Anonymous says:

    Ce n’est pas très difficile mais il y a quelques pièges a éviter (les disques bootables SCSI, par exemple

  19. Anonymous says:


    I am working on an updated version with Hyper-V v2 support. This has a Tabbed ui and requires a smaller resolution.


  20. Anonymous says:

    Feed: Virtual PC Guy's WebLog For users who want to move virtual machines from Virtual Server to

  21. Anonymous says:

    Matthijs ten Seldam is een Microsoft (Nederland) medewerker die veel doet met Hyper-V. Naast infrastructurele

  22. Anonymous says:

    Feed: Virtual PC Guy's WebLog For users who want to move virtual machines from Virtual Server to

  23. Anonymous says:

    TomFanning – the resolution to the problem of a Vista machine ported from Virtual PC to Hyper-V, wherein the Mouse Integration and "Virtual Bus" driver aren’t working, can be found at http://social.technet.microsoft.com/Forums/en-US/winserverhyperv/thread/a3b36767-b707-4536-b017-83bab5657dcf

    When a Vista or 2008 vm comes from VS or VPC, you need to:

    1. run msconfig

    2. go to the Boot tab

    3. click the Advanced options button

    4. check Detect HAL

    5. click OK

    6. click OK

    7. reboot the vm

    8. apply Integration Services

  24. Anonymous says:

    Thank you Matthijs for this great tool !

    I have just installed on my Vista laptop but I get an error when I try to connect on localhost with "Name space invalid" (traducted from French !). Where can I get help about this issue ?

    Thanks again.


  25. Anonymous says:

    I’m having a bit of trouble getting mouse integration to work on a Vista x86 SP1 guest migrated from VPC to Hyper-V on x64.

    The fact that mouse integration is broken leads me to think that I might not be getting any integration at all?

    I uninstalled the VPC additions, rebooted, installed the Hyper-V components, rebooted, and I get no mouse integration (have to press ctrl-alt-left to release mouse etc)

    I also have a yellow exclamation mark in device manager on the guest on Virtual Machine Bus. I have also tried removing that device and changing the drivers for it, but it keeps coming back.

    Any ideas?

    Thanks for the tool, great so far.

  26. Anonymous says:

    Matthijs ten Seldam has produced a cool tool that allows you to take your existing Virtual PC / Virtual

  27. Anonymous says:

    Feed: System Center Virtual Machine Manager Have you ever gone looking for one thing only to find something

  28. Anonymous says:

    Patch Per produrre un ambiente stabile basato su Windows Server 2008 e Hyper-V , non bastano un buon

  29. Anonymous says:

    The download link does not function currently.

  30. Anonymous says:

    Excellent Tool Matthijs!  Going to download it and give it try now.

  31. Anonymous says:

    Feed: System Center Virtual Machine Manager Have you ever gone looking for one thing only to find something

  32. Anonymous says:

    (updated 9/26/08) My current project involves being the only dedicated technical resource on the Virtualization

  33. Vinix says:

    I need this tool for Windows Server 2012. Will there be a new version for this OS?

  34. Pedro says:

    This doesn't work for Hyper-V in windows 8. Why didn't microsoft provided a tool for us to migrate our Virtual machines to Hyper-V ? Now I can't install Virtual PC in my Windows 8 and I can't import my ancient virtual PC machines into Hyper-V. GREAT!!!

  35. Poor, very poor, Microsoft!!!!!!!! says:

    All sites show us this migration-tool, but it does not work on windows 8.

    "incompatible with the version of host".

    How can I get my existing VMCs to work on Win8?

    No VirtualPC2013-Version for win8 available and no migration tool to hyper-v…


  36. Paul says:

    I can’t even connect… the tool crashes on Windows 8 when pressing the connect button ? Anyhow… it seems useless anyway as I need the old virtual PC on Hyper-V in Windows 8.

  37. Diego Rodrigo says:

    System.Management.ManagementException: Não encontrado
    em System.Management.ManagementException.ThrowWithExtendedInfo(ManagementStatus errorCode)
    em System.Management.ManagementObject.Initialize(Boolean getObject)
    em System.Management.ManagementBaseObject.get_wbemObject()
    em System.Management.ManagementBaseObject.get_ClassName()
    em System.Management.ManagementClass.GetInstances(EnumerationOptions options)
    em o.c(String A_0, String A_1, String A_2)
    em o.ae(Object A_0, EventArgs A_1)
    em System.Windows.Forms.Control.OnClick(EventArgs e)
    em System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
    em System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
    em System.Windows.Forms.Control.WndProc(Message& m)
    em System.Windows.Forms.ButtonBase.WndProc(Message& m)
    em System.Windows.Forms.Button.WndProc(Message& m)
    em System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
    em System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

  38. Diego Rodrigo says:

    I installed the x64 version on my 64 -bit Windows 8.1 .
    When I click the Connect button with host localhost , error exception occurs :
    Does anyone know what can be ?

  39. Leandro Wives says:

    Same problem here… no hint yet.

  40. Stacey says:

    I have x64 on 64b Win 8.1 and have the same problem as others. Error message only says "not found." I tried to connect using machine name and credentials, but that did not work, because it says to use localhost and no credentials for a local connection.

  41. Stacey says:

    BTW – I also tried to run the tool as Administrator. That made no difference…

  42. Stacey says:

    BTW – I also tried to run the tool as Administrator. That made no difference…

  43. Chofillo says:

    Same Thing using win8.1 64x message: "Not found" anyone resolve it yet? thanks!

  44. Danilo Ribeiro says:

    I’m using Windows 10 and have the same issue:
    "Not Found" error when I ckick in"connect" button with "localhost" and empty credentials.

  45. Knud says:

    I’m also using Windows 10 and cant’open old vmc-files.
    Please help me

  46. Amit says:

    When starting the app for first time to connect to localhost this error message is received " Unable to connect to localhost Use localhost to connect locally" Error message "Invalid Namespace"…..what is the problem….can u please suggest the solution

  47. Branko says:

    When starting the app, and connecting to localhost, it throws an exception, saying "not found".

  48. SGSMikeG says:

    See the end of this message for details on invoking
    just-in-time (JIT) debugging instead of this dialog box.

    ************** Exception Text **************
    System.Management.ManagementException: Not found
    at System.Management.ManagementException.ThrowWithExtendedInfo(ManagementStatus errorCode)
    at System.Management.ManagementObject.Initialize(Boolean getObject)
    at System.Management.ManagementBaseObject.get_wbemObject()
    at System.Management.ManagementBaseObject.get_ClassName()
    at System.Management.ManagementClass.GetInstances(EnumerationOptions options)
    at i.b(String A_0, String A_1, String A_2)
    at i.s(Object A_0, EventArgs A_1)
    at System.Windows.Forms.Control.OnClick(EventArgs e)
    at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
    at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
    at System.Windows.Forms.Control.WndProc(Message& m)
    at System.Windows.Forms.ButtonBase.WndProc(Message& m)
    at System.Windows.Forms.Button.WndProc(Message& m)
    at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
    at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

  49. SGSMikeG says:

    ************** Loaded Assemblies **************
    Assembly Version:
    Win32 Version: 2.0.50727.8000 (FX35W81RTMGDR.050727-8000)
    CodeBase: file:///C:/Windows/Microsoft.NET/Framework64/v2.0.50727/mscorlib.dll
    Assembly Version:
    Win32 Version:
    CodeBase: file:///D:/Program%20Files/VMC%20to%20Hyper-V%20Import%20Tool/vmc2hv.exe
    Assembly Version:
    Win32 Version: 2.0.50727.7905 (win9rel.050727-7900)
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Windows.Forms/
    Assembly Version:
    Win32 Version: 2.0.50727.7905 (win9rel.050727-7900)
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System/
    Assembly Version:
    Win32 Version: 2.0.50727.7905 (win9rel.050727-7900)
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Drawing/
    Assembly Version:
    Win32 Version: 2.0.50727.7905 (win9rel.050727-7900)
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Management/

    ************** JIT Debugging **************
    To enable just-in-time (JIT) debugging, the .config file for this
    application or computer (machine.config) must have the
    jitDebugging value set in the system.windows.forms section.
    The application must also be compiled with debugging

    For example:

    When JIT debugging is enabled, any unhandled exception
    will be sent to the JIT debugger registered on the computer
    rather than be handled by this dialog box.

  50. SGSMikeG says:

    I don’t think this works on Windows Server 2012……too old/not updated ??? Love to be wrong….

  51. SGSMikeG says:

    The author no longer works for Microsoft :

    Delivery has failed to these recipients or distribution lists:
    A communication failure occurred during the delivery of this message. Microsoft Exchange will not try to redeliver this message for you. Please try resending this message later, or provide the following diagnostic text to your system administrator.

    Diagnostic information for administrators:
    Generating server: by2msftvsmtp04.phx.gbl
    #< #5.4.1 smtp;550 5.4.1 [matthts@microsoft.com]: Recipient address rejected: Access denied> #SMTP#
    Original message headers:
    Received: from CO1MSDNBLOGS01 ([]) by by2msftvsmtp04.phx.gbl with
    Microsoft SMTPSVC(6.0.3790.4675); Sun, 24 Apr 2016 02:22:22 -0700
    Content-Type: text/html; charset="utf-8"
    Subject: =?utf-8?Q?TechNet=20Blogs=20-=20Contact=20request:=20=20VMC2HV=20does?=
    Content-Transfer-Encoding: Quoted-Printable
    Return-Path: Michael.green@solventgreen.com
    X-OriginalArrivalTime: 24 Apr 2016 09:22:23.0025 (UTC) FILETIME=[CF00C210:01D19E0A]
    Date: Sun, 24 Apr 2016 02:22:23 -0700
    MIME-Version: 1.0