Converting Bitnami VMDK to Hyper-V VHDX files

I scoured the internet looking for an answer on how to run a Bitnami Virtual Appliance in Microsoft Hyper-V. I’ve had some luck using TurnKey Linux, but the hostnames in TurnKey don’t resolve well (or at all) using windows/OpenWRT so I’ve been looking at Bitnami. Since Windows Pro comes with Hyper-V, I thought I’d give it a try. Unfortunately, while TurnKey provides raw ISOs, Bitnami only provides files (or “stacks” as they call them) that are useful for VMWare and VirtualBox users.

After a couple hours of bouncing around the internet I finally came across a solution – Microsoft Virtual Machine Converter. Except that all of the tutorials referenced mvmc.exe, which is no longer included! It has been recompiled as MvmcCmdlet.dll or some other directly-inaccessible vector and the only exe left is Mvmc.Gui.exe.

Turns out you can call the cmdlet via powershell if you know how to load it. Further googling resulted in this, which I posted to Bitnami’s forums in the hopes of helping out others. I decided to use the Minecraft bukkit bitnami stack as a fun example.

Sorry to revive this topic, but it’s the only relevant result -

We Hyper-V users are treated by lepers by the VM community but I figured out how to do this.

First download & install to the default location Microsoft Virtual Machine Converter @ http://www.microsoft.com/en-gb/download/details.aspx?id=42497

Make sure you’re on a recent version of powershell (4.0 works for sure as of this writing) and boot up Powershell ISE (not just the shell, the ISE, it has a GUI) and paste this in the white text box and hit F5 to run it. It will extract the MvmcCmdlet for you

$modulearray = $env:PSModulePath.Split(“;”)
foreach ($modulepath in $modulearray) {
if ($modulepath -match “v1.0″) {
$moduledest = $modulepath+”MvmcCmdlet”
New-Item -Path $moduledest -ItemType directory
Get-Childitem -Path “c:\Program Files\Microsoft Virtual Machine Converter” -filter *.dll -recurse | Copy-Item -destination $moduledest -Force
Get-Childitem -Path “c:\Program Files\Microsoft Virtual Machine Converter” -filter *.psd1 -recurse | Copy-Item -destination $moduledest -Force
}
}

Then in the *blue* box type

Import-Module mvmccmdlet

Next, to check your handiwork, type

Get-Command -Noun mv*

About 12 results should show up. I had downloaded and extracted the bitnami craftbukkit bitnami folder to my C:\Bucket\ folder, and was going to dump the file in to my C:\VHDX\ folder, so I ran the command:

ConvertTo-MvmcVhd -SourceLiteralPath C:\Bucket\bitnami-craftbukkit-1.7.9R0.3-0-ubuntu-12.04\bitnami-craftbukkit-1.7.9R0.3-0-ubuntu-12.04.vmdk -DestinationLiteralPath C:\VHDX\bucket.vhdx -VhdType DynamicHardDisk -VhdFormat Vhdx

From there I hit enter and then waited about 20 minutes for it to build the VHDX. There’s a green status bar to keep you abreast of the situation. After that, I created a new Hyper-V VM and pointed it’s drive at the new bucket.vhdx in my C:\VHDX\ folder and it booted up smoothly with no issues.

Credit goes to Seb Matthews for the cmdlet import script and general know-how

This entry was posted in computing, windows and tagged , , , , , , , , . Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>