In the last couple of weeks I was on a vacation and can tell you this vacation was the best in the last ten years :) Now I’m ready for the new challenges!
In this blog post I would like to show how to convert single VMware virtual disk (.VMDK) to Hyper-V (.VHDX) with free tool, Microsoft Virtual Machine Converter 2.0 (MVMC) which you can download from here. Few months ago I wrote blog post on similar topic, but this is a new version of MVMC with lots of new features.
What is Microsoft Virtual Machine Converter (MVMC)?
Microsoft® Virtual Machine Converter (MVMC) is a Microsoft-supported, stand-alone solution for the information technology (IT) pro or solution provider who want to convert virtual machines and disks from VMware hosts to Hyper-V® hosts and Windows Azure™.
New Features in MVMC 2.0
MVMC 2.0 release of MVMC includes the following new features:
- Converts virtual disks that are attached to a VMware virtual machine to virtual hard disks (VHDs) that can be uploaded to Windows Azure.
- 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.
- Supports conversion of virtual machines from VMware vSphere 5.5, VMware vSphere 5.1, and VMware vSphere 4.1 hosts Hyper-V virtual machines.
- Supports Windows Server® 2012 R2, Windows Server® 2012, and Windows® 8 as guest operating systems that you can select for conversion.
As you noticed, with Microsoft Virtual Machine Converter we can convert / migrate to Azure and to Hyper-V but only based VMs only if have vCenter server or ESXi server, but what if I have VMware Workstation based VMs.. cannot convert with MVMC. On that way can convert only .vmdk to .vhdx and then create new Hyper-V VM with converted virtual disk.
So, how to do it?
With PowerShell, of course :) In the previous version of MVMC we could do with CLI.
I know, I know… most of you will tell me; you have lots of free tools for conversion but I want use only Microsoft tools! ;)
Here is short explanation how to…
Install MVMC 2.0 (2.1 ;) ), open PowerShell as administrator and write
get-command -Module mvmccmdlet
If you don’t see modules, need to create user profile and to import modules
Create user profile
PS C:\Windows\system32> $env:psmodulepath -split ';' C:\Users\rm\Documents\WindowsPowerShell\Modules C:\Program Files\WindowsPowerShell\Modules C:\Windows\system32\WindowsPowerShell\v1.0\Modules\ PS C:\Windows\system32> $profile C:\Users\rm\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1 PS C:\Windows\system32>
Now we can convert .vmdk to .vhdx through PowerShell. Open PowerShell as administrator and…
ConvertTo-MvmcVirtualHardDisk -SourceLiteralPath “D:\VMwareConvert\Windows8x64VMware\Windows8x64
.vmdk” -DestinationLiteralPath “D:\VMwareConvert\Windows8x64Hyper-V” -VhdType DynamicHardDisk -VhdFormat Vhdx
For a 17GB virtual drive I needed 6 minutes on SSD
At the end we can create Hyper-V virtual machine with converted virtual disk.
I’d like to thanks my great friend Aleksandar “The PowerShell Guru” Nikolic for the big help.
Also, I must mention a new book “System Center 2012 R2 Virtual Machine Manager Cookbook – Second Edition” from my Hyper-V MVP fellow Alessandro Cardoso.
Hope to see you soon ;)