如何将 .img 文件转换为 vhd?

use*_*517 16 linux vhd virtualization qemu hyper-v

我有一个映像文件(基于 linux 的映像)并希望将其转换为 VHD,以便它可以用于创建 hyper-V 虚拟机。

我使用“qemu-img 转换”将原始格式转换为 vpc 格式,但 vpc 不适用于 hyper-V,并且“qemu-img 转换”不支持 vhd。

这样做的正确方法是什么?

镜像只有一个分区:

Partition Table: msdos

Number  Start   End     Size    Type     File system  Flags
 1      32.8kB  4295MB  4295MB  primary  ext3         boot
Run Code Online (Sandbox Code Playgroud)

tru*_*ype 8

我不确定这种情况持续了多久,但由于这是此问题的排名第一的搜索结果,因此我目前会回答。qemu-img 目前支持 VHD。VHD 的论据是 vpc。这是在这里找到的http://docs.openstack.org/image-guide/content/ch_converting.html

如果链接断开,这里有一个副本/过去

将图像从一种格式转换为另一种格式通常很简单。qemu-img 转换:raw、qcow2、VDI、VMDK

qemu-img convert 命令可以进行多种格式的转换,包括raw、qcow2、VDI(VirtualBox)、VMDK(VMWare)和VHD(Hyper-V)。表 7.1。qemu-img 格式字符串

**Image format**    **Argument to qemu-img**
raw                     raw
qcow2                   qcow2
VDI (VirtualBox)        vdi
VMDK (VMWare)           vmdk
VHD (Hyper-V)           vpc
Run Code Online (Sandbox Code Playgroud)

本示例将一个名为 centos63.dsk 的原始图像文件转换为 qcow2 图像文件。

$ qemu-img convert -f raw -O qcow2 centos64.dsk centos64.qcow2
Run Code Online (Sandbox Code Playgroud)

要将 vmdk 转换为 raw,您可以执行以下操作:

$ qemu-img convert -f vmdk -O raw centos64.vmdk centos64.img
Run Code Online (Sandbox Code Playgroud)

笔记

-f 格式标志是可选的。如果省略,qemu-img 将尝试推断图像格式。

VBoxManage: VDI (VirtualBox) 到 raw

如果您使用 VirtualBox 创建了 VDI 映像,则可以使用 VirtualBox 附带的 VBoxManage 命令行工具将其转换为原始格式。在 Mac OS X 上,VirtualBox 默认将图像存储在 ~/VirtualBox VMs/ 目录中。以下示例从 VirtualBox VDI 映像在当前目录中创建一个原始映像。

$ VBoxManage clonehd ~/VirtualBox\ VMs/fedora18.vdi fedora18.img --format raw


Mic*_*ton 7

VhdTool应该能够进行转换。

vhdtool.exe /convert myimage.raw
Run Code Online (Sandbox Code Playgroud)

  • @apple16 是的,它已经死了。微软出于某种原因删除了它。虽然通过仔细的网络搜索仍然可以找到副本,但我认为最好不要链接到任何此类 URL,因为它们也可能会随着时间的推移而改变,如果需要,也可以将这个 URL 输入到 Wayback Machine。 (3认同)