Converting .OVA-formatted VM to Hyper-V

11,853

It turns out that it was a mistake using VBoxManage from the VirtualBox package. The call has altered the VMDK and apparently has rendered it invalid. I would not have expected VBoxManage to write to the source file, thus it took a while before I noticed that I am trying to work with a broken virtual disk.

Share:
11,853
the-wabbit
Author by

the-wabbit

Updated on September 18, 2022

Comments

  • the-wabbit
    the-wabbit almost 2 years

    I am struggling with importing an .OVA VM into my Hyper-V infrastructure. I managed to extract the .ova file using tar which yields three fiels - .ovf .mf and .vmdk. The .mf-contained SHA1 sums matched the .vmdk file. The .vmdk seems to be in the stream-optimized format in version 9 according to the data contained in the ovf and the .vmdk file's contents:

    createType="streamOptimized"
    
    # Extent description
    RDONLY 104857600 SPARSE "generated-stream.vmdk"
    

    I tried VirtualBox' VBoxManage to perform the conversion, but without success:

    # VBoxManage clonehd --format VHD MyVM-disk1.vmdk MyVM.vhd
    /usr/lib/virtualbox/VBoxManage: /usr/lib/vmware-vix-disklib/lib64/libcurl.so.4: no version information available (required by /usr/lib/virtualbox/VBoxRT.so)
    0%...
    Progress state: VBOX_E_FILE_ERROR
    VBoxManage: error: Failed to clone hard disk. Error message: Could not open the medium storage unit '/home/dj/MyVM-disk1.vmdk'.
    VBoxManage: error: VMDK: incorrect ordering of entries in descriptor in '/home/dj/MyVM-disk1.vmdk' (VERR_VD_VMDK_INVALID_HEADER).
    VBoxManage: error: VD: error VERR_VD_VMDK_INVALID_HEADER opening image file '/home/dj/MyVM-disk1.vmdk' (VERR_VD_VMDK_INVALID_HEADER)
    

    My vSphere hosts would not accept the .vmdk for a valid disk too, so I tried converting it to growable using vmware-vdiskmanager from the 5.1.1 VDDK which is available from the VMWare site. Yet, this also did not work out as intended:

    # vmware-vdiskmanager -r ./myVM-disk1.vmdk -t 0 ./myVM-growable.vmdk
    Creating disk './myVM-growable.vmdk'
    Failed to convert disk: The file specified is not a virtual disk (0xf00003ebf).
    

    What's wrong here? How do I get it converted / imported properly?

    • jirib
      jirib over 10 years
      Did you try qemu-img?
    • the-wabbit
      the-wabbit over 10 years
      @JiriXichtkniha I did, but it seems my version (1.0) does not support the vhd output format.