为了测试目的,我们想从单个主版本创建 50 个克隆版本。一般来说,最快、最简单的方法是什么?
答案1
您可以使用vboxmanage
脚本中的命令行工具来克隆虚拟机:
vboxmanage clonevm <Name of VM> --name <New Name> --register
只需使用脚本运行50次。
答案2
我的脚本是这样开始的:
SET BOXNAME={master box}
"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" snapshot %BOXNAME% delete Snapshot
"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" snapshot %BOXNAME% take Snapshot
它设置一个等于我正在克隆的虚拟机名称的变量(我的名称在引号中),然后删除名为“Snapshot”的快照(如果存在),然后创建一个新的快照。快照名称区分大小写。
然后,根据需要输入尽可能多的以下行:
"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" clonevm %BOXNAME% --snapshot Snapshot --basefolder "V:\vpn" --options link --name {NewBoxName} --register
- --snapshot:这告诉它要使用哪个快照。如果您要创建链接克隆,则需要它。
- --options link:告诉它创建链接克隆
- --basefolder:告诉它您希望将文件存储在哪个文件夹中。(可选)
- --name:纯文本,无括号或引号...这是您要为新框命名的内容。您需要为每个框指定一个唯一的名称,因此如果您多次克隆它,则需要编辑每一行以使用不同的名称
- --register:不确定这有什么用。所有其他教程都有它...
我暂停了一下,以便查看它是否有效。唯一让我困扰的是,我不知道如何告诉它把虚拟盒放在虚拟盒管理器文件夹结构中的什么位置。我必须一次一个地将它们全部移动到我想要存储它们的文件夹中。
我的例子:
SET BOXNAME="VPNBox-Master"
"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" snapshot %BOXNAME% delete Snapshot
"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" snapshot %BOXNAME% take Snapshot
"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" clonevm %BOXNAME% --snapshot Snapshot --basefolder "V:\vpn" --options link --name VPNBox1 --register
"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" clonevm %BOXNAME% --snapshot Snapshot --basefolder "V:\vpn" --options link --name VPNBox2 --register
pause