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?
Best Answer
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.