使用命令行啟動VirtualBox虛擬機
- 作者:新網
- 來源:新網
- 瀏覽:100
- 2018-05-07 11:11:22
裝上VirtualBox就琢磨著如何讓它開機自動啟動,又或者能夠通過命令行的形式直接啟動指定的虛擬機。看了下VirtualBox的官方文檔,發(fā)現有一個命令可以滿足我的需求,即VBoxManage。VBoxManage提供了一系列的虛擬機管理命令,包括創(chuàng)建/刪除/啟動/修改等等,這里不一一列舉。
<
div> 裝上VirtualBox就琢磨著如何讓它開機自動啟動,又或者能夠通過命令行的形式直接啟動指定的
虛擬機??戳讼耉irtualBox的官方文檔,發(fā)現有一個命令可以滿足我的需求,即VBoxManage。VBoxManage提供了一系列的虛擬機管理命令,包括創(chuàng)建/刪除/啟動/修改等等,這里不一一列舉。
有點像Xen的XM命令。不過這里只關心啟動虛擬機的命令:VBoxManage startvm。VBoxManage的完整命令列表可以參考這里。
VBoxManage startvm子命令可以開啟一臺狀態(tài)為關閉或者保存的虛擬機。該命令的語法為:
VBoxManage startvm uuid>|name... [--type gui|sdl|headless]
可以通過虛擬機的uuid或者name來指定某臺虛擬機,可以通過另外一個子命令list列出系統(tǒng)已有的虛擬機:
$ VBoxManage list vms
"XP" {8842d793-228c-458e-a880-8051193fd2db}
我系統(tǒng)上已經安裝了一臺名為XP的虛擬機,后面括號內部的是它的UUID。
VBoxManage startvm子命令可以通過--type參數指定啟動的方式,其中gui就是圖形化界面,這和我們平時啟動的方式一樣。sdl也是圖形化界面,但是少掉了部分功能,比如沒有菜單等,一般用于調試過程。最后headless是在后臺運行,并且默認開啟vrdp服務,可以通過遠程桌面工具來訪問。關于這三種啟動方式的介紹可以看手冊中的這一篇。所以一般我們使用gui或者headless類型啟動。
使用gui類型啟動虛擬機:
$ VBoxManage startvm XP --type gui
執(zhí)行結束后,就會啟動指定的虛擬機,幾乎和平時沒什么區(qū)別。
使用headless類型啟動虛擬機:
$ 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
翻了下手冊,結果發(fā)現要獲得VRDP的支持還需要安裝額外的擴展包,詳細說明可以參考這里。從VirtualBox的下載頁面選擇相應的版本下載擴展包。下載完成后,雙擊即可以完成安裝,或者在菜單中File-Preference-Extensions可以安裝和查看已安裝的擴展包。
安裝好再次執(zhí)行上面的遠程命令,這下可以看見虛擬機界面了吧??梢酝ㄟ^ctrl+alt+enter切換全屏。不過我這里用rdesktop全屏后,屏幕就黑了,只有點過的地方才會恢復。不知道是什么原因,我就干脆用TigerVNC了,同時在啟動headless的時候加上-n參數,通過以下命令遠程連接:
$ vncviewer localhost:5900
按下F8會出現一個菜單,里面可以切換全屏。
一切相關的命令:
$ VBoxManage list runningvms # 列出運行中的虛擬機
$ VBoxManage controlvm XP acpipowerbutton # 關閉虛擬機,等價于點擊系統(tǒng)關閉按鈕,正常關機
$ VBoxManage controlvm XP poweroff # 關閉虛擬機,等價于直接關閉電源,非正常關機
$ VBoxManage controlvm XP pause # 暫停虛擬機的運行
$ VBoxManage controlvm XP resume # 恢復暫停的虛擬機
$ VBoxManage controlvm XP savestate # 保存當前虛擬機的運行狀態(tài)
小編就說到這里了。