我使用的是 VMWare Workstation 7.x。我有几个经常使用的 Windows Server 2003 映像。它们都是从同一个映像开始的,都是通过克隆创建的。克隆后在不同映像上安装的软件有一些差异,但差异不是很大 - 只安装了一两个产品。
在我暂停图像后,有些图像会很快恢复 - 只需一两秒。有些则需要一分钟或更长时间才能恢复。
造成这种差异的原因可能是什么——有没有办法优化缓慢恢复的图像,或者是否有可能其中一个图像中存在损坏。
我的宿主机也是windows的。
答案1
正如你所描述的,你有一些活动快照在机器上。从你的描述中我了解到的情况来看,这将是导致速度缓慢的最大原因。
让我稍微解释一下快照的工作原理和原理。
Lets assume you create a new machine and install an operating system you wish.
After this installation one might think it is smart to make a snapshot.
Actually a very logical thought!
You could have the possibility to set your system back to its start point.
Or by making regulary snapshots you would have a very good backup system.
但快照存在一个问题。
A snapshot means that in the moment you create it, your "harddrive" will freeze and a new file will be created where everything you do that would effect the "harddrive" will be stored.
The "harddrive" will never ever be changed from that moment since the snapshot.
Now lets assume you work for hours and hours and everything you change, even changes of the change you made will be saved in this file.
例如,你保存了你拥有的糖果数量糖果.txt。
- 假设你保存了 5 颗糖果。
- 然后你制作一个快照。
- 我吃了你的一颗糖果,然后你把文件中的数量从 5 改为 4。(通常你会将此信息直接保存在 candys.txt 中。但由于快照,这种情况不会发生。VMWare 会创建一个文件(我们称之为服务器变更) 它会“长期”保存更改。
- 你吃了一颗糖果,然后再次将文件中的数量从 4 改为 3。随着时间的推移,你现在将保存之前所做更改。
因此,如果您想从挂起或正常启动状态启动计算机或者访问 candy.txt,则会发生以下情况。
- 系统将从“硬盘”启动/打开文件 changes.txt
- 然后每个更改都将从 SERVER.changes 加载
- 将加载更改的更改
- 等等
- 现在你终于可以处理你的系统/文件了
那么如何才能进行备份以及何时使用快照?
- 备份我不知道工作站版本,但我猜你可以冻结你的机器,然后导出/复制/克隆您的机器。这将占用大量存储空间,并且许多存储空间将用于保存您已保存的数据。因此,您应该以另一种更有效的方式备份数据。对于备份系统而言,这是最简单的方法之一!
- 快照。当您必须执行一些您不 100% 确定的事情时,请使用快照。如果您对更改某些内容或安装某些更新有疑问,并且您不确定您的系统之后是否能正常工作,请执行快照。如果您愿意,您可以为每个步骤制作大量快照。它会随着时间的推移而变慢。但没关系,因为您只想“尝试”事情,如果它们有效,您可以删除快照。
删除快照意味着 VMWare 会将所有记录的差异放入“硬盘”中,因此当您访问数据时,您将直接在“硬盘”上工作。
答案2
使用 VMware Workstation Pro 15 时,我也遇到了这个问题,恢复过程有时需要大约 15 - 30 分钟。对我来说,以下步骤解决了这个问题:
安装 VMware Tools(如果 VM 是从旧版 VMware 获取的,则升级它们)。
使用“Suspend Guest”和“Resume Guest”命令。不要将它们与“Suspend”和“Resume”混淆。
当使用“暂停”和“恢复”时,对我来说操作需要更长的时间。
例如,当使用“暂停访客”然后“恢复”(不使用“访客”)时,恢复大约需要 15 - 30 分钟。
...-Guest 命令通过在 VM 内部运行脚本来完成工作;不带 ...-Guest 的命令则从外部完成工作。