我尝试使用qemu-img命令将在 OVA 文件中找到的 VMDK 映像转换为 QCOW2 格式,但失败并显示错误消息qemu-img: error while reading sector 131072: Invalid argument
user@ubuntu:/tmp$ wget ftp://ftp.sanger.ac.uk/pub/databases/Pfam/vm/PfamWeb_20120124.ova
user@ubuntu:/tmp$ tar xfv PfamWeb_20120124.ova
PfamWeb_20120124_2.ovf
PfamWeb_20120124_2.mf
PfamWeb_20120124_2-disk1.vmdk
user@ubuntu:/tmp$ qemu-img convert -O qcow2 PfamWeb_20120124_2-disk1.vmdk PfamWeb_20120124_2.qcow2
qemu-img: error while reading sector 131072: Invalid argument
user@ubuntu:/tmp$ qemu-img --version | grep "qemu-img version"
qemu-img version 1.0, Copyright (c) 2004-2008 Fabrice Bellard
user@ubuntu:/tmp$ dpkg-query -f='${Version}\n' --show qemu-utils
1.0+noroms-0ubuntu14.1
user@ubuntu:/tmp$ cat /etc/issue
Ubuntu 12.04.1 LTS \n \l
我该如何避免错误?
与此相关的错误已在qemu版本 1.2.0 中修复。Ubuntu 12.04 有一个旧的 qemu 版本,但是如果你从源代码安装 qemu-img
转换运行没有错误
即使在从源代码(从分布式包或从 git)编译 qemu 之后,我仍然遇到这个问题(尽管错误略有不同;它抱怨
'image' uses a vmdk feature which is not supported by this qemu version: VMDK version 3
)。这不是 1871 年烛光创作的 OVA;它实际上是 GitHub Enterprise。所以为什么我能找到的任何版本的 QEMU 都不支持它仍然令人困惑,如果有人知道的话,我欢迎提供一些额外的见解。无论如何,我找到的解决方案是从http://www.citrix.com/downloads/xenserver/tools/conversion.html获取 Citrix XenConvert 。令人困惑的是,较新的版本已经放弃了对简单格式转换的支持,但是 2.3.1 允许我将 VMDK(通过简单的“tar -xf”从 OVA 中提取)更改为 VHD,于是 qemu-img 可以从那里获取它。可能 VMWare Converter 也可以处理这个任务;它位于http://www.vmware.com/go/getconverter。