我正在努力将 .OVA VM 导入我的 Hyper-V 基础架构。我设法提取了 .ova 文件,使用tar
该文件生成了三个字段 -.ovf
.mf
和.vmdk
。 -.mf
包含的 SHA1 总和与文件匹配。根据和文件内容中包含的数据,.vmdk
.vmdk 似乎采用版本 9 的格式:stream-optimized
ovf
.vmdk
createType="streamOptimized"
# Extent description
RDONLY 104857600 SPARSE "generated-stream.vmdk"
我尝试使用 VirtualBoxVBoxManage
进行转换,但没有成功:
# 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)
我的 vSphere 主机也不接受.vmdk
有效磁盘,因此我尝试将其转换为growable
使用vmware-vdiskmanager
5.1.1 VDDK,该版本可从VMWare 网站。然而,这也没有按预期进行:
# 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).
这里出了什么问题?我该如何正确转换/导入它?
答案1
事实证明,这是使用VBoxManage
VirtualBox 包时的一个错误。该调用改变了 VMDK,显然使其无效。我没想到 VBoxManage 会写到源文件,因此花了一段时间我才注意到我正在尝试使用损坏的虚拟磁盘。