1

有没有办法从 VBox 来宾机器中恢复快照?

我有一台托管许多机器的 Windows 机器。目前我们正在使用 Ubuntu 来宾处理某些东西,为了恢复快照而不得不不断切换机器真的很痛苦。

我的想法是将机器设置为“基本”状态,每次我想进入该状态时,我只需输入一些命令,例如:

revertbase

机器将在上一个快照中重新启动,我只需要重新启动 ssh 即可继续。

4

2 回答 2

1

您不能对正在运行的机器进行快照,您必须先将其冻结,所以我的猜测是主机本身无法做到这一点。

在主机中,您可以从命令行使用 VBoxManage 执行此操作。

该文件位于

程序文件/Oracle/VirtualBox/VBoxManage.exe

并用作 VirtualBox 的命令行界面。

使用命令:

VBoxManage snapshot "MachineName" take SnapShotName

之后他们:

VBoxManage snapshot "MachineName" discardcurrent -state

要返回上一个状态,请阅读下面的文本以获取更多信息,以便轻松访问 VBoxManage 将其添加到您的路径中:

PATH=%PATH%;c:\Program Files\Oracle\VirtualBox

取自:http ://www.linux.com/news/enterprise/systems-management/8224-secrets-for-controlling-virtualbox-from-the-command-line

管理快照

虚拟化软件最有用的功能之一是它能够拍摄虚拟机的快照。在对其进行更改之前拍摄 VM 的快照始终是一个好主意。快照有助于在硬件层面恢复因硬件配置更改而无法使用的系统,在软件层面,它们可防止因意外删除或病毒导致的数据丢失。

从 VirtualBox CLI 拍摄快照是小菜一碟。VBoxManage 快照“Fedora”拍摄 snap1-stable-system 在一切正常时拍摄稳定的 Fedora VM 的快照。保存快照可能需要一些时间,具体取决于 VM 和主机上的资源。为确保您在拍摄快照时不会对系统进行更改,VirtualBox 将整个 VM 界面显示为灰色,并且在保存快照之前您无法使用它。

有了稳定的快照,继续玩系统吧。如果您遇到问题并且您的机器无法启动或开始出现异常行为,您可以恢复到稳定机器的快照。为此,首先使用 VBoxManage controlvm "Fedora" poweroff 关闭 VM,然后使用 VBoxManage snapshot "Fedora" discardcurrent -state 恢复到上一个​​快照。如果您有多个快照,您可以使用 -all 开关而不是 -state 恢复到最后一个快照。

当然,当您恢复到旧状态时,自拍摄快照以来所做的所有更改都会丢失,包括所有配置更改以及对旧文件和新文件的更改。您可以通过指定数据应存储在“直写”磁盘上来解决此问题,该磁盘的行为类似于普通磁盘,但不受快照的影响。换句话说,当您拍摄快照时,VirtualBox 会忽略直写磁盘。您可以在该磁盘上存储所有重要数据和文件或完整的 /home 目录。

 </p>

要添加直写磁盘,请在使用 createvdi 创建新磁盘时使用 -type writethrough 选项。您还可以更改之前创建的磁盘并使其写入。为此,首先使用 VBoxManage modifyvm "Fedora" -hdb none 将其从 VM 中取消附加,然后使用 VBoxManage unregisterimage diskfourgig 取消注册(使用系统上的磁盘名称代替fourgig)。现在再次注册它,但使用 VBoxManage registerimage disk "fourgig" 类型的直写作为直写磁盘。最后,使用 VBoxManage modifyvm "Fedora" -hdbfourgig 将其附加回 VM。

现在您可以安全地将数据保存在此磁盘上,无论虚拟机处于何种状态,数据都将始终是安全的。但请记住不要恢复到创建此磁盘之前保存的状态;如果这样做,VirtualBox 将简单地删除磁盘,因为它在该状态下不存在。此外,VirtualBox 目前不允许您为连接了 writethrough 磁盘的 VM 拍摄快照,因此您必须在保存 VM 的状态然后重新连接之前取消连接 writethrough 磁盘。我希望在即将推出的 VirtualBox 版本中,直写磁盘的存在不会对快照过程产生影响。

于 2012-11-26T20:16:42.750 回答
1

更新的答案。你仍然不能直接从客人那里做。

您可以通过共享驱动器/文件夹和在主机上运行的脚本触发主机重新启动来宾,该脚本将在更新共享文件时重新加载来宾。

包括我的 Windows 脚本来重新启动来宾。Canesin 给出的命令对我不起作用。我在 CMD 文件中有以下内容。

PATH=%PATH%;c:\Program Files\Oracle\VirtualBox
vboxmanage controlvm "DEMO" poweroff
timeout /t 10
vboxmanage snapshot "DEMO" restorecurrent
timeout /t 10
vboxmanage startvm "DEMO"
于 2017-10-24T17:20:26.160 回答