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

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

我有一个图像文件(基于 Linux 的图像),想将其转换为 VHD,以便可以使用它来创建 Hyper-V VM。

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

正确的做法是什么?

该映像仅有一个分区:

Partition Table: msdos

Number  Start   End     Size    Type     File system  Flags
 1      32.8kB  4295MB  4295MB  primary  ext3         boot

答案1

虚拟硬盘工具应该能够进行转换。

vhdtool.exe /convert myimage.raw

答案2

我不确定这种情况持续了多久,但因为这是这个问题的 #1 搜索结果,所以我现在就回答它。VHD 目前由 qemu-img 支持。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

本示例将把名为 centos63.dsk 的原始映像文件转换为 qcow2 映像文件。

$ qemu-img convert -f raw -O qcow2 centos64.dsk centos64.qcow2

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

$ qemu-img convert -f vmdk -O raw centos64.vmdk centos64.img

笔记

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

VBoxManage:VDI(VirtualBox)到原始

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

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

答案3

正如上文所指出的苹果16有一个非常相似的问题这里这可以避免 VhdTool 似乎不再可用的问题。Virtualbox 附带一个名为“VBoxManage”的工具,它工作得很好。假设您有一个使用例如的磁盘的纯图像文件dd,您可以执行以下操作:

VBoxManage convertfromraw myfile.dd myfile.vhd --format VHD

答案4

如果仍有人对将原始磁盘映像转换为 vhd 感兴趣,请使用以下命令:

qemu>qemu-img.exe convert e:\src.img -O vpc -o subformat=dynamic f:\dst.vhd

不要忘记将显示的文件名更改为您自己的文件名。

相关内容