一、前言:

  ubuntu上的virtualbox中的虚拟机如果关机不当会导致整个虚拟机坏掉,而且采用各种debug方式都难以让它重新启动。这时你只能用之前备份的各个VDI文件来恢复系统了。还有另一种场景就是你重新装了一个virtualbox,想把老的另一个virtualbox中的虚拟机包括各个快照节点在新的virtualbox中重建。网上也有资料介绍,不过往往只有文字,我看了很久都没搞定。最终决定自己尝试,下面是成功的图文教程:

二、步骤:

  2.0、首先看老的虚拟机的快照,拍个照保存下他们UUID的树状结构(这个非常重要!为了接下来重建快照树!):

  2.1、首先找到老的virtualbox文件夹:

  2.2、发现之前坏的win7-64文件夹,并找到win7-64.vdi和Snapshots中的*.vdi文件

  

  

  2.3、将win7-64.vdi和Snapshots剪切到其他临时文件夹下,然后完全删除virtualbox中的win7-64虚拟机,删除之后去VirtualBox VMs文件夹下去确认win7-64文件夹已经没有。

  2.4、在virtualbox中新建一个同名的win7-64虚拟机,到达下图步骤时:①去VirtualBox VMs文件夹下发现virtualbox已经新建了一个空的win7-64文件夹;②把之前剪切到临时文件夹下的win7-64.vdi和Snapshots剪切到win7-64中;③然后在新建虚拟电脑时,选择使用已有的虚拟硬盘文件,进入VirtualBox VMs/win7-64下选择win7-64.vdi文件;④接下来就一直点直到建立新的虚拟电脑。

  2.5、我们仿照2.0老的快照树的结构,在新的win7-64中新建成结构一样的树状结构(名字可以不同):

  2.6、找到新建win7-64文件夹下的win7-64.vbox文件:

  2.7、找到win7-64.vbox中的下面4个uuid部分,根据2.0截图的uuid,把对应的uuid替换成老的(用replace all),另存为到其他临时文件夹下~

  

   2.8、关机,删除VirtualBox VMs/win7-64/Snapshots下的无用的vdi文件(文件名就是uuid),用2.7中保存的临时vbox文件替换win7-64.vbox(因为virtual关机这个会更新,所以上一步需要备份)。这样再打开虚拟机,就完成了~

   

三、甜点:

我的所有异常解决都放在该分类下,保存一些要花一点时间才能搞定的异常问题解决方案。

 

     _==/          i     i          \==_
     /XX/            |\___/|            \XX\
   /XXXX\            |XXXXX|            /XXXX\
  |XXXXXX\_         _XXXXXXX_         _/XXXXXX|    @beautifulzzzz 2016-01-14 continue~  
 XXXXXXXXXXXxxxxxxxXXXXXXXXXXXxxxxxxxXXXXXXXXXXX    e-mail:beautifulzzzz@qq.com
|XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX|
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
|XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX|
 XXXXXX/^^^^"\XXXXXXXXXXXXXXXXXXXXX/^^^^^\XXXXXX
  |XXX|       \XXX/^^\XXXXX/^^\XXX/       |XXX|
    \XX\       \X/    \XXX/    \X/       /XX/
       "\       "      \X/      "      /"

http://www.cnblogs.com/zjutlitao/p/5132610.html

virtualbox从.VDI备份文件新建/恢复虚拟机(包括恢复各个备份节点)的更多相关文章

  1. [异常解决] virtualbox从.VDI备份文件新建/恢复虚拟机(包括恢复各个备份节点)

    一.前言: ubuntu上的virtualbox中的虚拟机如果关机不当会导致整个虚拟机坏掉,而且采用各种debug方式都难以让它重新启动.这时你只能用之前备份的各个VDI文件来恢复系统了.还有另一种场 ...

  2. VMware 虚拟化编程(15) — VMware 虚拟机的恢复方案设计

    目录 目录 前文列表 将已存在的虚拟机恢复到指定时间点 恢复为新建虚拟机 灾难恢复 恢复细节 恢复增量备份数据 以 RDM 的方式创建虚拟磁盘 创建虚拟机 Sample of VirtualMachi ...

  3. Mac OS X系统下利用VirtualBox安装和配置Windows XP虚拟机

    准备工作 下载并安装VirtualBox for Mac到https://www.virtualbox.org/wiki/Downloads下载VirtualBox <版本> for OS ...

  4. 利用Azure Backup备份和恢复虚拟机(2)

    虚拟机注册之后,下一步就是将他们添加为受保护的项,在菜单底部,单击"保护"按照提示选择需要保护的虚拟机     单击"下一步",在这个页面中需要选择配置虚拟机配 ...

  5. Virtual Box 新建一个虚拟机安装系统(补充:WIN7 64 bit 系统虚拟机无法安装 64 bit 系统问题)

    1.安装Virtual Box好后,点击新建 2.配置内存大小,这个根据自己需要配置就好 3.创建虚拟硬盘 这里选择固定分配.动态分配都可以,接下来就分配硬盘大小了 4.新建好后我们点击刚才建立的虚拟 ...

  6. 生产环境搭建高可用Harbor(包括恢复演练实操)

    生产环境搭建高可用Harbor(包括恢复演练实操) 前言 因资源成本问题,本Harbor高可用架构为最小开销方案,如果资源充足,可以将PG.Redis全部使用使用云厂商集群模式. 同时为了配置简单,并 ...

  7. Win10系统桌面右键新建没有内容怎么恢复

    Win10系统桌面右键新建没有内容怎么恢复 添加txt文本文档 运行->regedit,打开注册表编辑器 展开HKEY_CLASSES_ROOT 找到.txt 选中.txt,修改右侧窗格的“默认 ...

  8. VirtualBox的vdi映像导入遇到的uuid冲突问题 (转)

      virtualbox导入vdi文件时出现下面的问题: 打开hard disk D:\software\GT5.0.0.vdi 失败 Cannot register the hard disk 'D ...

  9. nova 宿主机重启自动恢复虚拟机运行状态

    1. 宿主机重启自动恢复虚拟机运行状态 1.1 参数描述与默认值 # Whether to start guests that were running before the host reboote ...

随机推荐

  1. Qt学习 之 文件

    文件操作是应用程序必不可少的部分.Qt 作为一个通用开发库,提供了跨平台的文件操作能力.从本章开始,我们来了解下 Qt 的文件以及输入输出的功能,也就是 I/O 系统. Qt 通过QIODevice提 ...

  2. [WPF疑难]如何禁用窗口上的关闭按钮

    原文 [WPF疑难]如何禁用窗口上的关闭按钮 [WPF疑难]如何禁用窗口上的关闭按钮                                           周银辉 哈哈,主要是调用Rem ...

  3. 告别IE给我们的web开发带来的困扰(使用chrome frame v8引擎)

    茶爸爸个人微信:benyzhous,公众号:cha-baba欢迎骚扰 由于客户所有机器必须使用IE6浏览器,导致我们在开发项目过程中遇到非常多的样式与性能问题,在偶然的一次使用360软件管家搜索chr ...

  4. 【Android】: 部分注意事项

    1.用来触发BroadcastReceive的Intent和启动Activity或Service的Intent是不兼容的. 2.当文件名做为ContentProvider查询的一部分返回的时候,不应该 ...

  5. 基于visual Studio2013解决C语言竞赛题之0403字符统计

      题目 解决代码及点评 这道题的目标是锻炼while循环,while循环的语法是 while(循环条件) { 循环体; } 每次进入循环体之前,先判断循环条件是否满足,如果不满足,执行序列就 ...

  6. java.lang.Math类,方法学习笔记

    /**java.lang 包中的Math 类提供有常量 * 并包含有用于执行基本数学运算的 * 方法,如初等指数.对数.平方根 * 用于进行更高级的数学运算.由于 * 在Math 类的方法都是静态的, ...

  7. java学习之线程的操作方法

    package com.gh.thread; /** * 线程实现的两种方法 * 1.继承thread类 * 2.实现Runnable接口 * @author ganhang * */ public ...

  8. hdu 1242 Rescue(bfs)

    此刻再看优先队列,不像刚接触时的那般迷茫!这也许就是集训的成果吧! 加油!!!优先队列必须要搞定的! 这道题意很简单!自己定义优先级别! +++++++++++++++++++++++++++++++ ...

  9. iOS/Xcode异常:reason = “The model used to open the store is incompatible with the one used to create the store”

    reason=The model used to open the store is incompatible with the one used to create the store 出现上述异常 ...

  10. 制作Orcad的变种BOM(Variant BOM)

    通常在Orcad中画的原理图并不仅仅是用于一款产品.比如一个控制器原理图,可能相应着很多款子产品线,而这些子产品线之间的差别就是通讯口组件不同,少焊几个芯片,或者仅仅是少焊几个电阻. 可是这样交付生产 ...