是否可以将 VMWare vmdk 映像文件转换为物理硬盘驱动器?

是否可以将 VMWare vmdk 映像文件转换为物理硬盘驱动器?

是否可以将 VMWare vmdk 映像文件转换为物理硬盘驱动器?我知道 VMWare 6.5 可以直接使用物理硬盘驱动器来获得良好的性能,我可以将现有的 vmdk 文件转换为物理硬盘驱动器以获得更好的性能吗?

答案1

如果您有 qemu-img,您应该能够从仅处理图像文件的命令行完成所有这些操作。

qemu-img convert source.vmdk -O raw <path>
dd if=<path> of=/dev/<disk> bs=1G count=<target-gb-size>

这会将 vmdk 的原始格式写入物理驱动器。最好使用写时复制 FS。确保在前 N Gb 内分配的所有源数据适合 N-Gb 大小的目标磁盘。

答案2

有点晚了,但作为参考,我已经成功:

  1. 将 clonezilla 附加到虚拟机
  2. 使用 clonezilla 磁盘启动虚拟机
  3. 将磁盘映像保存到外部 USB 驱动器(也连接到虚拟机)
  4. 使用 clonezilla 将映像还原到物理磁盘

答案3

你没有提到你使用的是什么操作系统,亚历克斯的答案在 Windows 上不起作用,有人在评论中询问如何在 Windows 上执行此操作,因此方法如下:

您应该使用 Cygwin 才能够使用dd并完成该任务。

从这里下载并安装 Cygwin:http://www.cygwin.com/

以管理员身份打开 Cygwin 终端并输入:

cat /proc/partitions

您可以看到所有硬盘及其分区。数字表示分区。

dd if=/cygdrive/driveletter/path/to/vmdk bs=256k status=progress of=/dev/sdX
  • sdX 中的 X 是您要写入的驱动器。但请记住,它与 Windows 的驱动器号不同。不要混淆!

  • status=progress 将向您显示 dd 的进度线。

  • bs=256k 是块大小(缓存),对于今天的硬盘,您可以使用 bs=4M,但由于我已连接到 USB 拇指驱动器,因此我使用的是 256k。

注意:请注意,如果源计算机是 Windows 10,则dd可能不兼容将 VMDK 转换为 RAW(磁盘),报告了一些类似的情况这里


如果您想确保在 Windows 上无法使用 qemu-img,请在此处查看更多详细信息和命令: https://cloudbase.it/qemu-img-windows/

答案4

尝试UDP广播

这个想法是将整个 vmdk 从虚拟机传输到物理机,然后将其写入物理硬盘。

程序概述如下。

由于您有一个 vmdk 文件,因此您可能有一个 VMWare Workstation 可供使用,甚至有完整的虚拟机与此 vmdk 连接。运行虚拟机,连接此特定的 vmdk,但不要使用普通启动,而是使用 PartedMagic liveCD 进行启动。

当 liveCD 启动后,导航到主菜单并找到UDPCast Disk Cloning。它的对话框是不言自明的(见屏幕截图) UDPCast 磁盘克隆开始屏幕

选择此虚拟机作为后sender,您应该选择要广播的驱动器(使用 Unix 表示法,如 /dev/sda)。

启动后sender,您还需要启动receiver。由于您有一个物理硬盘,我假设您还有一台完整的 PC,该 PC 上连接着这个硬盘。这里也是一样:您需要启动 liveCD,UDPCast Disk Cloning选择receiver此时间以及适当的物理硬盘。

值得注意的是,您应该做好所有必要的安排,以确保虚拟机和物理硬件之间建立网络连接。如果您的 vmdk 包含私有数据,则应采取必要的预防措施,因为其内容将有效地通过网络传输。另一件事是,您的目标硬盘的存储容量不应小于您的 vmdk 的容量。很明显,但也值得注意的是,您的映像在目标硬盘上是一对一布局的,您需要使用 gparted 或类似程序执行适当的操作,以利用新硬盘的更大容量。

相关内容