一、前言:

  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/      "      /"

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

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

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

  2. 使用Ghost版本Windows7系统下载安装virtualBox和centos7异常解决

    使用Ghost版本Windows7系统下载安装virtualBox和centos7异常解决: 下载安装运行virtualBox时出现获取VirtualBox对象严重错误(如图): 解决方案步骤: 在开 ...

  3. [异常解决] ubuntu上安装虚拟机遇到的问题(vmware坑了,virtual-box简单安装,在virtual-box中安装精简版win7)

    利用周末时间将整个电脑格式化,换成了ubuntu系统- 所谓:扫清屋子再请客! 但是有些软件只在win上有,于是还是考虑装个虚拟机来个——逐步过度策略,一点点地从win上转移到linux上 我的系统是 ...

  4. [异常解决] 初玩SAE遇到的小问题——注册&创建项目+MyEclipse装插件直接部署+一个简单的JSP部署实现

    ① 新浪SAE快速上手教程:http://jingyan.baidu.com/season/43090 上面一个链接是针对PHP的相关介绍,如果用java还有点不一样,具体请看新浪SAE官网:http ...

  5. AsyncHttpClient 中的重定向和 setEnableRedirects 方法异常解决

    今天使用 AsyncHttpClient  开源库,遇到个很崩溃的问题: 方法  setEnableRedirects(false); 从名称上看应该是重定向开关的方法,设置为 false 后则普通请 ...

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

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

  7. Java与SQL Server, MySql, Oracle, Access的连接方法以及一些异常解决

    Java与SQL Server, MySql, Oracle, Access的连接方法以及一些异常解决 I. 概述 1.1 JDBC概念 JDBC(Java Database Connectivity ...

  8. Android 异常解决方法【汇总】

    (1)异常:Android中引入第三方Jar包的方法(Java.lang.NoClassDefFoundError解决办法) 1.在工程下新建lib文件夹,将需要的第三方包拷贝进来.2.将引用的第三方 ...

  9. [异常解决] How to build a gcc toolchain for nRF51 on linux (very detailed!!!)

    1.Install gcc-arm-none-eabi https://devzone.nordicsemi.com/tutorials/7/This link shows that developm ...

随机推荐

  1. Maven web项目三种运行方式

    http://www.micmiu.com/software/build/maven-web-eclipse-deploy/

  2. js模块和级联

    1.模块 模块模式的一般形式是:一个定义了私有变量和函数的函数,利用闭包创建可以访问私有变量和函数的特权函数,最后返回这个特权函数,或者把它们保存到一个可访问的地方.使用模块模式就可以摒弃全局变量的使 ...

  3. Ado.net中简单的DBHelper类(增删改查)

    private static string connString = "server=.;database=hotel;uid=aa;pwd=123";//最好从配置文件中取出 p ...

  4. 多次drawRect,显示重叠,需要设置背景颜色

    自己写的一个控件,中途在setNeedsDisplay,重写drawRect方法,有时会把以前drawRect绘制上去,不知道为什么,后来设置了控件的背景颜色backgroundcolor,这个问题就 ...

  5. c#制作计算器全过程

    前言: 网上看的计算器制作只有代码,没有为全过程下面贴图,所以我在下面主要是贴图,让大家零基础制作计算器. 我的环境是visual studio 2010,其他版本例如2008,2012 都可以 1. ...

  6. 关于hover

    要想实现a:hover b{} 得到样式的话,a必须是b的父元素

  7. mybatis多数据源配置

    项目目录如下: 按照顺序配置吧 首先是配置config jdbc.driver=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://localhost:3306/a ...

  8. 原生js-焦点图轮播

    首先是html实现页面结构及主程序 <!doctype html> <html> <head> <meta charset="utf-8" ...

  9. golang坑1

    :=比较方便,不过今天掉进了一个小坑 var ( foo *XXX ) func bar() { fmt.Println(foo.abc) } func main() { foo, err := XX ...

  10. oracle 读书笔记

    1 动态sql即拼接字符串的sql,使用变量代替具体值,10万条语句可以被hash陈一个SQL_ID,可以只解析一次 for i in 1..100000 loop execute immediate ...