您的位置:首页 > 编程语言 > Python开发

python 控制vbox虚拟机

2016-03-02 18:16 543 查看
(本机环境:win7;python 2.7.9; vbox 4.3.12)
目标:
完成官网(https://pypi.python.org/pypi/pyvbox)上的demo:

> python
In [1]: import virtualbox

In [2]: vbox = virtualbox.VirtualBox()

In [3]: print("VM(s):\n + %s" % "\n + ".join([vm.name for vm in vbox.machines]))
VM(s):
+ filestore
+ xpsp3
+ win7
+ win8
+ test_vm


1 安装python——vbox组件
---------------------安装vboxapi------------------------------------------
这个路径下有个vboxapisetup.py





C:\Program Files\Oracle\VirtualBox\sdk\install



pyvbox需要用到vboxapi库。
python vboxapisetup.py install (如果成功,跳过看2;失败请继续)
可能会出现错误:





这是说安装脚本不知道vbox安装路径在哪里。我们需要指定。





set VBOX_INSTALL_PATH="C:\Program Files\Oracle\VirtualBox"
这次安装试一下:









成功!

独立安装vboxapi:
这个url下,有各个版本的vbox各种安装文件。
http://download.virtualbox.org/virtualbox/4.3.12





其中有一个VirtualBoxSDK-4.3.12-93733.zip
解压
VirtualBoxSDK-4.3.12-93733\sdk\installer
中有vboxapisetup.py
用同上的方法安装。

---------------------安装pywin32------------------------------------------
https://sourceforge.net/projects/pywin32/





下载相对应的版本。我的是32位python。(不会查看的话,进入python,会提示







2 简单使用
官网:https://pypi.python.org/pypi/pyvbox

试运行:

> python
In [1]: import virtualbox

In [2]: vbox = virtualbox.VirtualBox()

In [3]: print("VM(s):\n + %s" % "\n + ".join([vm.name for vm in vbox.machines]))
VM(s):
+ filestore
+ xpsp3
+ win7
+ win8
+ test_vm


如果出现:





去1查看“安装pywin32一节”

成功之后的样子:





3 高级应用
vbox官方出了一个功能比较强大的python脚本——vboxshell.py

D:\ccode\vbox>python vboxshell.py
Running VirtualBox version 4.3.12
vbox> help
Help page:
alias: Control aliases
attachCtr: Attach storage controller to the VM: attachCtr win Ctr0 IDE ICH6
attachHdd: Attach HDD to the VM: attachHdd win /disk.vdi "IDE Controller" 0:1
attachIso: Attach CD/DVD to the VM: attachIso win /os.iso "IDE Controller" 0:1
attachUsb: Attach USB device to the VM (use listUsb to show available devices): attachUsb win uuid
... ...
verbose: Toggle verbosity
vbox>

查看信息

vbox> info droid4x
One can use setvar <mach> <var> <value> to change variable, using name in [].
Name [name]: droid4x
... ...
Location: D:\code\client\Refactor\Droid4X\tinyplayer\Release\VirtualBox VMs\droid4x\droid4x-disk3.vmdk
Name: droid4x-disk3.vmdk
Format: VMDK

Shared folders:
vbox>

完毕!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: