![复制两个 vmdk 之间的差异](https://linux22.com/image/1255941/%E5%A4%8D%E5%88%B6%E4%B8%A4%E4%B8%AA%20vmdk%20%E4%B9%8B%E9%97%B4%E7%9A%84%E5%B7%AE%E5%BC%82.png)
我在外部磁盘上有一个虚拟机 (Vmware)。当我想使用它时,我会将其复制到我的硬盘上,当我完成我的工作时,我会将虚拟机从硬盘重新复制到外部磁盘。
有什么方法可以轻松做到这一点?如果有办法只复制它们之间的差异,那就太好了,因为我不必等待 35Gb 的传输时间。
提前致谢。
答案1
我用同步在我的 Unix 机器上将最新的数据复制到备份。它只传输不同的数据。
对于 Windows,Microsoft 有一个名为 robocopy 的程序可以执行类似的操作。它是 XP 以上版本的 Windows 的一部分。对于更早的版本,它是 Windows Resource Kit 的一部分。rsync 页面确实列出了其他地方提供的 Windows 版本,但我从未尝试过。
在两种情况下,同步之前都应停止在 vmware 下运行该机器。
答案2
您可以使用该diff
实用程序查找两个文件之间的差异,然后使用该patch
实用程序将这些更改应用于外部硬盘上的副本。 Diff 需要分析两个文件中的每个字节,因此它可能不会比复制文件更快。但是,磁盘和文件系统倾向于优化读取而不是写入,因此值得一试。
答案3
你为什么要费心复制所有内容?只需将 VMDK 留在主驱动器上,或直接从外部驱动器运行它。我已经从 USB2 驱动器运行 VirtualBox VM,启动后速度并不是特别慢。