2008年12月21日 星期日

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等版本。
  • 支援正體中文。

軟體功能:(官方文件)

  1. 64-bit guests (on 64 bit hosts only)
  2. Remote Desktop Protocol (RDP) control of VM
  3. iSCSI support
  4. NCQ support for SATA raw disks and partitions
  5. USB support, with remote devices over RDP
  6. Snapshots
  7. Seamless mode
  8. Clipboard
  9. Shared folders
  10. Special drivers and utilities to facilitate switching between systems
  11. Command line interaction (in addition to the GUI)
  12. Public API (Java, Python, SOAP, XPCOM) to control VM configuration and execution
  13. Remote display (useful for headless host machines)
  14. Nested paging for AMD-V
  15. VMware Virtual Machine Disk Format (VMDK) support - allows VirtualBox to use a disk image created in VMware
  16. 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的各項設定」之教學)



完成光碟機設定之後,VirtualBox就開始進行虛擬電腦的開機動作,於是我們便可以開始安裝虛擬的Windows XP系統了,這一部分就像在真實主機安裝Windows XP一模一樣。

VirtualBox的各項設定

新增完一部虛擬主機後,您可選擇某一部虛擬主機,按「啟動」來開機。但在這之前,最好先進行一些必要設定,如光碟、網路等等,這些設定可以協助您更方便的使用這台虛擬電腦。


在VirtualBox的主畫面,選擇某一部虛擬主機,按下「設定值」,請留意,虛擬主機必須在關機狀態才可以更改設定值,如果您是直接關閉VirtualBox的虛擬電腦,也就是按右上角的「X」來關閉,然後選擇「儲存機器狀態」,那是不能進行設定的。


一般設定→基本

首先看到的是一般的基本設定,包含作業系統,記憶體大小的變更,以及啟動3d加速功能(OpenGL)。




一般設定→進階
由上而下分別是:
  1. 設定開機順序:點擊左邊藍色的小方框,並將你要加入開機的項目打勾,並且以右方的上下箭頭移動順序。
  2. 啟用acpi電源管理。
  3. Shared Clipboard:VirtualBox所管理虛擬主機與實體電腦之間,可以互傳剪貼資料,也就是您可以在實體電腦複製資料,然後在VirtualBox所管理的虛擬主機貼上資料,反之亦然。一般會選擇雙向,讓「複製」與「貼上」的資料可互通。 (本功能需安裝guest additions客戶端附加工具)
  4. Snapshot Folder:VirtualBox儲存Snapshot的位置(Snapshop請參閱下面說明)。






硬碟設定

VirtualBox的虛擬硬碟,實際上就是在實體電腦上的一個檔案,在實體的Windows XP系統內,它的副檔名為vdi,在前面建立Windows XP虛擬機器的步驟裡面,我們已經建立了一個開機用的硬碟,但如果您需要增加一新硬碟,就可以在這裡執行新增硬碟的程序,當然您也可以移去先前曾建立的虛擬硬碟。如果已沒有可用的虛擬硬碟,可開啟Virtual Media Manager,建立或加上一個新的。




光碟設定

VirtualBox支援以ISO光碟映像檔模擬的光碟機,現在很多作業系統,都是直接提供ISO檔讓人下載,像LINUX或WINDOWS 7的測試版,有這樣的功能,根本不必燒成光碟,直接拿來模擬,就可以開機並安裝新系統了。

當然,您也可以選擇主端的實體光碟機。選「主端光碟機」時,若「Enable Passthrough」打勾,可以讓你的虛擬主機直接存取實體電腦的光碟機,這樣可以完全控制光碟並執行燒錄功能(但不支援燒錄音樂CD)。




網路設定

VirtualBox網路設定的步驟如下:

  1. 啟用網路卡
  2. 選擇網卡型號,VirtualBox中最多可以為虛擬機設置4塊網卡,網卡型號有AMD PCNet PCI II ,AMD PCNet FAST III (預設) ,Intel PRO/1000 MT Desktop ,Intel PRO/1000 T Server 。
  3. 選擇網路附掛方式
    • 選擇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)

  © Blogger templates Psi by Ourblogtemplates.com 2008

Back to TOP