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