从无头 Ubuntu 服务器上的 Virtualbox 创建的基本 VMDK 和快照恢复 VM

从无头 Ubuntu 服务器上的 Virtualbox 创建的基本 VMDK 和快照恢复 VM

我想在 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 部分,因为可能实际上只需要几行,但我不确定会是哪几行。

相关内容