首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用pyvbox模块创建vm

使用pyvbox模块创建vm
EN

Stack Overflow用户
提问于 2016-05-25 10:08:17
回答 1查看 1.5K关注 0票数 1

我正在使用pyvbox,这是virtualBox主API的完整实现。在我的用例中,我只想编写一个python代码来启动和停止VM。当我使用python时,当我尝试从CMD运行python代码时,所有事情都是fine.But的,我得到了以下错误:

代码语言:javascript
复制
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:

  1. python版本2.7.11
  2. pyvbox 1.0.0
  3. 操作系统windows 8

startvm.py:

代码语言:javascript
复制
import virtualbox
vbox = virtualbox.VirtualBox()
session = virtualbox.Session()
vm = vbox.find_machine('test_vm')
progress = vm.launch_vm_process(session, 'gui', '')
EN

回答 1

Stack Overflow用户

发布于 2020-02-12 14:21:42

也许你不再需要任何帮助了:D,但我还是在这里写的,也许它对某人有帮助。

使用python库启动和停止VM非常简单:

代码语言:javascript
复制
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()

我创建了一个简单的脚本来自动快照我的虚拟机。

GitHub:https://github.com/Meru3m/virtualbox-snapshotter

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37433928

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档