virtualbox的save state和snapshot


在讲述snapshot之前,先说明一个小技巧,可以让客户机快速启动的技巧。一般在使用了客户机之后,你可能需要关闭机器,技巧就在于如何关闭。

virtualbox-xpcn0-close-dialog

上图中选择第一个选项的话,下次启动就很快。大部分情况下没有操作系统的启动过程,除非你在系统启动过程中关闭……

对应的上述的操作命令为:

VBoxManage controlvm xpcn0 savestate

xpcn0是我的客户机的名字。

顺便说一句,如果要使用headless方式启动客户机的话,今天看了文档,好像有一种更简单的方法,不用nohup:

VBoxManage startvm --type headless xpcn0

接下来是snapshot功能,个人认为这个是一个“大撤销”。比如你想在客户机内做一些实验、安装新软件,修改注册表之类的,做完后想回到之前的状态。在具体使用之前,先观察一下virtualbox的snapshot栏:

virtualbox-xpcn0-before-taking-snapshot

目前之后一个状态current state。在做实验之前,你需要给当前状态做个snapshot。点击工具栏的”take snapshot“,“current state”上右键也行。在弹出的对话框中输入snapshot的名字,比如”Before Removing Putty”。现在状态变成:

virtualbox-xpcn0-change-current-state

现在current state在你新做的snapshot之下,点击大工具栏上的start启动客户机,在里面把putty删除了,退出客户机。现在你想恢复之前的snapshot,这时你需要选中“Before Removing Putty”,点击工具栏上的”restore snapshot”或者右键菜单也行,这时virtualbox告诉你是否要恢复,因为你的客户机最新状态和snapshot的状态不同(那是肯定的),所以咨询你是否要给最新状态做snapshot,我们现在要撤销大修改,明显不要给最新状态做snapshot,取消勾选点击restore。

virtualbox-xpcn0-restore-snapshot

这时snapshot栏又回到刚才的状态,只有一个current state,这时点击“start”启动的话putty又回来了,也就是说大撤销成功了。

以上就是snapshot基本的用法,还有稍微复杂的类似分支的用法,在你想要做对比测试的时候很有用(当然克隆客户机也是可以的,如果你不了解snapshot的话)。