我在 Ubuntu 上使用 VirtualBox,其中安装了一些程序。快照文件一直在增长。
我不需要这个功能。我只想将我的数据保存在虚拟 Windows 硬盘上。
我怎样才能删除 20GB 的快照而不丢失我的文档和设置,也不启动另一个不断增长的快照?
谢谢。
答案1
虚拟磁盘
创建虚拟机时,您还会创建一个虚拟磁盘。此磁盘可以是固定大小,也可以是动态扩展的。在第一种情况下,文件不会增长;在后一种情况下,文件在启动时的大小较小,并将根据虚拟机的需要增长到虚拟磁盘的最大大小。可以使用 Lukas 的回答步骤压缩动态扩展的磁盘。
快照
当您拍摄快照时,VBox 会创建一个新文件,其中会写入所有更改,而不是原始虚拟磁盘文件。此新文件将根据需要增大到虚拟磁盘的最大大小。如果您在某个时间点拍摄另一个快照,此文件将停止增大,VBox 将创建另一个文件,该文件也会随之增大。
删除快照
如果您不需要快照,则可以删除它们,数据将提交到原始虚拟磁盘文件中(如果是连续快照,则提交到原始快照文件中)。只需停止虚拟机,选择要删除的快照,使用快照选项卡中带有红叉的按钮。这可能需要很长时间,具体取决于快照中的数据量。
恢复快照
带有向上箭头的图标用于恢复快照(并忘记自快照日期以来更改的所有数据)。
答案2
您可以使用我的脚本备份并恢复快照,然后使用以下命令压缩其 HDD:
- 对客户机上的磁盘进行碎片整理
- 在客户机上运行
sdelete -c C
(从 http://technet.microsoft.com/en-us/sysinternals/bb897443.aspx 下载 sdelete),将可用空间清零。我不知道 Linux 是否有等效程序(可能是 dd?)。 VBoxManage modifyhd winxp.vdi --compact
在主机上运行