qemu.img:VMDK 映像转换失败,错误为“无效的 VMDK 映像描述符”

qemu.img:VMDK 映像转换失败,错误为“无效的 VMDK 映像描述符”

我尝试使用 qemu-img 命令将 VMDK 映像(Windows 安装)转换为 RAW 格式。但是,它失败并出现以下错误:

   $ qemu-img convert -f vmdk -O raw image.vmdk /tmp/image.img
   qemu-img: Could not open 'image.vmdk': invalid VMDK image descriptor
   qemu-img: Could not open 'image.vmdk'

据我所知,映像本身看起来不错,至少我可以使用 VMWare Player 从中正确启动。我使用的是 qemu-img 版本 2.0.0。

答案1

不要使用 .vmdk 映像本身,而是使用引用该映像的较小的 .vmdk 文件。

答案2

VMDK 文件可能使用了 QEMU 不支持的图像格式。有关此问题的详细信息,请参阅http://brezular.com/2014/07/22/how-to-run-juniper-firefly-perimeter-vsrx-on-gns3/其中,附带的 Juniper 映像所使用的 VMDK 文件格式是 streamOptimized vmdk,需要通过 VMDK 工具将其转换为 QEMU 支持的格式。

答案3

我倾向于使用VBoxManageVirtualBox 附带的工具将虚拟磁盘映像从一种格式转换为另一种格式。它功能多样,速度很快。

VBoxManage clonehd /path/to/image.vdmk /path/to/newimage.raw --format RAW

答案4

我也遇到过这个问题,根本原因是即使文件扩展名是 VMDK,源文件格式也可能是 raw。因此“-f raw”可以解决这个问题。可以发出以下命令“qemu-img info [source filename]”来检查源文件格式。

相关内容