VirtualBox2.1.0 使用心得
前言
從安裝建立虛擬電腦,用windows xp實體主機,安裝一台Windows xp的虛擬機為實例,一步一步的介紹Sun的VirtualBox,儘可能詳盡的說明各種的設定。網路、硬碟、音效、客戶端工具(guest additions),以及Snapshot的使用,還有遇到USB的問題點。
Sun VirtualBox 好用的虛擬電腦的軟體
如果您在你的電腦裡面,再安裝一台虛擬電腦,所有軟體測試都在這台虛擬電腦內進行,就不用擔心影響到真正的實體電腦,您再也不怕病毒,不怕把實體電腦弄亂。如果您是Linux或Mac的愛好者,但有時又必須用到Windows的功能,那您會需要VirtualBox。Sun 的 Virtualbox 是一套輕巧、簡潔 、 速度快,而且免費的虛擬電腦軟體,它提供Windows、Macs、Linux、Solaris等版本。支援Windows及Linux的各式版本。
VirtualBox VS VMWare
說到虛擬軟體大家比較耳熟能詳的是VMWare,但VMWare是一套付費軟體,而且檔案也臃腫許多,6.0版的安裝檔高達200多MB,和VirtualBox的40M比,簡直是個大巨人 。不過VMWare也有許多VirtualBox比不上的功能,也有人認為它比VirtualBox穩定。 但無疑以免費軟體而言VirtualBox,所提供的功能與速度,已是相當值得推薦。而我自己是比較喜歡VirtualBox,感覺上速度快是主要因素,在操作及按鍵的反應比較順暢,以前用VMWare的時候,就常常會覺得會頓頓的,不是很順。當然這只是個人意見,如果您是VMWare的擁護者,您當然也可以提出一大堆支持的理由。 不過這裡有一篇較為數據化的評比---放棄VMware改投VirtualBox的五個理由,您可以參考看看。
VirtualBox支援的作業系統
Windows系列:Windows 3.1,Windows 95,Windows 98,Windows me,Windows NT 4,Windows 2000,Windows XP,Windows 2003,Windows Vista,Windows 2008,Windows 7。
Linux 系列:Ubuntu,Redhat,Debian,openSUSE,Fedora,Gentoo。
FreeBSD,IBM OS/2,Solaris等。
VirtualBox 特色
- 檔案小速度快。
- 模擬另一部電腦,可安裝Windows、Linux等多種系統。
- 提供Guest Additions,可整合原來的作業系統,例如剪貼簿、滑鼠游標、鍵盤、分享資料夾、螢幕解析度調整、及無縫模式。
- Intel OSX平台的版本,可以使用Intel的VT-x 和AMD-V的CPU虛擬技術,讓Virtualbox在Mac的OSX下使用時,提升虛擬系統的速度。
- 可以在32位元的系統當中去運行64位元的虛擬系統。
- 支援 OpenGL的3D加速,但只是實驗性質,且未支援DirectX。(或許以後可以在虛擬主機內玩3d game吧)
- 支援Host Interfaces,直接可以使用橋接模式。
- 支援Windows、Macs、Linux、Solaris等版本。
- 支援正體中文。
軟體功能:(官方文件)
- 64-bit guests (on 64 bit hosts only)
- Remote Desktop Protocol (RDP) control of VM
- iSCSI support
- NCQ support for SATA raw disks and partitions
- USB support, with remote devices over RDP
- Snapshots
- Seamless mode
- Clipboard
- Shared folders
- Special drivers and utilities to facilitate switching between systems
- Command line interaction (in addition to the GUI)
- Public API (Java, Python, SOAP, XPCOM) to control VM configuration and execution
- Remote display (useful for headless host machines)
- Nested paging for AMD-V
- VMware Virtual Machine Disk Format (VMDK) support - allows VirtualBox to use a disk image created in VMware
- Microsoft VHD support
VirtualBox 2.1.4
開始安裝VirtualBox並建立虛擬主機
這裡示範的是以VirtualBox在Windows XP下安裝一個同樣是Windows XP的虛擬系統,實體電腦名稱為"home-03",虛擬電腦名稱為"home-04"。 (VirtualBox支援Windows、Macs、Linux、Solaris等版本,也可以在這些版本安裝不同作業系統的虛擬機器。)
下載VirtualBox並執行安裝程式,下圖的「VirtualBox USB Support」及「VirtualBox Networking」與網路及USB有關,兩者最好都要安裝。
在安裝VirtualBox的過程中,如果出現與Windows XP不相容的畫面,一律選擇「繼續安裝」。
安裝完成後,選「新增」,新增一部虛擬機器。
自訂虛擬機器名稱,並選擇虛擬機器要執行的作業系統,在本例中,請選擇Microsoft Windows 及Windows XP。
設定虛擬機器的記憶體大小,當然是多多益善,但不能影響實體電腦的運作,如果您的實體電腦有2G,至少給個512M,如果1G至少給個256M。(要跑虛擬主機,實體主機的配備要好一點,記憶體也要多一點,跑起來會比較順)
這裡設定Virtualbox虛擬機器的硬碟,第一次使用先選擇「新增」,根據我找到的資料,據說Virtualbox也可以讀VMWare的檔案,如果你有VMWare的虛擬作業系統的檔案,也可以使用,或是以前曾建立過VirtualBox的虛擬硬碟,可以選擇「現有的」,從清單去挑取一個。
勾選"Boot Hard Disk"設為開機硬碟。
若上一步驟選擇「新增」,這裡會讓你決定硬碟的類型,VirtualBox支援兩種型態的硬碟,一種是「動態擴展(Dynamicaly expanding storage)」,另一種是「固定大小(Fixed-size storage)」,前者一開始會配置較小的空間給虛擬主機當硬碟,但會隨著需要而增加空間,但最大不會超過你的設定值,比如你設定10GB,系統會隨著使用而改變大小,但最大就是10GB;後者則一開始就配置全部的硬碟空間。一般為節省空間考量,選前者即可。
設定虛擬主機的硬碟大小及位置,右邊的小方框可以選擇虛擬硬碟之實體空間的存放位置。(如果您有兩顆實體硬碟,最好將它設定在與作業系統不同的硬碟,可以加快存取的效率)
在新增完成虛擬硬碟後,會回到先前的選取硬碟的畫面,接著依指示按"下一步",即可完成安裝。接下來執行VirtualBox,會先來到主畫面。因為目前安裝作業系統,大都是採用光碟安裝的方式,所以必須先設定供虛擬電腦使用的光碟機。您可以按下「設定值」,進行虛擬光碟機的設定(詳情請看下文「 VirtualBox的各項設定」之教學)。
如果在上圖中,您未先按下「設定值」來設定VirtualBox。那你這台虛擬電腦,是無法使用光碟機的。因為虛擬電腦新增完成以後,就像您買一台新電腦一樣,裡面是空的,無任何作業系統,當然也無法開機了,所以必須先以設定值來設定一台光碟機,第一次開機,必須以光碟機來開機。
VirtualBox的各項設定
新增完一部虛擬主機後,您可選擇某一部虛擬主機,按「啟動」來開機。但在這之前,最好先進行一些必要設定,如光碟、網路等等,這些設定可以協助您更方便的使用這台虛擬電腦。
在VirtualBox的主畫面,選擇某一部虛擬主機,按下「設定值」,請留意,虛擬主機必須在關機狀態才可以更改設定值,如果您是直接關閉VirtualBox的虛擬電腦,也就是按右上角的「X」來關閉,然後選擇「儲存機器狀態」,那是不能進行設定的。
一般設定→基本
首先看到的是一般的基本設定,包含作業系統,記憶體大小的變更,以及啟動3d加速功能(OpenGL)。
一般設定→進階由上而下分別是:
- 設定開機順序:點擊左邊藍色的小方框,並將你要加入開機的項目打勾,並且以右方的上下箭頭移動順序。
- 啟用acpi電源管理。
- Shared Clipboard:VirtualBox所管理虛擬主機與實體電腦之間,可以互傳剪貼資料,也就是您可以在實體電腦複製資料,然後在VirtualBox所管理的虛擬主機貼上資料,反之亦然。一般會選擇雙向,讓「複製」與「貼上」的資料可互通。 (本功能需安裝guest additions客戶端附加工具)
- Snapshot Folder:VirtualBox儲存Snapshot的位置(Snapshop請參閱下面說明)。
硬碟設定
VirtualBox的虛擬硬碟,實際上就是在實體電腦上的一個檔案,在實體的Windows XP系統內,它的副檔名為vdi,在前面建立Windows XP虛擬機器的步驟裡面,我們已經建立了一個開機用的硬碟,但如果您需要增加一新硬碟,就可以在這裡執行新增硬碟的程序,當然您也可以移去先前曾建立的虛擬硬碟。如果已沒有可用的虛擬硬碟,可開啟Virtual Media Manager,建立或加上一個新的。
光碟設定
VirtualBox支援以ISO光碟映像檔模擬的光碟機,現在很多作業系統,都是直接提供ISO檔讓人下載,像LINUX或WINDOWS 7的測試版,有這樣的功能,根本不必燒成光碟,直接拿來模擬,就可以開機並安裝新系統了。
當然,您也可以選擇主端的實體光碟機。選「主端光碟機」時,若「Enable Passthrough」打勾,可以讓你的虛擬主機直接存取實體電腦的光碟機,這樣可以完全控制光碟並執行燒錄功能(但不支援燒錄音樂CD)。
網路設定
VirtualBox網路設定的步驟如下:
- 啟用網路卡
- 選擇網卡型號,VirtualBox中最多可以為虛擬機設置4塊網卡,網卡型號有AMD PCNet PCI II ,AMD PCNet FAST III (預設) ,Intel PRO/1000 MT Desktop ,Intel PRO/1000 T Server 。
- 選擇網路附掛方式
- 選擇NAT模式,虛擬主機透過實體主機上網,本身沒有對外的獨立ip且不能使用網路的芳鄰。
- 選擇主端介面(Host Interface)是透過橋接的模式,有自己的獨立ip且可以使用網路的芳鄰。
USB安裝
到目前為止的安裝測試都非常順利,但安裝usb就踢到鐵板了。
先看看正常的安裝步驟,先打開usb設定,「啟用usb控制器」打勾,並且在「enable usb 2.0 controller」打勾以支援usb 2.0的裝置。
接下來看看「USB裝置篩選器」,之所以稱為篩選器(filter),是因為實體主機與虛擬主機不能同時擁有usb裝置的控制權。所以VirtualBox必須要在實體主機之前先一步攔截到usb的設備,才能在虛擬主機使用該設備。
在這裡您要把想在虛擬主機使用的設備名稱加進來,VirtualBox才可以依據所加入的usb名稱,篩選過濾出給虛擬主機使用的usb裝置。
功能說明如下:
- Add Empty Filter:這個項目將會加入一個空白的篩選器,作用是攔截所有的usb設備,全部提供給Virtualbox的虛擬主機使用。
- Add Filter Form Device:會選擇目前的usb裝置加到篩選器內。
- Edit Filter:編輯篩選器內容。
- Remove Filter:移除一個篩選器。
下圖示範的是使用以左鍵點選「Add Filter Form Device」,這時會出現目前實體電腦所連接的所有USB裝置,我加入一個「Smart Card Reader」,選定後,可以看到這個項目已出現在VirtualBox的USB裝置篩選器的列表內。
usb設備加入篩選器後,啟動虛擬的Windows XP主機,插入usb裝置,實體的Windows XP主機會自動找到並安裝「VirtualBox USB」的新硬體。
如下圖在Windows 工具列下方的usb圖示上按右鍵,再點選某一裝置,理論上就可以在虛擬的Windows XP主機啟用該usb設備。
但實際上在啟用usb裝置時,經常會出現如下的錯誤畫面。
而且同一個sd/mmc讀卡機,每次插入時都會找到一個新的,且每個的序號都不一樣。
測試了四個usb裝置,sd讀卡機、usb數位電視盒、2.5吋隨身碟及晶片卡讀卡機。晶片卡讀卡機及數位電視盒,可以正常使用。sd讀卡機、2.5吋隨身碟,VirtualBox偶而可以抓到,但大部分時間都有問題,測試期間還發生usb滑鼠死當的情況。而且每次插入一個裝置,VirtualBox都要安裝一次"VirtualBox USB"的driver,讓人不勝其煩。後來只好放棄,只好把隨身碟掛在實體主機,利用網路分享來存取。出現問題的都是儲存裝置,是否VirtualBox對儲存裝置的支援不佳?
分享資料夾
如果你在網路設定採用的是NAT模式,那代表VirtualBox無法讓你使用網路的芳鄰,解決的方法,就是你必須設定分享資料夾--VirtualBox分享資料夾的功能,可以將實體主機的資料夾映射到虛擬主機內,成為一個磁碟機,方便資料共享。
在實體主機建立一個d:\share的資料夾,依上圖設定,加入一個分享資料夾,然後在啟動虛擬主機,在dos視窗內輸入:
net use x: \\vboxsvr\share
(x:是你要映射的磁碟機,「vboxsvr」是固定不變的,而「share」則是你在上面設置的分享名稱「Folder Name」)
這樣子您的虛擬主機,會多出一個代號為X的磁碟機,存取X磁碟,就等同於對實體主機的D:\share作存取,達到資料分享的效果。
安裝音效卡
安裝音效卡很簡單,沒什麼問題,將音效卡啟用,並選好音效驅動程式及音效控制器即可。
遠端顯示
RDP 全名 Remote Desktop Protocol 是 Windows 遠端桌面所使用的通訊方式,而 VirtualBox 也用它來提供遠端控制虛擬主機,只要將「遠端顯示」選項啟用即可。
軟碟機及序列埠
目前的軟體比較少用到了,只要將之啟用即可。
Guest additions(客戶端功能)
虛擬主機內的作業系統安裝完成後,還要安裝「Guest additions」,這是VirtualBox客戶機的增強功能,VirtualBox的很多功能,例如虛擬主機與實體主機的資料夾共享 、共享剪切簿(Shared clipboard)等,都必須在安裝「Guest additions」,客戶端附加功能之後才可以實現。
「Guest additions」的功能如下:
無縫模式(seamless windows)
VirtualBox可以把虛擬主機與實體主機的視窗,完全整合在一起,但目前只支援用在Windows的虛擬系統上。當啟動虛擬主機後,按下「右Ctrl+L」,子系統和主系統就整合在一起了。再按一次則分開。
下圖可見到實體主機(home-03)與虛擬主機(home-04)的Windows視窗共存在同一個桌面上,但實際上是虛擬主機的Windows桌面被隱藏起來,只留下開始功能表和工作列。 剛開始操作時覺得不太習慣,不過用久了就覺得好多了。
更好的顯示效果
當安裝完「Guest additions」後,只要以滑鼠左鍵拖曳虛擬主機視窗,改變視窗大小,就可以改變解析度 。比在螢幕選項去更改800X600,1024X768還方便,且更具彈性。
共享資料夾
虛擬主機安裝「Guest additions」以後,才可以與實體主機可共享文件夾。
共享剪切簿(Shared clipboard)
「Guest additions」,讓實體與虛擬主機「複製」與「貼上」的資料可互通。
整合滑鼠
不必再按右Ctrl了來脫離虛擬主機的視窗。
虛擬機與主機時間同步(Time synchronization)
Guest additions安裝方法
在光碟設定中,以iso模式載入下列路徑的映像檔
C:\Program Files\Sun\xVM VirtualBox VBoxGuestAdditions.iso
啟動虛擬主機,在光碟所在磁碟機的根目錄內,找到「VBOXGuestAdditions.exe」並且執行,安裝完畢後,重新啟動虛擬機。
或者在啟動虛擬主機的狀態下,在上方功能表選「裝置」→「安裝客端額外功能」。
製作快照(Snapshot)
VirtualBox的Snapshot功能有點像ghost或trueimage,或是windows xp的還原點。它可以在虛擬主機中儲存當時的狀態,以後若是虛擬機器狀態改變或系統損毀,使用者可以將以前的狀態讀取回來。不過付出的代價就是巨大的硬碟空間。
VirutalBox開始製作Snapshot很快,只要幾秒鐘就好了。不過以後在操作系統時,新增加的內容都會加到virtualbox自動產生的vdi檔內,就像{64a0af07-22fa-4d58-8ac5-8b6472479b05}.vdi這樣的檔案。
製作方式很簡單,只要在VirtualBox的主畫面選取「快照」頁面,按下「快照」按鈕或選取某個快照按左鍵,點「拍下快照」,馬上就製作好了。它的快照是階層式的,每個快照下面,可以再製作快照。
還原快照時,選擇某一快照,點選「還原目前的快照」,但它的還原功能,只能還原上一層,不能跨階層。
Snapshot預設存放的資料夾為windows系統磁碟內的「\Documents and Settings\使用者帳號\.VirtualBox\Machines\windows xp\Snapshots」資料夾,您可以透過「設定值」→「一般」→「進階」→「Snapshot Folder」,去更改。
小結
- VirtualBox開機速度相當快,幾乎比實體機還快,拉動虛擬主機視窗,畫面解析度也會立即變動更新。無縫模式(Seamless windows)完美的整合實體機,幾乎感覺不到是在操作一台虛擬電腦。
- 另外似乎無法在虛擬機,使用Windows xp的休眠功能,但實際上只要直接關掉VirtualBox的虛擬電腦,再次啟動時,也是從上次的狀態繼續,與休眠功能是一樣的。
- 舊版的網路在安裝橋接模式時, 必須在dos的命令列先執行「VBoxManage createhostif 」。
但在2.1.0已改進,不用如此麻煩了。剛開始安裝時,因為找到的教學文都是舊版本的,依照舊模式建立,會出現如下錯誤:
0%...FAILED
[!] Full error info present: true , basic error info present: true
[!] Result Code = E_FAIL (0x80004005) - Unspecified error............
正當腦袋發燒,不知如何解決時,終於找到原因了......原來這個指令已廢除不用了,只是他們忘了把它移掉,差點昏倒。
(That command is now obsolete. We forgot to remove it. The entire host interface networking has been changed. See the manual.)
這裡特別提出來,是希望其他人別再踏進這個小陷阱。 - 另外如果您未安裝「Guest Addition」客戶端附加功能,您必須使用Host key(預設為右ctrl)來作實體主機與虛擬主機的脫離與切換。
- 這裡再列出一些常用的快速鍵:
-
- Host+F 全螢幕模式切換
- Host+L 無縫模式切換
- Host+Del 模擬按下Ctrl+Alt+Del
- Host+S 拍系統快照
我用VirtualBox最大的問題在於使用usb隨身碟,在網路上也找不到相關資料。如果有網友有相關使用經驗,非常希望能發表一下看法或是如何解決相關問題。不過瑕不掩瑜,VirtualBox的很多優點仍值得推薦。
參考來源
VirtualBox指南(企鵝幫魚,魚幫兔)
軟體試用達人必備工具 - VirtualBox 虛擬多個作業系統完全攻略(色胚子部落)
[教學] 如何使用VirtualBox(1)基本安裝篇(Liuawei's Weblog)