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