我正在使用pyvbox,即virtualBox主API的完整实现。在我的用例中,我只想编写一个python代码来启动和停止VM。当我使用python GUI时,每件事都运行正常。但是当我尝试从CMD运行python代码时,我收到了这个错误:
echec de l'ouverture de session pour la machine 'test'
Microsoft Visual C++ Runtime Library
Runtime Error!
Program: C:\Program Files\Oracle\VirtualBox\VBoxSVC.exe
R6025
-pure virtual function call
PS:
python版本2.7.11
pyvbox 1.0.0
OS windows 8
startvm.py:
import virtualbox
vbox = virtualbox.VirtualBox()
session = virtualbox.Session()
vm = vbox.find_machine('test_vm')
progress = vm.launch_vm_process(session, 'gui', '')
答案 0 :(得分:0)
也许您不再需要任何帮助了:D,但无论如何我还是在这里写下来,也许对某人会有帮助。
使用python pyvbox库启动和停止VM非常简单:
import virtualbox
from vboxapi import VirtualBoxManager
vbox = virtualbox.VirtualBox()
session = virtualbox.Session()
# This part starts the machine:
# machine_name is a simple string containing the name of your VM. For example "ubuntu"
machine = vbox.find_machine(machine_name)
proc = machine.launch_vm_process(session, "headless")
proc.wait_for_completion(timeout=-1)
# This part stops it:
process, unused_variable = session.machine.take_snapshot("snapshot_name", "snapshot_description", False)
# False means "do not pause the machine while snapshotting"
process.wait_for_completion(timeout=-1)
session.unlock_machine()
我创建了一个简单的脚本来自动为虚拟机创建快照。