将 .OVA 格式的 VM 转换为 Hyper-V

将 .OVA 格式的 VM 转换为 Hyper-V

我正在努力将 .OVA VM 导入我的 Hyper-V 基础架构。我设法提取了 .ova 文件,使用tar该文件生成了三个字段 -.ovf .mf.vmdk。 -.mf包含的 SHA1 总和与文件匹配。根据和文件内容中包含的数据,.vmdk.vmdk 似乎采用版本 9 的格式:stream-optimizedovf.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-vdiskmanager5.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

事实证明,这是使用VBoxManageVirtualBox 包时的一个错误。该调用改变了 VMDK,显然使其无效。我没想到 VBoxManage 会到源文件,因此花了一段时间我才注意到我正在尝试使用损坏的虚拟磁盘。

相关内容