使用文件系统命令移动和克隆 VirtualBox 机器

mit*_*mit 5 virtualization linux command-line-interface cloning virtualbox

我知道在 linux 主机上克隆 VirtualBox 机器的两种方法,一种是使用 VirtualBox gui 并作为设备导出和重新导入(在 VirtualBox 的文件菜单中)。

另一种方法是仅克隆虚拟磁盘容器文件:

VBoxManage clonevdi /mnt/md1/original/root-fs.vdi /mnt/md1/cloned/root-fs.vdi
Run Code Online (Sandbox Code Playgroud)

(取自http://forums.virtualbox.org/viewtopic.php?p=853#p858


编辑:这似乎不适用于已经是 ~/VirtualBox/VirtualBox.xml 一部分的 VDI 文件,我收到一条错误消息:

错误:无法使用 UUID {96a1462b-c30a-4911-a954-d9093122f083} 注册硬盘“/mnt/md1/original/root-fs.vdi”,因为硬盘“/mnt/md1/original/root-fs”。带有 UUID {96a1462b-c30a-4911-a954-d9093122f083} 的 vdi' 已经存在于媒体注册表中 ('/home/mit/.VirtualBox/VirtualBox.xml')


之后我必须创建一个新的 VM 并使用克隆的虚拟磁盘容器。

是否还可以通过使用文件系统命令复制虚拟磁盘容器文件和配置文件来克隆 VM,然后手动完成其余工作?

我必须手动编辑 ~/VirtualBox/VirtualBox.xml 并插入新磁盘和新机器:

我可以只组成 UUID 或者这将如何工作?

我非常喜欢这种核心的做事方法,因为它允许我自由快速地备份、恢复、移动或克隆机器。或者有没有更好的方法来做到这一点?

use*_*517 4

您可以使用以下命令更改 vdi 的 UUID

VBoxManage internalcommands setvdiuuid disk.vdi
Run Code Online (Sandbox Code Playgroud)

或者如果您使用的是 VBox V4.x 至少到 4.0.10

 VBoxManage internalcommands sethduuid disk.vdi
Run Code Online (Sandbox Code Playgroud)

然后使用 GUI 导入新的“唯一”磁盘。

如果您想克隆特定的 VirtualBox 机器,那么您最好制作一个设备然后使用它。要创建设备,请使用 GUI 导出设备功能或vboxmanage export命令。然后可以使用 GUI 导入设备功能或命令导入生成的设备vboxmanage import