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>
 
完畢!
相關文章
相關標籤/搜索