在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,如需转载请自行联系原作者

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/393825.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

软件开发重要性_在软件开发中考虑时间的重要性

软件开发重要性by Crunch Tech通过Crunch Tech 在软件开发中考虑时间的重要性 (The importance of time to think in Software Development) Modern Technology teams operate in a fast-paced environment. With a Technology team of only 35 people, we average over 50 re…

自动登录360,百度

方便登录&#xff0c;写的小工具 1 import win.ui;2 import web.ui;3 /*DSG{{*/4 var winform ..win.form(text"AAuto Form";right599;bottom399)5 winform.add(6 button{cls"button";text"百度";left41;top25;right163;bottom59;z1};7 button2…

arm linux 开机电路_【技术角度看问题之一】ARM到底是个啥?

【小宅按】近期公司推出来基于ARM芯片的服务器&#xff0c;本文就一些基本概念&#xff0c;比如ARM&#xff0c; ARM64, ARMv8, ARM7&#xff0c;ARMv7, 64位等让人费解的概念进行了粗浅地分析&#xff0c;涉及的关键字已用粗体标出。文中观点仅仅是一家之言&#xff0c;拙劣之…

leetcode77. 组合(回溯)

给定两个整数 n 和 k&#xff0c;返回 1 … n 中所有可能的 k 个数的组合。 示例: 输入: n 4, k 2 输出: [ [2,4], [3,4], [2,3], [1,2], [1,3], [1,4], ] 代码 class Solution {List<List<Integer>> cListnew ArrayList<>();public List<List<I…

linux系统配置脚本,Linux系统配置脚本开机自启

在日常使用过程中&#xff0c;当有时候需要运行开机自启脚本&#xff0c;同时想看到输出结果的时候&#xff0c;不免就需要将系统配置为免密登录模式&#xff0c;本文主要介绍再init3模式(多用户命令行界面)&#xff0c;运行开机自启脚本及输出脚本指令运行数据结果。本文使用的…

WPF多线程UI更新

前言 在WPF中&#xff0c;在使用多线程在后台进行计算限制的异步操作的时候&#xff0c;如果在后台线程中对UI进行了修改&#xff0c;则会出现一个错误&#xff1a;&#xff08;调用线程无法访问此对象&#xff0c;因为另一个线程拥有该对象。&#xff09;这是很常见的一个错误…

iOS------App之间传递数据的几种方式

UIDocumentInteractionController UIActivityViewController Shared Keychain Access Custom URL Scheme Web Service iCloud API UIPasteboard 参考 http://enharmonichq.com/sharing-data-locally-between-ios-apps/http://stackoverflow.com/questions/9425706/share-data-b…

了解如何使用Vue.js CLI

Interested in learning Vue.js? Get my ebook at vuehandbook.com有兴趣学习Vue.js吗&#xff1f; 在vuehandbook.com上获取我的电子书 One of them is the Vue Command Line Interface (CLI).其中之一是Vue命令行界面(CLI)。 Note: There is a huge rework of the CLI goin…

rabbitmq学习——队列

public class Send { public static final String routingKey "wuqidi_task_durable"; /*工作队列 也叫任务队列 目的是将任务发送到队列中 由工作者进行处理 在后台的多个工作者中 任务是共享的*/ public static void main(String[] args) throws Exception{ Conne…

python 战舰_简单Python战舰

我最近开始学习python&#xff0c;并决定尝试制作我的第一个项目。我正在尝试做一个战舰游戏&#xff0c;随机放置两个3块长的船在一块板上。但效果不太好。我为2号飞船做了一个临时的循环&#xff0c;它应该检查一下旁边的两个空间是否空闲&#xff0c;然后在那里建立自己的空…

leetcode面试题 08.12. 八皇后(回溯)

设计一种算法&#xff0c;打印 N 皇后在 N N 棋盘上的各种摆法&#xff0c;其中每个皇后都不同行、不同列&#xff0c;也不在对角线上。这里的“对角线”指的是所有的对角线&#xff0c;不只是平分整个棋盘的那两条对角线。 注意&#xff1a;本题相对原题做了扩展 示例: 输…

linux 进入redis 数据库,Linux下Redis数据库的安装方法与自动启动脚本分享

安装Redis(1) 下载Rediswget http://redis.googlecode.com/files/redis-2.2.11.tar.gztar xzvf redis-2.2.11.tar.gz(2) 编译并安装Redismake && make install(3) 复制并修改配置文件cp redis.conf /etc/redis.confvi /etc/redis.conf注意修改以下几项&#xff1a;daem…

Flutter 36: 图解自定义 View 之 Canvas (三)

小菜继续学习 Canvas 的相关方法&#xff1a; drawVertices 绘制顶点 小菜上次没有整理 drawVertices 的绘制方法&#xff0c;这次补上&#xff1b;Vertice 即顶点&#xff0c;通过绘制多个顶点&#xff0c;在进行连线&#xff0c;多用于 3D 模型中&#xff1b; drawVertices 包…

sphinx 项目根目录_如何使用Sphinx工具记录Django项目

sphinx 项目根目录I recently visited a company where I had a nice talk with one of its employees. We talked about technology and programming. Then we touched the subject of project documentation. Specifically how React does it automatically but Django doesn…

程序员必知之浮点数运算原理详解

导读&#xff1a;浮点数运算是一个非常有技术含量的话题&#xff0c;不太容易掌握。许多程序员都不清楚使用操作符比较float/double类型的话到底出现什么问题。 许多人使用float/double进行货币计算时经常会犯错。这篇文章是这一系列中的精华&#xff0c;所有的软件开发人员都应…

axure选中后横线切换_3、开关状态切换 —— Axure实用交互

写在开头:开关的制作在几乎所有原型设计中都会用到&#xff0c;所以美观自然的交互开关可以给你的原型设计加分不少。本次开关设计主要用到的是逻辑为&#xff1a;选中状态的切换首先&#xff0c;来看一下演示动画开始原型设计一、创建元件首先需要打开Axure软件&#xff0c;并…

Django框架——模型(数据库操作)

-- models.py-- ORM(object-relation mapping) 实现数据模型与数据库的解耦&#xff1b;# 对象&#xff0c;关系&#xff0c;映射&#xff1b;1.根 据对象的类型生成表结构&#xff1b;2.将对象、列表的操作&#xff0c;转换为sql语句&#xff1b;3.将sql查询到的结果转换为对象…

leetcode140. 单词拆分 II(回溯+记忆化)

给定一个非空字符串 s 和一个包含非空单词列表的字典 wordDict&#xff0c;在字符串中增加空格来构建一个句子&#xff0c;使得句子中所有的单词都在词典中。返回所有这些可能的句子。 说明&#xff1a; 分隔时可以重复使用字典中的单词。 你可以假设字典中没有重复的单词。 …

#loj 3058 [HNOI2019] 白兔之舞

单位根反演思博题 模数是乱给的记得整个任意模数ntt k为p-1的约数意味着一定存在k次单位根&#xff0c;设g是p的原根则\(w_{k}^{1}g^{\frac{k-1}{p}}\) 既然k次单位根存在自然考虑单位根反演了 设\(f(i)\)表示跳了i步并且停在了第二维为y的顶点的方案数 设\(st\)表示初始向量而…

标杆徐2018 Linux自动化运维实战,标杆徐2018 Linux自动化运维系列⑦: SaltStack自动化配置管理实战...

结合企业自动化集群场景讲解&#xff0c;轻松玩转SaltStack自动化配置管理工具第1章 SaltStack基础应用SaltStack安装SaltStack认证Saltstack远程执行SaltStack配置管理第2章 SaltStack数据系统SaltStack数据系统-Grains 客户端向服务端发送状态SaltStack数据系统-paiil 服务…