Tag Archives: vmdk

StarWind V2V Converter

StarWind V2V Converter

As part of my job, I regularly get requests to import virtual machines from the customer site into the infrastructure of the organization I work for.

The challenge

As different virtualization platforms use different file format for the virtual disk images, I need to have an easy and reliable way to convert between the most commonly used disk formats.

It is common that vendor’s specific tools can only convert disk images to their own supported format, but not the other way around so you end up having a set of tools to do this task.

The solution

I got my hands on StarWind V2V converter few weeks ago, and I wanted to share my experience with the product as it solves this problem in extremely easy steps.

StarWind Software is the maker of StarWind Virtual SAN – a virtual shared storage solution (iSCSI, SMB3 and NFS). It provides fault-tolerant Virtual SAN for a fraction of the cost of buying conventional SAN storage solutions. The StarWind Virtual SAN starts from two hosts and has literally infinite scale-out capabilities. This software is extremely easy to use and recently I tested out the solution and wrote a blog post about the software that can be found here.

But to carry on with the V2V converter, a cool thing that StarWind Software gives away to the community.

The product is FREE! And it can be downloaded here at StarWind Software website

I got a brand new version of the converter program from StarWind and the main list of features is:

  • Adding of QCOW format (KVM)
  • Enlarged VMDK format (an option “streamOptimized” was added):
  • Monolithic sparse format compressed for streaming. Stream optimized format does not support random reads or writes.
  • Sparse disks employ the copy-on-write (COW) mechanism, in which virtual disk contains no data in places, until copied there by a write. This optimization saves storage space.

I’m really excited about the KVM format conversion option as KVM has a growing footprint in the service provider space.


An earlier version, release in February 2015 had those product highlights .Added support for MS VHDX container format. It requires running on Windows 8/2012 or higher version of Windows.

  • Windows Repair Mode may be activated for converted image, allowing virtual machines to adapt to hardware environment of a new hypervisor automatically.
  • Extended the command-line utility to support VHDX format and repair mode option.
  • Introduced new style of GUI in V2V Converter Wizard.
  • Added help file to installation.

Key features

What I think is useful, is the fact that StarWind V2V converter can boot the newly-converted VHDX VM in Windows Repair Mode, automatically adapting it to the new environment. That’s something other conversion software, like Microsoft Virtual Machine Converter or VMware vCenter converter standalone, are unable to do. The feature will help you deal with driver issues, boot problems and the like.

Another key feature is the command line options can save you a lot of time when you have to convert a lot of images and don’t want to spend your time clicking a way though the GUI over and over again.

Also, the possibility to select between thick and thin provisioned formats can save you both time and space.

Supported formats

The V2V converter can open disk image files that are

  • VMware’s .VMDK
  • Microsoft HyperV .VHD
  • Microsoft HyperV .VHDX
  • QCOW format (KVM)
  • As well as Starwind’s native .IMG format that is used by StarWind Virtual San software.

When you chose the output format, you have additional options for each supported file format.

  • Thin and thick provisioned VMware .VMDK
  • Thin and thick provisioned HyperV .VHD
  • New HyperV .VHDX
  • QCOW format (KVM)
  • StarWind Raw Image .IMG

You also get the option to have the converted VM boot up in windows repair mode if you have the need to due to different hardware configuration or compatibility problems.


Installation is a straight forward, you just run the installer as any other windows installer, accept the license agreement, select destination folder and so forth, so you can’t go wrong here.

Conversion process

When you open the program, you get a window where you have to point to the source image and when you point to the file, the converter detects the source format

Next you have to select the output format.

Next I get the option to activate Windows Repair Mode.

Next I select the destination file location and name.

And then the conversion process runs giving you a process bar as well as information about the files selected.

In this case, I converted a 40GB VMware .VMDK file, containing a fresh installation of Windows 2012R2, to a 14GB thin provisioned HyperV .VHDX file. The process took only 1 minute as I ran the process on my workstation’s PCI Flash card (Mushkin Scorpion Deluxe 480GB). Your conversion speed may vary, as the speed is mainly limited by the speed of your source and destination disks.

When you convert to the VMware .VMDK format, you get the option to choose between IDE or SCSI Virtual disk Type.

One thing I wanted to point out when you are converting VM’s like this, you have to take a look at the source configuration in regard of the new .VHDX format, EFI bios or classic BIOS settings to make sure the VM will boot up from the converted file. This is in reality something that is not directly related to the converter program, but you might start to pull your hair of your source VM was using EFI bios, and you didn’t select the destination VM to use EFI bios also.

Bulk conversation

If you have to convert more than few VM’s at at time, you can use the command line tool and script the process. It’s a simple process as well.

V2V.exe if=<InputFileName> of=<OutputFileName> ot=<OutputType> [vmdktype=<VMDKAdapterType>] [activate_rm]

Details for the parameters are included in the program’s help file.


Overall my experience with StarWind V2V converter has been great. The program runs though the conversation process though it’s wizard and the program does what it does in a really simple and fast way. Upcoming KVM support is also great and I’ll update this blogpost when I get the new version and have tested the new options.

How to run nested Hyper-V in vSphere 6.0

Few days ago I was testing a virtual –to- virtual converter software from StarWind, and as a by-product of an upcoming blog on the matter, I took some screenshot and wrote down settings that are relevant to running a nested Hyper-V in an ESXi environment.

The problem

When Installing the Hyper-V role on a windows 2012R2 machine that is a virtual machine, you get an error message saying “Hyper-V cannot be installed: A hypervisor is already running”, and to “fool” the Windows OS to believe it is running on a native x86 machine, you have to set several options for the VM

The steps when installing hyper-V on a Windows 2012R2

You select the “Hyper-V” role and hit “Next”

And you hit next, and automatically get the option to install the management tools as well, and in most cases you would want that, so you click “Add Features” to continue

And soon as you hit the add feature button you get a validation result popup stating that you can’t install hyper-V on this windows machine.

Sure, – you have a hypervisor running on your ESXi Host, – but you want to have a hypervisor running on this virtual machine as well. –

The solution

First you have to shut down the VM and remove it from vCenter inventory

Then enable SSH on the ESXi host if you have not already

Then you edit the .vmx file for the VM and add 2 lines at the bottom of the file.

vhv.enable = “TRUE”
hypervisor.cpuid.v0 = “FALSE”

Then using the datastore browser find the same .vmx file, and right click it and select add to inventory



In the web client, edit the settings for the VM and expand the CPU settings. There under “CPU/MMU virtualization (*) section, select “hardware CPU and MMU”

Also notice that the checkbox is set for “hardware virtualization”, and that is due to the hypervisor.cpuid.v0 = “FALSE” setting in the .vmx file.

When finished, boot up the VM and go back to the Add roles and Features Wizard on the VM

Now the wizard runs and installs Hyper-V on a nested VM


When you have this set up, and you have created a Hyper-V virtual machine, and you need network connectivity to the VM, you need to set your ESXi vSwitch security policy to “Promiscuous mode: Accept”. – This is the same setting that you have to do when you run nested ESXi and you have vm’s that need network connectivity.

When this was ready, I tried to run the Hyper-V integration services tools on the nested hyper-v VM, (this sounds like something from inception…)

I get and error “The Hyper-V Integration service can only be installed inside of a virtual machine running under Hyper-V”

I did not find a workaround for this, but if you have one, please let me know in the comments or by sending me an e-mail and I’ll update the post.


You can run a nested Hyper-V installation under ESXi if you need to do some basic testing. In my case I was testing a Virtual to Virtual Converter software from StarWind Software, and need create a hyper-V virtual machine, convert it to a .vmdk file and boot it up in my vSphere based lab (and via versa), but don’t expect to have a good performance on the nested VM 😉


Share if you feel this post to be useful.