轉載:使用命令行啓動VirtualBox虛擬機


裝上VirtualBox就琢磨着如何讓它開機自動啓動,又或者可以經過命令行的形式直接啓動指定的虛擬機。看了下VirtualBox的官方文 檔,發現有一個命令能夠知足個人需求,即VBoxManage。VBoxManage提供了一系列的虛擬機管理命令,包括建立/刪除/啓動/修改等等,這 裏不一一列舉。有點像Xen的XM命令。不過這裏只關心啓動虛擬機的命令:VBoxManage startvm。VBoxManage的完整命令列表能夠參考這裏。

VBoxManage startvm子命令能夠開啓一臺狀態爲關閉或者保存的虛擬機。該命令的語法爲:
java

VBoxManage startvm  uuid>|name... [--type gui|sdl|headless]



能夠經過虛擬機的uuid或者name來指定某臺虛擬機,能夠經過另一個子命令list列出系統已有的虛擬機:
less

$ VBoxManage list vms
"XP" {8842d793-228c-458e-a880-8051193fd2db}

我係統上已經安裝了一臺名爲XP的虛擬機,後面括號內部的是它的UUID。

VBoxManage startvm子命令能夠經過–type參數指定啓動的方式,其中gui就是圖形化界面,這和咱們平時啓動的方式同樣。sdl也是圖形化界面,可是少掉了 部分功能,好比沒有菜單等,通常用於調試過程。最後headless是在後臺運行,而且默認開啓vrdp服務,能夠經過遠程桌面工具來訪問。關於這三種啓 動方式的介紹能夠看手冊中的這一篇。因此通常咱們使用gui或者headless類型啓動。

使用gui類型啓動虛擬機:
工具

$ VBoxManage startvm XP --type gui



執行結束後,就會啓動指定的虛擬機,幾乎和平時沒什麼區別。

使用headless類型啓動虛擬機:
ui

$ VBoxManage startvm "XP" --type headless


或者
命令行

$ VBoxHeadless --startvm "XP"



結果返回:
調試

$ rdesktop -a 16 -N -g 1280x800 127.0.0.1:3389
Autoselected keyboard map en-us
ERROR: connect: Connection refused

翻 了下手冊,結果發現要得到VRDP的支持還須要安裝額外的擴展包,詳細說明能夠參考這裏。從VirtualBox的下載頁面選擇相應的版本下載擴展包。下 載完成後,雙擊便可以完成安裝,或者在菜單中File-Preference-Extensions能夠安裝和查看已安裝的擴展包。

安裝 好再次執行上面的遠程命令,這下能夠看見虛擬機界面了吧。能夠經過ctrl+alt+enter切換全屏。不過我這裏用rdesktop全屏後,屏幕就黑 了,只有點過的地方纔會恢復。不知道是什麼緣由,我就乾脆用TigerVNC了,同時在啓動headless的時候加上-n參數{$ VBoxHeadless -n -s winxp    (VBoxHeadless -s winxp --vnc --vncport 5900 --vncpass password)},經過如下命令遠程鏈接:
code

$ vncviewer localhost:5900



按下F8會出現一個菜單,裏面能夠切換全屏。

一切相關的命令:
ip

$ VBoxManage list runningvms # 列出運行中的虛擬機
$ VBoxManage controlvm XP acpipowerbutton # 關閉虛擬機,等價於點擊系統關閉按鈕,正常關機
$ VBoxManage controlvm XP poweroff # 關閉虛擬機,等價於直接關閉電源,非正常關機
$ VBoxManage controlvm XP pause # 暫停虛擬機的運行
$ VBoxManage controlvm XP resume # 恢復暫停的虛擬機
$ VBoxManage controlvm XP savestate # 保存當前虛擬機的運行狀態
相關文章
相關標籤/搜索