Microsoft Virtual Machine Converter (MVMC) is a Microsoft-supported, stand-alone solution for the information technology (IT) pro or solution provider who wants to
- convert virtual machines and disks from VMware hosts to Hyper-V hosts and Microsoft Azure.
- convert physical machines and disks to Hyper-V
This guide is intended for the enterprise customer in an IT role, such as the IT decision maker (ITDM), IT pro, or IT implementer. It provides an overview of MVMC features and functionality, as well as information about how to install and use MVMC as a conversion solution.
MVMC can be deployed with minimal dependencies. Because MVMC provides native support for Windows PowerShell, it enables scripting and integration with data center automation workflows such as those authored and run within Microsoft System Center Orchestrator 2012 R2. It can also be invoked through the Windows PowerShell command-line interface. The solution is simple to download, install, and use. In addition to the Windows PowerShell capability, MVMC provides a wizard-driven GUI to facilitate virtual machine conversion.
New Features in MVMC 3.0
MVMC 3.0 release of MVMC includes the following new features:
- Online conversion of physical machines to virtual hard disks (VHDs) that can be uploaded to Hyper-V hosts
Key MVMC Features
In addition to the new feature above, MVMC provides the following functionality:
- Converts and deploys virtual machines from VMware hosts to Hyper-V hosts on any of the following operating systems:
- Windows Server 2012 R2
- Windows Server 2012
- Windows Server 2008 R2 SP1
- Converts VMware virtual machines, virtual disks, and configurations for memory, virtual processor, and other virtual computing resources from the source to Hyper-V.
- Adds virtual network interface cards (NICs) to the converted virtual machine on Hyper-V.
- Supports conversion of virtual machines from VMware vSphere 5.5, VMware vSphere 5.1, and VMware vSphere 4.1 hosts to Hyper-V.
- Has a wizard-driven GUI, which simplifies performing virtual machine conversions.
- Uninstalls VMware Tools before online conversion (online only) to provide a clean way to migrate VMware-based virtual machines to Hyper-V.
Important MVMC takes a snapshot of the virtual machine that you are converting before you uninstall VMware Tools, and then shuts down the source machine to preserve state during conversion. The virtual machine is restored to its previous state after the source disks that are attached to the virtual machine are successfully copied to the machine where the conversion process is run. At that point, the source machine in VMware can be turned on, if required.
Important MVMC does not uninstall VMware Tools in an offline conversion. Instead, it disables VMware services, drivers, and programs only for Windows Server guest operating systems. For file conversions with Linux guest operating systems, VMware Tools are not disabled or uninstalled. We highly recommend that you manually uninstall VMware Tools when you convert an offline virtual machine.
- Supports Windows Server and Linux guest operating system conversion. For more details, see the section “Supported Configurations for Virtual Machine Conversion” in this guide.
- Provides native Windows PowerShell capability that enables scripting and integration into IT automation workflows.
Note The command-line interface (CLI) in MVMC 1.0 has been replaced by Windows PowerShell in MVMC 2.0.
- Supports conversion and provisioning of Linux-based guest operating systems from VMware hosts to Hyper-V hosts.
- Supports conversion of offline virtual machines.
- Supports the new virtual hard disk format (VHDX) when converting and provisioning in Hyper-V in Windows Server 2012 R2 and Windows Server 2012.(Does not apply to physical machine conversions.)
- Supports Windows Server 2008 through Windows Server 2012 R2, and Windows Vista through Windows 8 as guest operating systems that you can select for conversion, along with an umber of Linux distributions. See the section “Supported Configurations for Virtual Machine Conversion” for more detail.
- Includes Windows PowerShell capability for offline conversions of VMware-based virtual hard disks (VMDK) to a Hyper-V–based virtual hard disk file format (.vhd file).
Note The offline disk conversion does not include driver fixes.
And ofcourse there are Powershell CMDlets to do conversions and handy for automation.
This script is a representative sample of the entire flow to perform a physical to virtual machine conversion:
## Create the credentials
$user = ‘User Name’
$pass = convertto-securestring ‘Password’ -asplaintext -force
$cred = new-object pscredential ($user, $pass)
## Import the module
Import-Module “C:\Program Files\Microsoft Virtual Machine Converter\MvmcCmdlet.psd1”
$SourceMachine = ‘SourceMachineName’
## Get system information and logical drives
$conn = new-mvmcp2vsourceconnection -physicalserver $SourceMachine -sourcecredential $cred
$sys = Get-MvmcP2VSourceSystemInformation -P2VSourceConnection $conn
$lcs = $sys.LogicalDrives
$lcs | ft driveletter
$nads = $sys.NetworkAdapters
## Create the P2V target VM configuration
$p2vparam = New-MvmcP2VRequestParam
$p2vparam.CpuCount = 1 ##Number of PRocessors on the destination VM
$p2vparam.StartupMemoryInMB = 512 ##Memory for the destination VM
$p2vparam.UseDynamicMemory = $false ##Memory Static or Dynamic
$p2vparam.SelectedNetworkAdapters.add($nads, “External”) ##VSwitch Name on the HyperV Host
$HyperVHostName = ‘DestinationHostName’
$HyperVHostUser = ‘DestinationUserName’
$HyperVHostPass = convertto-securestring ‘DestinationPassword’ -asplaintext -force
$HyperVHostCred = new-object pscredential ($HyperVHostUser, $HyperVHostPass)
$hvconn = New-MVMCHyperVHostConnection -HyperVServer $HyperVHostName -HostCredential $HyperVHostCred
$DestinationPath = ‘FinalPath’ #THis can be a local path (c:\VMPath), if the converter and host are the same machine, else only a share path (\\Server\Share)
$TempWorkingFolder = ‘Temp Path’ #this path is used for disk fixups, and must be a local path (c:\temp)
$VMName = ‘VM Name’
## P2V conversion
ConvertTo-MvmcP2V -SourceMachineConnection $conn -DestinationLiteralPath $DestinationPath -DestinationHyperVHostConnection $hvconn -TempWorkingFolder $TempWorkingFolder -VmName $VMName -P2VRequestParam $p2vparam -Verbose -Debug
Here you can download the Microsoft Virtual Machine Converter 3.0 and all documentation with the Powershell commands guide included.