我在Windows 8.1上安装了VirtualBox。 我已经创build了一个CentOS 7虚拟机,用于加载通过SATA线连接到PC的分离式硬盘的内容。 VirtualBox中的虚拟机将其SATA控制器设置为usb.vmdk
。 实际的usb.vmdk
文件非常小,但它加载了一个大的磁盘分区。
如何克隆该磁盘分区的内容,以便我可以在VirtualBox中创build具有与分离的硬盘驱动器中相同的所有数据的虚拟机?
请注意,CentOS 7使用XFS文件系统。
这是创buildusb.vmdk
的代码:
cd %programfiles%\oracle\virtualbox VBoxManage internalcommands createrawvmdk -filename "%USERPROFILE%"\desktop\usb.vmdk -rawdisk \\.\PhysicalDrive#
编辑:
根据@GeraintJones的build议,我在Windows中打开了磁盘pipe理,得到以下结果:
如果未select驱动器,则单击“ Action > CreateVHD
会显示以下对话框:
请注意,硬盘的CentOS 7组件位于磁盘1左侧显示的4个分区中。 (分离的磁盘1是从死机双引导机器中提取的,并且该旧机器的窗口部分位于H:和I:驱动器显示在左边。)
另外请注意新计算机中的CentOS 7虚拟机无法看到外部驱动器。 我已经做了一些工作来寻找它,我认为不试图让VirtualBox虚拟机来做这件事会快很多。
那么如何在上面的打印屏幕右侧显示的磁盘1的CentOS部分创build一个VHD?
有几种方法。
在Windows的磁盘pipe理器中,您应该能够select磁盘并select“创buildVHD”,然后您可以将其导入到VirtualBox。
或者我的首选是分配一个比CentOS虚拟机上的物理驱动器稍大的新VMDK,然后使用dd
将驱动器克隆到新的VMDK设备上。
然后,您可以从VM中删除VMDK,并将其附加到您要使用它的VM。
要在现有的CentOS虚拟机上运行sudo fdisk -l
并logging输出,应该有一些项目 – 其中之一将是USB HDD
然后在VirtualBox中select连接有USB / SATA磁盘的虚拟机,点击“设置”,然后在存储选项卡上点击带有软盘和加号的图标,然后select“添加硬盘”:
在下面的对话框中select“创build新磁盘”,然后按照向导(确保您创build的磁盘大于克隆的磁盘
一旦在CentOS VM的控制台中完成,再次运行sudo fdisk -l
,应该列出一个新的设备,它是现在和原来的USB HDD。 您可能必须重新启动虚拟机才能列出。
克隆磁盘do dd if=<usb> of=<newdevice> bs=1M
例如dd if=/dev/sda of=/dev/sdb bs=1M
一旦完成closures虚拟机,然后返回到VirtualBox设置中的存储选项卡,并注意位置(突出显示您添加的磁盘,并在右窗格中),然后单击带有红色减号的软盘。 在资源pipe理器中,然后将VMDK移动到您想要的位置。 在新的虚拟机上重复上述过程,但是当您添加新磁盘时,请select“select现有磁盘”