一行命令啟動 VirtualBox 下的虛擬機器

使用 Linux 也一段時間了,我想我使用電腦的習慣在不知不覺中就改變了,簡單的說應該是變懶惰了,可以打命令完成的事,就不用動到滑鼠。(其實這也是在避免手腕運動傷害)

在此前題之下,對於要執行 VirtualBox 下的虛擬機器,一定要動滑鼠先去執行 VirtualBox 應用程式,等待它的開啟,開啟之後,又要拉動滑鼠去點所要執行的虛擬機器。

對於這些拉來拉去,點來點去的過程,實在是很不能忍受,與覺得自己很呆,因為機器可以自動完成的事,為什麼我要一再重覆呢?

於是,觀察與分析了一下 VirtualBox 的執行過程,發現其實也沒那麼複雜,不過是 VirtualBox 一執行,然後去執行虛擬機器。對 VirtualBox 而言,只要清楚告訴 VirtualBox 虛擬機器的代號以及所在位置就好了,前前後後,就是這麼簡單。

好,知道過程之後,那要去哪裡找到所要資訊呢?系統不可能憑空猜中,一定有地方來紀錄,那到底在哪裡呢?

翻查一下檔案,因為是要查 VirtualBox 相關事情,所以直覺便是到家目錄底下的 .VirtualBox 目錄去查,嘿嘿~果然,有一些要的資訊是躲在 VirtualBox.xml 裡(只要用文字編輯器便可以開啟此檔案了)。

呃~ 舉例來說,如果我裝了一部 WinXP 的虛擬機器,那我便會看到相關的註冊訊息:

<MachineRegistry>
<MachineEntry uuid="{dc5d1064-d125-431e-988c-95973a871a42}" src="/media/win_c/mandriva_data/Virtualbox/Machines/WinXP/WinXP.xml"/>
</MachineRegistry>


對我們來說,關鍵的訊息是:uuid="{dc5d1064-d125-431e-988c-95973a871a42}" ,那是要告訴 VirtualBox 要去執行的目標。(特別注意,每部電腦系統所建的虛擬機器,uuid 會不一樣,所以要自己查一下。)

好,目標找到了,那命令該如何下呢? 只要 ~~

VirtualBox --comment WinXP --startvm dc5d1064-d125-431e-988c-95973a871a42

  --comment 註解,給人看的訊息,會出現在視窗標題。
  --startvm 要執行哪部虛擬機器,只要告訴程式 uuid 便可以啦。

呃~ 這麼簡單? 是的,就這麼簡單!

那像我裝了好幾部虛擬機器怎麼辦呢?那就只好麻煩細心一次,把所有機器的 uuid 找出來,全部寫在一個檔案中,例如:virtualbox.txt(純文字檔喔)。

## Star ACFS
VirtualBox --comment ACFS --startvm b0e219c9-bcd6-43d2-a543-78ad6657903c

## Star EZGO7
VirtualBox --comment EZGO7 --startvm 779e2870-a910-4163-a2d2-e658844ad9d9

## Star WinXP
VirtualBox --comment WinXP --startvm dc5d1064-d125-431e-988c-95973a871a42

 

 

那如果我只要執行 WinXP 的話,只要開 終端機 輸入:

grep WinXP virtualbox.txt | sh &

    說明:
    用 grep 到 virtualbox.txt 去找有 XinXP 的這一行,找到了就丟給 sh 去執行,用 & 的目的是把此程序放到背景
    執行

延伸思考,如果我要一登入便執行某虛擬機器呢?(例如: WinXP)

我只要建個文字檔,例如:vm_winxp.txt, 然後,把內容

VirtualBox --comment WinXP --startvm dc5d1064-d125-431e-988c-95973a871a42

這一行放進去。

記得更改檔案屬性, chmod 755 vm_winxp.txt (開 終端機 程式)

然後在放到相關目錄區便可以,因 Gnome 與 KDE 登入後自動執行的目錄不同,不在這裡的討論範圍,所以就不寫了。

---- 20100301 新增 -----

根據迴響(1) 強者小朱說,只要

VirtualBox --comment WinXP --startvm (虛擬機器名稱,例:WinXP)

就可以了,我試了一下,果然通耶,果然是強者!

啊~ 還虧我前面寫了一大堆!!

# 請參考許仲佑部落格

◎作者簡介

許仲佑 (Chung-Yu Hsu),國小專任教師,熱愛文史,更愛自由。目前正致力於自由軟體的推動。

作者Blog




自由軟體鑄造場電子報 : 第 146 期 從 BusyBox 案談起:台灣業者侵權利用自由軟體所面對的法律風險

分類: 技術專欄