In the last blog post (Planning for Your Migration to Hyper-V) we discussed how to gather inventory of your existing virtual machines from VMware.  Now that you’ve gathered the details of the virtual machines, what do you do with that information?  First and foremost, you need to determine which machines are NOT compatible for migration.  There are a few reasons why a virtual machine might not be compatible for migration with Xtreme VM Migrator.  These reasons include:

    • Virtual Machines that are using EFI as the BIOS
    • Linux virtual machines (not supported at this point in time)
    • Virtual Machines that have older or unknown VMware tools versions


Thankfully Xtreme VM Migrator includes a report that will show you all of the machines that are not compatible for migration. You can run this report in one of two ways.  First is through the command line.  Open a PowerShell prompt on the controller server and run the following command:

  • .Convert-vm.ps1 Report-Unsupported


If preferred, you can also run the report inside of Orchestrator.   To run inside Orchestrator, create a new runbook and add the Generate Report action from the Xtreme VM Migrator Activity:

Next configure all items in the Generate Report action and select Unsupported for the Report Name.  Once fully configured, your action should look like the following:

Now simply run the runbook to generate your report that lists the Virtual Machines that are NOT supported.  The report can be found on the controller in the c:vmmigratorreports folder

How can you resolve and make these systems supported?  If the systems are Linux or have EFI BIOS then they cannot currently be migrated.  However, if they are Windows Virtual Machines without EFI then the issue is often around the VMware tools and the system can be resolved.  When resolving these systems it helps to understand a little about the VM Migrator database.  The VM Migrator database contains a table called VMTools.  This table includes the VMware tools version, the uninstall GUID and the client version that are supported by VM Migrator.

Not all combinations of Operating Systems and tools versions are listed in the database so you may need to add a few additional entries.  The first thing you’ll want to find is the name of the GuestID (Operating System) as determined by VMware.  Find the GuestID by runing the following command from your Controller:

    • $vmtest = vmware.vimautomation.coreget-vm|where-object {$ –eq “yourservername”}
    • $vmtest.ExtensionData.Guest.GuestID

Now that you have the GuestID you need to determine the Uninstall GUID.  Run the following PowerShell command(s) on the Virtual Machine you want to migrate:

  • Get-wmiobject win32_product | where-object {$_.Name –eq “VMWare Tools”}


You can next determine the Tools version number from the VMware admin console.  You now have the version number, the Uninstall GUID, and the GuestID.  To finish, you'll need to add your new information to the database.  You can add within SQL by running the following command - with toolsnumber equal to the version of the tools, and the GUID and GuestID machine matching the two you identified earlier:

  • INSERT INTO VMTools  VALUES (toolsnumber,'{A2CC6F0B-E888-4485-82F5-587699B3CDB7}','windows7Guest')


Now that the database has been updates just re-run a Collect and the machine will be supported. Once you have your machines supported, you may want to change the value of different items.  The migration uses all of the data in the VMConversionData_PS table to create the new Virtual Machine in Hyper-V. This allows you to modify the entries in that table and change items like the memory or processor for a given virtual machine.

In our next posts we will discuss the migration process. Thanks and Happy Migrating!

Tim Mintner

Topics: Hyper-V, Microsoft, Migration, Uncategorized, VM Migrator, VMware, Xtreme VM Migrator

Share this:

ABOUT Mintner