虛擬機器軟體可以在一台電腦上類比出來若干台PC,每台PC可以運行單獨的作業系統而互不干擾,可以實現一台電腦“同時”運行幾個作業系統,還可以將這幾個作業系統連成一個網路。
比如下圖中,是在一台電腦上安裝了Win2000 server,再在Win2000 server上安裝虛擬機器軟體VMWare,利用VMWare類比出來3台PC,在這3台PC上分別運行RedHat7.2、Win98和Solaris 8 for x86作業系統。包括Win2000在內,這4個作業系統同時在一台電腦上運行,互不干擾,並且同在一個區域網路內。
目前PC上的虛擬機器軟體有下述兩個:
VMWare
Virtual PC for Windows
本文主要介紹VMWare。
Win2000 + VMWare運行RedHat7.2、Win98 & Solaris 8的截圖
使用虛擬機器的好處
================
1、如果要在一台電腦上裝多個作業系統,不用虛擬機器的話,有兩個辦法:一是裝多個硬碟,每個硬碟裝一個作業系統。這個方法比較昂貴。二是在一個硬碟上裝多個作業系統。這個方法不夠安全,因為硬碟MBR是作業系統的必爭之地,搞不好會幾個作業系統同歸於盡。而使用虛擬機器軟體既省錢又安全,對想學linux和unix的朋友來說很方便。
2、虛擬機器可以在一台機器上同時運行幾個作業系統,是SOHO開發一族的必備工具。有了虛擬機器,在家裡只需要一台電腦,或出差時只帶著一個筆記本,就可以調試C/S、B/S的程式了。
3、利用虛擬機器可以進行軟體測試。
使用虛擬機器的硬體要求
====================
虛擬機器畢竟是將兩台以上的電腦的任務集中在一台電腦上,所以對硬體的要求比較高,主要是CPU、硬碟和記憶體。目前的電腦CPU多數是PIII以上,硬碟都是幾十G,這樣的配置已經完全能滿足要求。關鍵是記憶體。記憶體的需求等於多個作業系統需求的總和。現在的記憶體已經很便宜,也不成為問題了。
虛擬機器的運行環境
================
VMWare可運行在Windows(WinNT以上)和Linux作業系統上。
Virtaul PC可運行在Windows(Win98以上)和MacOS上。
運行虛擬機器軟體的作業系統叫Host OS,在虛擬機器裡啟動並執行作業系統叫Guest OS。
VMWare的使用經驗
================
1、支援的Guest OS:
VMWare支援如下Guest OS:
MS-DOS、Win3.1、Win9x/Me、WinNT、Win2000、WinXP、Win.Net、Linux、FreeBSD、NetWare6、Solaris x86。
不支援的Guest OS:
BeOS、IBM OS/2 and OS/2 Warp、Minix、QNX、SCO Unix、UnixWare。
2、VMWare類比的硬體
VMWare類比出來的硬體包括:主板、記憶體、硬碟(IDE和SCSI)、DVD/CD-ROM、軟碟機、網卡、音效卡、串口、並口和USB口。VMWare沒有類比出顯卡。VMWare為每一種Guest OS提供一個叫做vmware-tools的軟體包,來增強Guest OS的顯示和滑鼠功能。
3、VMWare類比出來的硬體是固定型號的,與Host OS的實際硬體無關。比如,在一台機器裡用VMWare安裝了linux,可以把整個linux copy到其他有VMWare的機器裡運行,不必再安裝。
4、VMWare可以使用ISO檔案作為光碟片。比如從網上下載的linux ISO檔案,不需刻盤,可直接安裝。
5、VMWare為Guest OS的運行提供三種選項:
(1) persistent
Guest OS運行中所做的任何操作都即時存檔
(2) undoable
Guest OS shutdown時會問是否對所做的操作存檔
(3) nonpersistend
Guest OS運行中所做的任何操作,在shutdown後等於沒做過。
如果要進行軟體測試或實驗,這是非常有用的功能,可以盡情地玩,把Guest OS搞死無限次都不怕。
6、VMWare的兩種網路設定方式:
(1)Bridged方式
用這種方式,Guest OS的IP可設定成與Host OS在同一網段,Guest OS相當於網路內的一台獨立的機器,網路內其他機器可訪問Guest OS,Guest OS也可訪問網路內其他機器,當然與Host OS的雙向訪問也不成問題。
(2)NAT方式
這種方式也可以實現Host OS與Guest OS的雙向訪問。但網路內其他機器不能訪問Guest OS,Guest OS可通過Host OS用NAT協議訪問網路內其他機器。
NAT方式的IP地址配置方法:Guest OS先用DHCP自動獲得IP地址,Host OS裡的VMWare services會為Guest OS分配一個IP,之後如果想每次啟動都用固定IP的話,在Guest OS裡直接設定這個IP即可。
一般來說,Bridged方式最方便好用。但如果Host OS是win2000而網線沒插,網路很可能不可用(大部分用PCI網卡的機器都如此),此時就只能用NAT方式。
7、VMWare用Host OS的檔案來類比Guest OS的硬碟。一個Guest OS的硬碟對應一個或多個Host OS裡的檔案。如果往Guest OS裡寫入100M的檔案,Host OS裡虛擬硬碟檔案就增大100M。在Guest OS裡刪除這100M檔案,Host OS裡虛擬硬碟檔案不會減小。下次往Guest OS裡寫檔案的時候,這部分空間可繼續利用。vmware-tools裡還提供shrink功能可以立刻釋放不用的空間,減小Host OS裡虛擬硬碟檔案的容量。
為了減少硬碟空間的浪費,避免經常使用shrink,更好的做法,是在Guest OS裡掛上另外一個硬碟存放不常用的檔案,比如安裝檔案之類,用完之後可以把這塊硬碟重新分區格式化。
8、vmware-tools
vmware-tools增強Guest OS的顯示和滑鼠功能。vmware-tools內建在VMWare裡。安裝Guest OS的時候,VMWare的狀態列裡就有一句話提示vmware-tools沒裝,按一下滑鼠這句話即可安裝vmware-tools。也可通過菜單安裝:settings -> vmware tools install
如果Guest OS是windows,vmware-tools會自動安裝,如果是linux,安裝後,vmware-tools的安裝檔案會被mount到光碟機中(是虛擬方式,此時光碟機並沒有光碟片),進入光碟機的mount point,把檔案copy出來安裝即可。
對某些Guest OS,比如Solaris x86、NetBSD 1.x、OpenBSD 2.x和Caldera OpenLinux 1.3等,VMWare並沒有提供vmware-tools。
9、在VMWare裡裝linux,不要用圖形模式安裝,要用文字模式設定。 安裝到配置Xserver時,選預設配置就可以,安裝出錯也不用理會。安裝完後,先別起X,先安裝好vmware-tools後,再啟動X。
10、如果不使用音效卡,不要在VMWare裡加入音效卡,音效卡對效能有一點點影響。
11、如果不常使用光碟機,可以取消光碟機的connect at power on選項,在需要用的時候,光碟機可以隨時“熱插拔”。
VMWare與Virtual PC的主要區別
============================
Virtual PC是與vmware類似的虛擬機器軟體。兩者的主要區別如下:
1、VMWare沒有類比顯卡,要通過vmware-tools才能用上高解析度和真彩色,否則只能用VGA。而Virtual PC類比了一個比較通用的顯卡:S3 Trio 32/64(4M)。從這一點看,Virtual PC比VMWare通用,但顯示效能不如VMWare。
2、因為Virtual PC類比了顯卡,所以通用性很強。connectix.com網站聲稱,目前新版的Virtual PC 5支援所有基於x86的作業系統。
3、Virtual PC的網際網路共用方式與VMWare不同。VMWare是通過類比網卡實現網際網路共用的,而Virtual PC是通過在現有網卡上綁定Virtual PC emulated switch服務實現網際網路共用的。對於win2000/xp等作業系統,如果網線沒插或沒有網卡的時候,要安裝Microsoft的loopback軟網卡,才能實現網際網路共用。在Virtual PC的global setting裡,當有網卡並插好網線的時候,將Virtual switch設成現實的網卡;當沒有網卡或網線沒插的時候,將Virtual switch設成ms loopback軟網卡,即可實現網際網路共用。
ms loopback軟網卡的安裝方法,以win2000為例:
控制台 - > 添加/刪除硬體 -> 添加/排除裝置故障 -> 添加新裝置 -> 否,從列表選擇 -> 網卡 -> 製造商選microsoft -> microsoft loopback adapter。
Win2000 + Virtual PC運行unixware7的截圖1
Win2000 + Virtual PC運行unixware7的截圖2