Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I have an image file (linux based image) and want to convert it to VHD so that it can be used to create hyper-V VMs.

I used "qemu-img convert" to convert raw to vpc format, but vpc doesnt work for hyper-V and vhd is not supported by "qemu-img convert".

What would be the right way to do this?

The image only has one partition:

Partition Table: msdos

Number  Start   End     Size    Type     File system  Flags
 1      32.8kB  4295MB  4295MB  primary  ext3         boot
share|improve this question

2 Answers 2

up vote 5 down vote accepted

VhdTool should be able to do the conversion.

vhdtool.exe /convert myimage.raw
share|improve this answer
    
Thanks that worked. However the command doesnt create a new vhd, but appends a footer at the end of the existing image file. I just have to rename the file to .vhd so that it is recognized by the hyper-v vm creation wizard. –  user1060517 Jul 24 '12 at 20:52
    
Also, vhdtool.exe has a prerequisite of windows server OS/NTFS. I was wondering if there is any similar tool (raw to vhd) that can be used on a linux machine? –  user1060517 Jul 24 '12 at 20:54
    
I'm not aware of one. But since the destination hypervisor is Hyper-V, this shouldn't be much of a problem. :) –  Michael Hampton Jul 24 '12 at 20:57
    
yes certainly. Thanks again. –  user1060517 Jul 24 '12 at 21:04
    
Link is dead... –  apple16 Jun 11 at 1:12

I'm not sure for how long this has been the case, but since this is the #1 search result for this question, I'll answer it currently. VHD is currently supported by qemu-img. The argument for VHD is vpc. This was found here http://docs.openstack.org/image-guide/content/ch_converting.html

In case link breaks, here's a copy/past

Converting images from one format to another is generally straightforward. qemu-img convert: raw, qcow2, VDI, VMDK

The qemu-img convert command can do conversion between multiple formats, including raw, qcow2, VDI (VirtualBox), VMDK (VMWare) and VHD (Hyper-V). Table 7.1. qemu-img format strings

**Image format**    **Argument to qemu-img**
raw                     raw
qcow2                   qcow2
VDI (VirtualBox)        vdi
VMDK (VMWare)           vmdk
VHD (Hyper-V)           vpc

This example will convert a raw image file named centos63.dsk to a qcow2 image file.

$ qemu-img convert -f raw -O qcow2 centos64.dsk centos64.qcow2

To convert from vmdk to raw, you would do:

$ qemu-img convert -f vmdk -O raw centos64.vmdk centos64.img

Note

The -f format flag is optional. If omitted, qemu-img will try to infer the image format.

VBoxManage: VDI (VirtualBox) to raw

If you've created a VDI image using VirtualBox, you can convert it to raw format using the VBoxManage command-line tool that ships with VirtualBox. On Mac OS X, VirtualBox stores images by default in the ~/VirtualBox VMs/ directory. The following example creates a raw image in the current directory from a VirtualBox VDI image.

$ VBoxManage clonehd ~/VirtualBox\ VMs/fedora18.vdi fedora18.img --format raw

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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