一、前言:

  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. Google高级搜索语法

    Google高级搜索语法   Google搜索果真是一个强悍的不得了的搜索引擎,今天转了一些 google的高级搜索语法 希望能帮助到大家. 一.allinanchor: anchor是一处说明性的文 ...

  2. 程序猿,千万别说你不了解Docker!

    放在两年前,你不认识Docker情有可原.但如果现在你还这么说,不好意思,我只能说你OUT了.你最好马上get起来,因为有可能你们公司很快就会引入Docker. 今天就和大家讨论讨论这个备受好评的应用 ...

  3. Bomb

    Description The counter-terrorists found a time bomb in the dust. But this time the terrorists impro ...

  4. app启动速度

    跟踪代码发现,应用启动时的白屏会持续到draw调用完成,这个过程中任何耗时操作将导致白屏时间增长. 1.adb shell am start -W -n yourpakagename/MainActi ...

  5. IOS 6和 IOS7适配的一些问题

    由于在做一个ios的通用设计平台,那么客户端解析的时候就涉及到一些ios不同版本,不同分辨率的适配问题 首先碰到的就是navigation bar中的item的背景色的问题 在ios7中设置setti ...

  6. 简单的dp

    有趣的数:(动态规划,状态转移) #include<stdio.h> ][]; int main() { int n,i; ; i<; i++) dp[i][]=; while(~s ...

  7. js中replace的回调函数使用。

    这只是一个小问题,但是之前并没有发现.这个问题就是replace的第二个函数是支持回调函数的. var ext = new RegExp('f','g'); 1.str.replace(ext ,1) ...

  8. matlab资源

    百度网盘  链接:http://pan.baidu.com/s/1c06ikEW 密码:9dpt包含matlab6.5,7,7.01,7.04,7.1,Matlab2006b(7.3),Matlab  ...

  9. if else 的令人防不胜防的奇葩错误

    if(a==t && b+c >a)  else flag=false; 这个语句乍一看没什么问题,如果a==t 成立b+c >a不成立-〉flag=false; 但是编译 ...

  10. [XAF] How to use the Allow/Deny permissions policy in the existing project

    https://www.devexpress.com/Support/Center/Question/Details/T418166 Clear [C#] using DevExpress.Persi ...