使用命令行啟動VirtualBox虛擬機


轉載

原文地址:https://www.cnblogs.com/nshuai/p/5857610.html

裝上VirtualBox就琢磨着如何讓它開機自動啟動,又或者能夠通過命令行的形式直接啟動指定的虛擬機。

看了下VirtualBox的官方文檔,發現有一個命令可以滿足我的需求,即VBoxManage。

VBoxManage提供了一系列的虛擬機管理命令,包括創建/刪除/啟動/修改等等,這里不一一列舉。有點像Xen的XM命令。

不過這里只關心啟動虛擬機的命令:VBoxManage startvm。VBoxManage的完整命令列表可以參考這里。

VBoxManage startvm子命令可以開啟一台狀態為關閉或者保存的虛擬機。該命令的語法為:
VBoxManage startvm uuid>|name... [--type gui|sdl|headless]

可以通過虛擬機的uuid或者name來指定某台虛擬機,可以通過另外一個子命令list列出系統已有的虛擬機:

$ 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類型啟動虛擬機:


$ 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)},通過以下命令遠程連接:

$ vncviewer localhost:5900

按下F8會出現一個菜單,里面可以切換全屏。

一切相關的命令:
$ VBoxManage list runningvms # 列出運行中的虛擬機


$ VBoxManage controlvm XP acpipowerbutton # 關閉虛擬機,等價於點擊系統關閉按鈕,正常關機


$ VBoxManage controlvm XP poweroff # 關閉虛擬機,等價於直接關閉電源,非正常關機


$ VBoxManage controlvm XP pause # 暫停虛擬機的運行


$ VBoxManage controlvm XP resume # 恢復暫停的虛擬機


$ VBoxManage controlvm XP savestate # 保存當前虛擬機的運行狀態


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM