当前位置:  开发笔记 > 编程语言 > 正文

如何将平面原始磁盘映像转换为虚拟机或vmplayer的vmdk?

如何解决《如何将平面原始磁盘映像转换为虚拟机或vmplayer的vmdk?》经验,为你挑选了4个好方法。

我有一些平面文件格式的旧Linux文件系统的旧图像.它们可以被Bochs使用,但我需要使用Virtual Box运行它们.Virtual Box无法使用此格式的图像,因此我需要将这些图像从平面文件转换为.vmdk文件格式.有没有办法做到这一点?



1> krosenvold..:

apt-get install qemu (在debian/ubuntu上安装QEMU)

然后运行以下命令: qemu-img convert -O vmdk imagefile.dd vmdkname.vmdk

我假设平盘图像是dd风格的图像.转换操作还处理许多其他格式.


安装qemu-utils(apt-get install qemu-utils)就足够了.这个解决方案很好用(尽管有点慢......)
它应该是磁盘映像还是分区映像?

2> Lloeki..:

由于问题提到VirtualBox,这个目前工作:

VBoxManage convertfromraw imagefile.dd vmdkname.vmdk --format VMDK

为了一些有趣的细节(特别是--variant标志),不带参数运行它:

VBoxManage convertfromraw


+1和VBoxManage也可用于转换其他方式(虚拟映像到原始)`VBoxManage clonehd --format raw vmdiskimage.vmdk imagefile.dd`
恕我直言,这是一个更干净的解决方案,因为它只需要Vbox的工具,而vbox应该已经存在.
但是,如果不复制整个文件,是否也可以这样做?因此,只是以某种方式创建一个额外的vmdk-metafile,它引用原始dd-image.

3> xhafan..:

在Windows上,使用https://github.com/Zapotek/raw2vmdk将dd或winhex创建的原始文件转换为vmdk.raw2vmdk v0.1.3.2有一个错误 - 一旦创建了vmdk文件,编辑vmdk文件并修复原始文件的路径(在我的情况下代替D:\ Temp\flash_16gb.raw(由winhex创建)生成的路径是D:Tempflash_16gb.raw).然后,在6.5-7的vmware虚拟机中打开它(5.1拒绝连接vmdk硬盘).howgh!



4> 小智..:

回答TJJ:但是在不复制整个文件的情况下是否也可以这样做?因此,以某种方式创建了一个额外的vmdk-metafile,该文件引用了原始的dd-image。

是的,有可能。这是在VirtualBox中使用磁盘映像的方法:

首先,您以通常的方式使用dd创建映像:

dd bs=512 count=60000 if=/dev/zero of=usbdrv.img

然后,您可以为VirtualBox创建一个引用此图像的文件:

VBoxManage internalcommands createrawvmdk -filename "usbdrv.vmdk" -rawdisk "usbdrv.img"

您可以按原样在VirtualBox中使用此映像,但是根据来宾操作系统,它可能不会立即显示。例如,我尝试在Windows guest虚拟机操作系统上使用此方法,并且必须执行以下操作以为其提供驱动器号:

转到控制面板。

转到管理工具。

转到计算机管理。

转到左侧面板中的“存储\磁盘管理”。

您会在这里看到磁盘。在其上创建一个分区并对其进行格式化。对于小卷使用FAT,对于大卷使用FAT32或NTFS。

您可能要在Linux上访问文件。首先确定要从来宾OS卸载它,然后再将其从虚拟机中删除。现在,我们需要创建一个引用分区的虚拟设备。

sfdisk -d usbdrv.img

响应:

label: dos
label-id: 0xd367a714
device: usbdrv.img
unit: sectors

usbdrv.img1 : start=          63, size=       48132, type=4

注意分区的开始位置:63.在下面的命令中,我使用loop4,因为它是我的情况下第一个可用的循环设备。

sudo losetup -o $((63*512)) loop4 usbdrv.img
mkdir usbdrv
sudo mount /dev/loop4 usbdrv
ls usbdrv -l

响应:

total 0
-rwxr-xr-x. 1 root root 0 Apr  5 17:13 'Test file.txt'

好极了!

推荐阅读
夏晶阳--艺术
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有