开发者社区> 老朱教授> 正文

在VirtualBox里复制VDI文件[转]

简介:
+关注继续查看

原文地址:http://blog.sina.com.cn/s/blog_591a2c940100aree.html

在VirtualBox的快速修复界面里,可以随时生成当前状态的备份。当生成了备份之后,会在Snapshots目录下创建一个新的VDI文件,之后对当前状态所做的一切操作都将针对最新的VDI文件,而VDI目录下的初始VDI文件就不会再改变了。

我一般在装好Guest OS并做完打补丁、安装常用软件等操作后就创建一个备份,如果GuestOS发生了问题可以随时恢复到干净的系统。但是有时需要在不同的软件环境下做不同的事情,开始时我希望能用一个VDI文件生成两个不同的备份并分别配置成不同的环境,但是发现VirtualBox的备份是线性的,也就是说只能针对当前状态做一个备份,而恢复备份时也只能恢复到上一个备份的状态,不能同时存在两个不同的当前状态。

没有办法,只能把初始的VDI文件复制出来一份用于另外的环境。但是很快发现,复制出来的VDI文件无法在虚拟介质管理器中注册,因为每个VDI文件都有一个唯一的uuid,而VirtualBox不允许注册重复的uuid。

看了帮助文件后,发现VBoxManage有一个clonevdi方法可以克隆VDI文件,并赋予它一个新的uuid。具体用法是在命令行里执行:

VBoxManage clonevdi 原始VDI文件名 新的VDI文件名

直接写VDI文件名即可,不用指明VDI文件所在路径,新的文件会在全局设定中指定的VDI目录下创建。如果VDI文件名里带有空格,应该在两端加上双引号。VBoxManage命令位于VirtualBox安装目录下,缺省路径是C:\ProgramFiles\Sun\xVM VirtualBox。

用这个方法创建了新的VDI文件后,就可以正常注册并在另一个虚拟机中使用了。


2008-12-25更新:

本月17日VirtualBox发布了2.10版,在这个版本里,VBoxManageclonevdi命令改为了VBoxManage clonehd,它的用法如下:

VBoxManageclonehd         <uuid>|<filename><outputfile>
                           [-formatVDI|VMDK|VHD|RAW|<other>]
                           [-remember]

可以看到,使用-format参数,除了VDI格式的虚拟磁盘文件以外,它还支持VMDK(VMWare)、VHD(VirtualPC)等格式。为了向下兼容,它仍然支持使用VBoxManage clonevdi命令来复制VDI格式的文件。


2009-08-09更新:

在VirtualBox的最新版本中,已经可以将同一个vdi文件用于多个虚拟系统了。使用方法是:先按正常方式创建一个虚拟系统,创建或选择一个vdi文件,然后做一个备份;接下来创建第二个虚拟系统,再次选择这个vdi文件,同样也创建一个备份。这样,两个虚拟系统就可以各自在不同的环境下运行了,初始的vdi文件是不变的,各自的更改记录在备份文件中。


2009-12-05更新:

在刚刚发布的VirtualBox 3.1版中,增加了分支快照(branchedsnapshots)功能,可以恢复任意时刻的备份了,请参考《VirtualBox分支快照功能的使用》。




本文转自黄聪博客园博客,原文链接:http://www.cnblogs.com/huangcong/archive/2010/09/19/1830929.html,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
github—如何在README.md文件中添加图片
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_34173549/article/details/80551021 1、在github上的仓库建立一个存放图片的文件夹,文件夹名字随意。
3491 0
成功解决 _mssql.c(568): fatal error C1083: 无法打开包括文件: “sqlfront.h”: No such file or directory
成功解决 _mssql.c(568): fatal error C1083: 无法打开包括文件: “sqlfront.h”: No such file or directory
47 0
成功解决 _mssql.c(568): fatal error C1083: 无法打开包括文件: “sqlfront.h”: No such file or directory
成功解决 _mssql.c(568): fatal error C1083: 无法打开包括文件: “sqlfront.h”: No such file or directory
41 0
AMH面板伪静态Rewrite文件存放路径目录
AMH面板开启URL重写规则后,可以自定义伪静态规则,那么,AMH面板的Rewrite文件存放在哪?云吞铺子分享AMH面板伪静态Rewrite文件存放路径目录: AMH伪静态Rewrite文件存放路径 Rewrite存放文件夹:/usr/local/nginx/conf/rewrite AMH伪静态Rewrite文件是以.conf结尾的文件,AMH面板默认只有amh.conf这一个配置文件,我们可以vi自行配置伪静态规则文件(AMH主机面板伪静态规则大全),然后在Rewrite规则中启用。
793 0
[喵咪Redis]Redis配置文件和主从设置
上一节已经介绍了redis的基本使用也运行起来了redis,本节来进一步了解一下redis的配置,以及怎么配置主从关系,主从关系配置好了我们的redis就可以以一个集群的方式运行了.那么话不多说,就和笔者来进一步了解redis把!
1929 0
恢复被rm意外删除数据文件
一.模拟数据文件删除 [oracle@node1 ~]$ sqlplus / as sysdba   SQL*Plus: Release 11.
979 0
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
19741 0
+关注
3546
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
OceanBase 入门到实战教程
立即下载
阿里云图数据库GDB,加速开启“图智”未来.ppt
立即下载
实时数仓Hologres技术实战一本通2.0版(下)
立即下载