使用python从virtualbox克隆现有虚拟机

2024-05-15 03:01:53 发布

您现在位置:Python中文网/ 问答频道 /正文

我想写一个应用程序,从我单独安装的virtualBox克隆一个虚拟机。我假设我知道vdi文件在哪里并且可以访问它。我还知道我可以安装virtualbox管理器,然后用python执行shell。不过,我正在寻找和现有的库/API,以避免我通过与shell权限填充。我试过pyvbox,但没用。一个简单的发现并不能得到机器。在

 # I tried these two commands
 vm = vbox.find_machine('test_vm')
 vm2 = vbox.find_machine('path/to/test_vm')

我想这是因为虚拟机测试虚拟机没有注册到此实例。关于如何从已安装的virtualbox克隆已经存在的虚拟机有什么想法吗?在


Tags: 文件testapi应用程序权限管理器vmmachine
1条回答
网友
1楼 · 发布于 2024-05-15 03:01:53

看起来您在跟踪pyvbox documentation,但可能不正确?
这是我所做的(win10,python 2.7):

>>> pip install pyvbox
>>> python
Python 2.7.10 (default, May 23 2015, 09:44:00) [MSC v.1500 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import virtualbox
>>> vbox = virtualbox.VirtualBox()
>>> print("VM(s):\n + %s" % "\n + ".join([vm.name for vm in vbox.machines]))
VM(s):
 + tails2.4a
 + Kali-Linux-testvm
 + lubuntu1610
>>> vm = vbox.find_machine('lubuntu1610')
>>> vm
<virtualbox.library_ext.machine.IMachine object at 0x0000000002D069B0>

你指的是“会议”,我想你的意思是:
session = virtualbox.Session()
它(仅启动virtualbox会话)独立于您的find_machine命令。见下文:
progress = vm.launch_vm_process(session, 'gui', '')
它基本上启动了virtualbox。在

我认为如果你的“测试虚拟机”真的存在(是吗??您是在virtalbox中首先创建的吗?)它会被发现的。也许像我一样先列出你的虚拟机:
print("VM(s):\n + %s" % "\n + ".join([vm.name for vm in vbox.machines]))
然后find_machine?或者我误解了你的意思:p

相关问题 更多 >

    热门问题