A VM was sent to me as .vhdx instead of .vhd and I need to import it into xenserver which supports .vhd but not .vhdx.

I looked at the following solutions:

The problem with using powershell, is you need to have either Windows2012 or Windows 8.1 but with the Hyper-V role installed to get the proper cmdlets.

I only have access to Windows 2008r2 and Windows 8.1 without the Hyper-V role installed.

My other options would have been to attempt to gain access to a server with Hyper-V and use powershell to run the convert-vhd command on the remote server but I am not even sure if powershell commands can be ran like that. (ie: running hyper-v cmdlets on a remote server which doesn't have hyper-v cmdlets.)

  • It would only take a few minutes to install the hyperv role on an existing win 8 machine. – Grant Jan 14 '14 at 22:57
  • I went to add new features in my Windows 8.1 machine but it doesn't have the option to enable the hyper-V role. I'm unable to determine my windows edition, which may be why it does not exist. – Damainman Jan 14 '14 at 23:00
  • Windows edition can be ascertained by hitting WinKey-Pause/Break Should show the edition in the first section on the dialog that pops up. You can still install the Hyper-V tools on a machine that cannot run Hyper-V locally. To do so visit "Programs and Features" in the Control panel, and select the option for "Turn Windows features on or off" and you should have the option to install the Hyper-V Management tools including the Module for Windows Powershell. – MikeAWood Jan 15 '14 at 0:42
  • @MikeAWood, mine just says Windows 8.1 with a link to "Get more features with a new edition of windows". Hyper-V does not appear in that option. I need to check my bios to see vt-x is enabled on my laptop, but I can't restart at the moment. – Damainman Jan 15 '14 at 1:03
  • Coreinfo (technet.microsoft.com/en-us/sysinternals/cc835722.aspx) from Sysinternals (run as coreinfo -v) can show you your virtualization support but needs to be run elevated on Intel platforms. An asterisk (*) means the feature is present. – charleswj81 Jan 15 '14 at 1:37

To determine your Windows version, pressWin+x and select "System". Your version will be near the top, under "Windows edition". Only 64-bit versions of Windows 8/8.1 Professional and Enterprise support Hyper-V. You also won't be able to enable Hyper-V if your processor's visualization support is not enabled (AMD-V for AMD and VT-x for Intel)

As an alternative, you could install VirtualBox and use VBoxManage.exe to convert from VHDX to VHD like so:

vboxmanage clonehd filename.vhdx filename.vhd -format vhd

Caveat: I just tested this and it successfully converted however I did not test it beyond that.

  • My windows only says 8.1, not the actual edition if it was pro or not. I tried running the vboxmanage but got the following error: C:\Program Files\Oracle\VirtualBox>vboxmanage clonehd C:\Users\admin\Desktop\ringe\ringer.vhdx C:\Users\admin\Desktop\ringe\ringer .vhd -format vhd VBoxManage.exe: error: Failed to create the VirtualBox object! VBoxManage.exe: error: Code CO_E_SERVER_EXEC_FAILURE (0x80080005) - Server execution failed (extended info not available) VBoxManage.exe: error: Most likely, the VirtualBox COM server is not running orfailed to start. – Damainman Jan 15 '14 at 0:57
  • I assume that's a typo above in your command where you have the space in "ringer .vhd"? – charleswj81 Jan 15 '14 at 1:42
  • I have no idea what would cause that error. Three things come to mind: try reinstalling VirtualBox, verify CPU virtualization support, and/or run the vboxmanage command elevated. – charleswj81 Jan 15 '14 at 1:50

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.