![从无头 Ubuntu 服务器上的 Virtualbox 创建的基本 VMDK 和快照恢复 VM](https://linux22.com/image/1518823/%E4%BB%8E%E6%97%A0%E5%A4%B4%20Ubuntu%20%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8A%E7%9A%84%20Virtualbox%20%E5%88%9B%E5%BB%BA%E7%9A%84%E5%9F%BA%E6%9C%AC%20VMDK%20%E5%92%8C%E5%BF%AB%E7%85%A7%E6%81%A2%E5%A4%8D%20VM.png)
我想在 Ubuntu 服务器上调整 80GB 的 vmdk 大小。我使用了
VBoxManage clonehd /path/to/file.vmdk" --format vdi
VBoxManage modifyhd "/path/to/file.vdi" --resize 256000
VBoxManage clonehd "/path/to/file.vmdk" --format vmdk
调整 vmdk 大小。
然后,我在虚拟媒体管理器中通过 phpvirtualbox 删除了 80gb 虚拟硬盘条目,并导入了 250gb 虚拟硬盘。它运行正常并启动,但随后我看到 Win Server 2008 处于 2 年前的状态。
我发现这是因为媒体管理器中 80gb vmdk 条目被删除导致快照未入站。新的 250gb vmdk 没有任何与之连接的快照。
vmdk 文件格式的快照不会显示在“快照”概览中,也不会显示在引用的虚拟硬盘附加的虚拟媒体管理器中。
另外两个虚拟硬盘仍具有原始配置、基本 vmdk 和一个快照。我可以手动重建配置文件吗?或者我可以在命令行上将基本 vmdk 与快照 vmdk 合并吗?
VBoxManage clonevm Infor_LN --snapshot \{35dd536c-6e3d-4c62-9b0b-065cc40a59c1\}
VBoxManage: error: This machine does not have any snapshots
作为一种解决方法,我想使用适用于 Windows 的 CloneVDI,因此我将所有文件复制到外部硬盘上并收到错误
"Compressed VMDKs are currently not supported"
如何将 vmdk 与快照合并?
答案1
如果您有多个 VMDK 文件,您可以尝试这假设您对快照的顺序有所了解。也许旧文件的最后修改时间可以让您对此有所了解。
否则,如果您没有该.vbox
文件的备份,您可以尝试手动编辑该文件以包含适当的信息。不建议这样做(有充分的理由),但看起来您没有太多其他选择。通过创建虚拟 VM 并立即创建多个快照进行的简短测试看起来是嵌套结构。因此,如果您必须处理多个可能的快照,那么这可能并不令人愉快。
我的方法是使用 80 GB 的文件并创建一个新的快照,暂停虚拟机并修改文件.vbox
,使新快照的引用指向备份中的旧快照。或者,您可以自己编写整个 XML 部分,因为可能实际上只需要几行,但我不确定会是哪几行。