[异常解决] virtualbox从.VDI备份文件新建/恢复虚拟机(包括恢复各个备份节点)
一、前言:
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备份文件新建/恢复虚拟机(包括恢复各个备份节点)的更多相关文章
- virtualbox从.VDI备份文件新建/恢复虚拟机(包括恢复各个备份节点)
一.前言: ubuntu上的virtualbox中的虚拟机如果关机不当会导致整个虚拟机坏掉,而且采用各种debug方式都难以让它重新启动.这时你只能用之前备份的各个VDI文件来恢复系统了.还有另一种场 ...
- 使用Ghost版本Windows7系统下载安装virtualBox和centos7异常解决
使用Ghost版本Windows7系统下载安装virtualBox和centos7异常解决: 下载安装运行virtualBox时出现获取VirtualBox对象严重错误(如图): 解决方案步骤: 在开 ...
- [异常解决] ubuntu上安装虚拟机遇到的问题(vmware坑了,virtual-box简单安装,在virtual-box中安装精简版win7)
利用周末时间将整个电脑格式化,换成了ubuntu系统- 所谓:扫清屋子再请客! 但是有些软件只在win上有,于是还是考虑装个虚拟机来个——逐步过度策略,一点点地从win上转移到linux上 我的系统是 ...
- [异常解决] 初玩SAE遇到的小问题——注册&创建项目+MyEclipse装插件直接部署+一个简单的JSP部署实现
① 新浪SAE快速上手教程:http://jingyan.baidu.com/season/43090 上面一个链接是针对PHP的相关介绍,如果用java还有点不一样,具体请看新浪SAE官网:http ...
- AsyncHttpClient 中的重定向和 setEnableRedirects 方法异常解决
今天使用 AsyncHttpClient 开源库,遇到个很崩溃的问题: 方法 setEnableRedirects(false); 从名称上看应该是重定向开关的方法,设置为 false 后则普通请 ...
- VirtualBox的vdi映像导入遇到的uuid冲突问题 (转)
virtualbox导入vdi文件时出现下面的问题: 打开hard disk D:\software\GT5.0.0.vdi 失败 Cannot register the hard disk 'D ...
- Java与SQL Server, MySql, Oracle, Access的连接方法以及一些异常解决
Java与SQL Server, MySql, Oracle, Access的连接方法以及一些异常解决 I. 概述 1.1 JDBC概念 JDBC(Java Database Connectivity ...
- Android 异常解决方法【汇总】
(1)异常:Android中引入第三方Jar包的方法(Java.lang.NoClassDefFoundError解决办法) 1.在工程下新建lib文件夹,将需要的第三方包拷贝进来.2.将引用的第三方 ...
- [异常解决] 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 ...
随机推荐
- Maven web项目三种运行方式
http://www.micmiu.com/software/build/maven-web-eclipse-deploy/
- js模块和级联
1.模块 模块模式的一般形式是:一个定义了私有变量和函数的函数,利用闭包创建可以访问私有变量和函数的特权函数,最后返回这个特权函数,或者把它们保存到一个可访问的地方.使用模块模式就可以摒弃全局变量的使 ...
- Ado.net中简单的DBHelper类(增删改查)
private static string connString = "server=.;database=hotel;uid=aa;pwd=123";//最好从配置文件中取出 p ...
- 多次drawRect,显示重叠,需要设置背景颜色
自己写的一个控件,中途在setNeedsDisplay,重写drawRect方法,有时会把以前drawRect绘制上去,不知道为什么,后来设置了控件的背景颜色backgroundcolor,这个问题就 ...
- c#制作计算器全过程
前言: 网上看的计算器制作只有代码,没有为全过程下面贴图,所以我在下面主要是贴图,让大家零基础制作计算器. 我的环境是visual studio 2010,其他版本例如2008,2012 都可以 1. ...
- 关于hover
要想实现a:hover b{} 得到样式的话,a必须是b的父元素
- mybatis多数据源配置
项目目录如下: 按照顺序配置吧 首先是配置config jdbc.driver=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://localhost:3306/a ...
- 原生js-焦点图轮播
首先是html实现页面结构及主程序 <!doctype html> <html> <head> <meta charset="utf-8" ...
- golang坑1
:=比较方便,不过今天掉进了一个小坑 var ( foo *XXX ) func bar() { fmt.Println(foo.abc) } func main() { foo, err := XX ...
- oracle 读书笔记
1 动态sql即拼接字符串的sql,使用变量代替具体值,10万条语句可以被hash陈一个SQL_ID,可以只解析一次 for i in 1..100000 loop execute immediate ...