1. 首页
  2. 软件应用

VirtualBox虚拟机的迁移和快照恢复问题

前几天博主迁移了一台测试服务器上的virtualbox虚拟机。本来直接拷贝文件就可以解决的问题,结果折腾了我一天。一开始,我没注意这台服务器的虚拟机中有多个snapshot快照,最后复制完启动虚拟机后发现系统是很老之前的版本。我的操作步骤是这样的。。。

先把virtualbox的虚拟硬盘文件从一块硬盘复制到另外一块,启动virtualbox。再修改VirtualBox虚拟机VDI文件的UUID,修改uuid的网址http://www.szl724.com/?p=1525.html。如果不修改就会出现硬盘添加失败的提示:“Cannot register the hard disk ‘F:\VirtualBox VMs\xp4.vdi’ {e4fa9f4f-9450-4609-b0d1-e56b93b7579c} because a hard disk ‘F:\VirtualBox VMs\xp3.vdi’ with UUID {e4fa9f4f-9450-4609-b0d1-e56b93b7579c} already exists.”。最后修改设置中虚拟硬盘文件的路径,启动:“ VBoxManage startvm 192.168.0.242 –type headless ”。

如果虚拟机没有快照,这样操作后就好了。不过如果有多个snapshot快照,那么启动的系统是最老版本。 所以这时需要进行恢复快照操作。

先打开virtualbox虚拟机的配置文件,比如192.168.0.242.vbox。

virtualbox_vbox配置文件_1

从图中可以看到,配置文件中有两块主的虚拟硬盘文件,分别是a33caaef-6f67-4444-8b59-3540d214ef50和2b37d351-3d0f-4d27-b39d-286ff99e209d,对应的路径分别为/242/ubuntu64_db/ubuntu64_db.vdi和/data2/ubuntu64_db/ubuntu64_db.vdi。前者是老的虚拟硬盘文件的uuid号和路径。virtualbox在启动时没有找到老文件,所以选择2b37d351-3d0f-4d27-b39d-286ff99e209d这块新盘了。从这个配置文件中可以比较清楚的看到新盘下面是没有任何snapshot快照文件的。

那么接下来我在老的配置行把uuid号和路径修改成新硬盘文件对应的信息,删除新行:“<HardDisk uuid=”{2b37d351-3d0f-4d27-b39d-286ff99e209d}” location=”/data2/ubuntu64_db/ubuntu64_db.vdi” format=”VDI” type=”Normal”/>”。又把文件中有a33caaef-6f67-4444-8b59-3540d214ef50的部分都替换成2b37d351-3d0f-4d27-b39d-286ff99e209d。

然后回过来再看第一张图。从currentSnapshot可以知道当前最新快照对应的虚拟硬盘文件是dfec63bc-248e-42dd-892d-67d72ad462e2,找到文件中他的配置信息。如下图所示。

virtualbox_vbox配置文件_2

这里包含了这个快照使用的虚拟硬盘文件,记录虚拟硬盘文件storageController配置信息。

最后我们查看virtualbox配置文件的最后页,把上一步我们记录的虚拟硬盘文件的uuid号对应的输入到最后这里。博主这里有多个虚拟硬盘,所以有两个attacheddevice。

virtualbox_vbox配置文件_3

复制完成后保存退出,配置文件修改结束。

现在说下最后的问题,虚拟硬盘文件parent属性修改。之前我修改了主虚拟硬盘文件的uuid,但是第一图中91b05fe6-2d07-4dc8-97b9-5384496e215d这个文件的parent还是老的文件,可以使用这个命令修改parent属性。

root@ubuntu:# vboxmanage internalcommands sethdparentuuid <虚拟硬盘文件地址> <新uuid>

修改完成后,重新启动virtualbox,系统成功恢复到最新快照状态。

总结:下次朋友们迁移包含快照虚拟机的时候记得不要改uuid了,直接修改配置文件就会少很多麻烦,不然就会和博主一样折腾。

原创文章,作者:章郎虫,如若转载,请注明出处:http://www.szl724.com/softwareapplication/1616.html

联系我们

0574-55011290

QQ:248687950

邮件:admin@nbhao.org

工作时间:周一至周五,9:00-18:00,节假日休息

QR code