如何将VHD映像复制回物理磁盘?


12

将真实的驱动器备份到VHD是非常容易的,例如,使用 XP 上的Sysinternal的Disk2VHD或Windows 7上的Windows映像备份。但是如何将文件复制回来?

可以通过引导恢复CD或Windows安装DVD来实现。但是也可以从运行的操作系统中完成吗?可以编写脚本吗?

我们希望每天使用此驱动器将一个驱动器克隆到另一个驱动器。


1
您只想将VHD用作交换格式?从未在虚拟机中运行过?然后使用Clonezilla,Norton Ghost或Acronis True Image等影像软件。
mailq

4
微软选择VHD作为其任何活动的图像格式:他们将其用于备份,在Win 7中,您可以直接挂载它们。如何还原备份的问题肯定可以!
基督教徒

Answers:


9

您可以qemu-nbd在Linux中使用它来访问磁盘映像,就好像它是块设备一样。

这是可以从实时Knoppix终端执行的一些操作示例。

  su 
  modprobe nbd
  qemu-nbd --read-only --connect=/dev/nbd0 --format=vpc <vhd_file_name>

如果是VHDX格式:

  qemu-nbd --connect=/dev/nbd0 --format=VHDX <vhdx_file_name>
  ddrescue --verbose --force /dev/nbd0 /dev/sda  # write image to /dev/sda

写一个分区:

  qemu-nbd --partition=2 --read-only --connect=/dev/nbd2 --format=vpc <vhd_file_name> 
  ddrescue --verbose --force /dev/nbd2 /dev/sda2 # write partition 2 of image to /dev/sda2

挂载分区:

  qemu-nbd --partition=2 --read-only --connect=/dev/nbd2 --format=vpc <vhd_file_name>
  mount /dev/nbd2 /mnt 

卸载并断开映像文件:

  unmount /mnt 
  qemu-nbd --disconnect /dev/nbd2


2

使用HDDGuru原始复制工具

  1. 在Windows 8/10上使用资源管理器安装VHD(X)
  2. 插入目标磁盘
  3. 使用原始复制工具将已安装的磁盘复制到目标物理磁盘

可以用于Windows,iso,vhd,vhdx等Windows上的任何可安装格式。


1
是否可以在Raw Copy Tool中选择单个分区作为目标?我看到它只允许覆盖整个磁盘
-Suncatcher

2

可以使用Virtualbox将物理设备作为虚拟机内的虚拟设备连接

Windows方式

VBoxManage internalcommands createrawvmdk -filename "C:\Users\vhudson\VirtualBox VMs\usb.vmdk" -rawdisk \\.\PhysicalDrive1

Linux方法

VBoxManage internalcommands createrawvmdk -filename usb.vmdk -rawdisk /deb/sdb

使用额外的iso作为实时CD,例如hirens boot或一些Linux抢救映像,还可以将映像从一个虚拟设备复制到虚拟机内部虚拟存在的物理设备。


1

我已使用vmdk2phys成功完成此操作。

还有另一个工具叫做Disk Image Tools或DITOOLS,它声称可以做到这一点。

正如其他人所说,acronis真实形象可以做到这一点。Western Digital有一个版本的acronis true image,可在至少安装了一个WD硬盘的任何计算机上运行,​​称为Acronis True Image WD Edition,但是我不确定它是否支持虚拟机硬盘映像,例如VHD / VMDK。

另一种选择是在磁盘管理MMC中挂载vhd,然后使用诸如Roadkil RawCopy之类的工具。


从DITOOLS描述中可以看出,它仅支持磁盘到映像的转换,而反之则不支持
Suncatcher

1

有一个名为VHD2disk的程序可以执行此操作,但是正如前面的文章所述,它需要在Windows中运行。我已经成功使用了HIRENS PE10,它可以从闪存驱动器或DVD引导Windows 10环境。我也已经成功地使用这种方法克隆和成像了。

与DISk2VHD不同,VHD2disk实用程序不是由sysinternals生成的,但仍然可以正常运行。(顺便说一句,我上次检查时在Google上找不到它时遇到的麻烦-这就是我到这里为止的方式)


0

我不知道一种免费的方式,但是我知道Acronis的一种产品(“ True Image”?)可以做到这一点。



0

QEMU仿真器软件包中的qemu-img命令支持VHD。我不知道这是否可以在Windows上运行,但至少在Linux上可以(我想这没关系,因为您没有标记所需的平台?)。

要将image.vhd还原到/ dev / sda,请运行:

qemu-img convert -f vpc image.vhd /dev/sda

-1

如果您正在运行win Vista,7、8 ...,则可以使用bcdedit。将vhd文件粘贴到c上:为新计算机生成新的sid。给出vhd的路径。激活os Reboot,新系统将具有双重引导功能。您打算直接在VHD映像上工作


认为OP需要有关如何使用bcdedit以及如何“将vhd文件粘贴到c:”上的步骤。
user66001

-1

是的,总结最好的方法是使用qemu-img

  1. apt安装qemu-utils

  2. qemu-img转换-f vpc image.vhd / dev / sda

  3. 并将块设备安装到创建的文件中。 mount /dev/sda /path/to/new_file_created

现在您可以访问数据new_file_created

dev / sda是​​您可用的块设备,可能需要根据您的设置进行更改。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.