我现在已经尝试了很长一段时间才能让以下事情发挥作用 - 但没有成功。我知道我的方法有点肮脏,所以我总是愿意接受有关如何以更好的方式做到这一点的建议。
我们在学校环境中的Linux机器上运行VirtualBox。有几个应用程序绝对需要在Windows下运行,这就是为什么没有办法绕过VirtualBox(忘了喝酒!)。因此,我们将虚拟机映像放在每个本地硬盘驱动器上,学生可以根据需要运行它们。这个图像真的应该是#34;只读#34;以这种或那种方式。显然,即使运行机器也会对该图像进行更改,因此我们需要一种能够自动恢复这些更改的机制。我们在何时发生这种情况时会有些灵活。对我来说,在每次重新启动时执行此操作似乎是最好的方法,但我不介意它在例如注销时完成。
现在,只要虚拟机未启动,我们就会在每次启动计算机时在映像上使用rsync,直到该过程完成为止。尽管它有效,但它对管理员来说是一种痛苦,因为它可能会导致各种难以复制的错误,因此必须有更好的方法。
我的想法是使用我自动恢复的快照。由于简单地删除快照VDI不起作用,我想创建一个"模板快照vdi" (大约180MB)在启动时被复制到世界可写位置(例如/ tmp)。我知道那里仍然存在竞争条件,但是在本地硬盘驱动器上复制180MB应该比使用15GB的速度快得多且可预测。然后,我将虚拟机配置为使用该快照。
执行此VirtualBox会产生错误
父UUID {00000000-0000-0000-0000-000000000000}与xml文件中的UUID {12345678-1234-1234-1234-123456789012}不匹配。
VirtualBox的一个可能原因是this issue,但我对此并不确定。
在编写这些行时,我现在想到的是使用脚本将快照VDI模板复制/ rsync到"右键"在该脚本启动计算机之前的主目录中的路径。
还有其他建议吗?