python 控制vbox虚拟机
(本机环境: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各种安装文件。

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

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

)
2 简单使用
试运行:
> 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>
完毕!
己有能 勿自私 人所能 勿轻訾
jogger0703@gmail.com
分类:
python
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· SQL Server 2025 AI相关能力初探
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库