Virtual PC(下面簡稱VPC)本非微軟所生,是屬于Connectix公司的產(chǎn)品。Connectix和VMware是虛擬機市場中的主要競爭者,前者的產(chǎn)品VPC是基于Windows和Macintosh的,而后者的產(chǎn)品則是基于Windows和Linux。
微軟于2003年2月19日收購了這項技術,對其進行改進,并在2003年12月2日發(fā)布了Virtual PC 2004(內部版本為5.3,Connectix發(fā)布的VPC最后版本為5.2)
正如蘋果公司看到微軟收購了VPC拍手叫好一樣,VPC 2004及其后續(xù)版本的優(yōu)勢是顯而易見的:由于出身豪門,系微軟產(chǎn)品,其穩(wěn)定性和與Windows的兼容性都是其他運行于Windows上的虛擬機無法比擬的。這也說明了針對Macintosh的VPC在運行PC程序上性能更優(yōu)越了,無疑是給了蘋果電腦的用戶一個福音。
我們建議在安裝VPC 2004后就立即安裝SP1。如果還沒有安裝SP1的朋友,請先關閉所有VPC虛擬機,如果有保存狀態(tài)的虛擬機也必須關閉,再安裝SP1。
運行VPC 2004后,我們可以看到一個非常簡單的操作界面,只有三個菜單和四個按鈕——和VMware選項繁多的界面形成鮮明對比,這個就是VPC的控制臺。(圖1)
單擊“Next”,可以看到有三個選項:第一個為創(chuàng)建一個新的虛擬機,此時是一步一步進行設置的;第二個為使用默認設置去創(chuàng)建虛擬機,此時直接生成一個vmc虛擬機配置文件,可以稍后選擇“Settings”進行配置;第三個為添加一個現(xiàn)存的虛擬機到VPC控制臺中。
這里我們選擇第一項,單擊“Next”,設置好vmc虛擬機文件的存放位置及文件名。接下來選擇虛擬機安裝的操作系統(tǒng)版本。VPC會根據(jù)您上一步給出的vmc文件名來猜測您要建立的虛擬機系統(tǒng)類型,當然你可以自己手動選擇。這里羅列了所有微軟的操作系統(tǒng)。如果要安裝的是Linux或Unix,那么可以選擇Other,這并不影響虛擬機的性能。但這里需要大家注意的是,VPC 2004的虛擬機無法安裝Macintosh操作系統(tǒng)。選擇好后,就是設置虛擬機的內存大小,VPC一般會根據(jù)你前面選擇的操作系統(tǒng)來設置虛擬機的內存大小,選擇第一項為使用VPC設置的建議值;如果要自行設置內存大小,可以選擇第二項并進行調整。然后是設置虛擬機的硬盤,選擇第一項即指定一個已創(chuàng)建好的vhd虛擬磁盤為虛擬機的硬盤,第二項為創(chuàng)建一個新的虛擬磁盤,此時VPC將默認創(chuàng)建一個“動態(tài)增長盤”,而沒有提供更多的設置。這里我們選擇第二項,設置好虛擬磁盤的存放路徑和名稱后,一臺虛擬機就創(chuàng)建出來了,它將被自動添加到VPC控制臺中。
如果按照前面創(chuàng)造磁盤,是按照默認值創(chuàng)建的。如果要對磁盤進行高級設置,就要用“虛擬磁盤向導”來創(chuàng)建了。選擇“Virtual Disk”,單擊“Next”,這時VPC讓我們選擇是“創(chuàng)建一個新的虛擬磁盤”還是“編輯一個現(xiàn)存的虛擬磁盤”,選擇第一項。選擇創(chuàng)建虛擬硬盤,并設置好vhd虛擬磁盤文件存放路徑和名稱后,接下來就是選擇虛擬磁盤的類型。VPC的虛擬磁盤一共有四種類型,如圖2所示。
Dynamically expanding:動態(tài)增長盤。此種磁盤創(chuàng)建后開始vhd虛擬磁盤文件很小,隨著虛擬機系統(tǒng)的安裝,文件的添加,該vhd文件將逐步增大,但沒有限制值。這種磁盤微軟推薦的類型。
Fixed size:固定大小盤。此種磁盤創(chuàng)建時將指定一個大小,創(chuàng)建后vhd文件就立即占用了那么大的空間。由于開始時就設置了固定大小,所以以后如果虛擬磁盤的數(shù)據(jù)到達固定大小的話,將無法再寫入,這個非常類似于我們現(xiàn)實生活中的硬盤^_^如果硬盤空間不充裕的朋友,建議不要使用此種磁盤。動態(tài)增長盤和固定大小盤是可以相互轉換的,要進行轉換時就選擇前面的“編輯一個現(xiàn)存的虛擬磁盤”即可。
Differencing:差分磁盤。差分磁盤可以說是VPC的精髓所在,許多人哪怕就只沖著這一點功能也使用VPC,所以VMware為了保住客戶,在VMware 5.0中也模仿了該技術(其實VMware中有不少功能就是模仿VPC的)。此種磁盤創(chuàng)建時將指定一個母盤(母盤必須是動態(tài)增長盤或固定大小盤),創(chuàng)建后的差分磁盤是基于母盤的,它只保存與母盤不同的數(shù)據(jù)。例如我們有一臺安裝有Windows XP的虛擬機,現(xiàn)在想要另外一臺Windows XP SP1和SP2的虛擬機,并且同時開啟,組成一個工作組,怎么辦?有些朋友可能立即想到直接把Windows XP的虛擬機的vhd文件復制三個,然后創(chuàng)建另外兩臺虛擬機,指定虛擬機的硬盤后分別安裝SP1和SP2。這個是最簡單的方法,但是這樣確浪費了很多空間。尤其是安裝有Windows XP虛擬機,其虛擬磁盤文件可能大于1G。有了差分磁盤,我們可以這樣做:創(chuàng)建兩個差分磁盤,其母盤都指定為Windows XP的虛擬磁盤。然后同樣創(chuàng)建另外兩臺虛擬機,指定虛擬機的硬盤后分別安裝SP1和SP2,這時那兩個差分磁盤大小分別為一個SP1和SP2的大小而已,而其他相同的內容都直接讀取母盤中的數(shù)據(jù),為我們節(jié)省了很多寶貴的空間。這種技術應用非常廣泛,尤其是用于模擬域中多臺不同角色的服務器環(huán)境。我們只需要創(chuàng)建一臺安裝有Windows Server的虛擬機,利用差分磁盤就可以創(chuàng)建出Domain Controller、File Server、DNS Server等多臺服務器。這里需要大家注意的是,使用了差分磁盤后,母盤就就不能寫入任何數(shù)據(jù)了,否則很可能會導致所有基于該母盤的差分磁盤全部無法使用。
Linked to a hard disk:連接到物理硬盤的磁盤。此種磁盤就是把一個物理硬盤當成虛擬磁盤。不過除非特殊需要,否則不建議大家采用該類型的磁盤。就像VMware一樣,把物理硬盤當成虛擬磁盤有可能出現(xiàn)一些故障,并損壞到物理硬盤。而采用前面三種,把一個文件當成一個磁盤,就不會對物理硬盤造成損害。(圖二所示,“Linked to a hard disk”選項無法完全顯示,這個是一個BUG)
老鳥支招:平日朋友、同事之間經(jīng)常共享安裝完系統(tǒng)的虛擬機硬盤文件,這樣可免于安裝系統(tǒng)的麻煩。而這就決定了vhd文件大小不能過大,所以通常是對vhd文件進行壓縮。(和母盤一樣,只能是“動態(tài)增長盤”或“固定大小盤”)壓縮的方法和順序是:在虛擬機系統(tǒng)中加載\Microsoft Virtual PC\Virtual Machine Additions中的Virtual Disk Precompactor.iso鏡像(安裝完SP1)虛擬機將自動進行磁盤的預壓縮,然后進行系統(tǒng)的適當減肥,并運行Windows自帶的“磁盤碎片整理”整理一下虛擬機中的硬盤(注意,這里和VMware有很大的區(qū)別,VMware的磁盤整理是專門的程序,而使用Windows自帶的“磁盤碎片整理”反而沒有作用)。最后退出虛擬機,在“虛擬磁盤向導”中選擇“編輯磁盤”——“壓縮磁盤”即可。
step3:虛擬機的相關設置
我們建立完虛擬機后,接下來就是安裝系統(tǒng)了。下面筆者將介紹一下安裝系統(tǒng)前后的一些設置和需要注意的地方。
雙擊便啟動選中的虛擬機。一般安裝虛擬機系統(tǒng)都是用ISO鏡像文件進行安裝的,所以我們在虛機的窗口中選擇“CD”——“Capture ISO Image”來加載ISO鏡像。如果要使用物理光驅,就選擇“Use physical drive”。如果要使用vfd軟盤鏡像來當啟動盤,那么就選擇“Floppy”——“Capture Floppy Disk Image”。(tips:我們可以在“虛擬磁盤向導”中創(chuàng)建vfd軟盤鏡像,然后加載到不同虛擬機上制作啟動盤,再用WinImage把軟盤鏡像寫入到軟盤上,這樣就可以得到多種系統(tǒng)的啟動盤啦)如果需要設置虛擬機的BIOS,那么可以在啟動時按Del鍵,這和真實電腦相同。虛擬機BIOS設置非常簡單,這里就不作介紹了。
而虛擬機窗口的Action菜單在日常應用中也經(jīng)常使用。(如圖3)第一項是使當前的虛擬機窗口全屏顯示,第二 項是向虛擬機發(fā)送Ctrl+Alt+Shift組合鍵,一般用快捷鍵右Alt+Del代替,這是因為如果按Ctrl+Alt+Shift就會調用宿主機的功能而非虛擬機。
我們在虛擬機中操作時可以發(fā)現(xiàn),鼠標指針被鎖定在虛擬機中而出不來了,這是因為沒有安裝Virtual Machine Additions的緣故,此時可以按右Alt進行釋放。Virtual Machine Additions是增加宿主機功能的程序,建議在安裝完虛擬機操作系統(tǒng)后就立即選擇“Action”——“Install or Update Virtual Machine Additions”進行安裝,下面是關于Virtual Machine Additions功能的介紹:
·鼠標指針可以在宿主機、虛擬機之間平滑移動,不需要按右Alt鍵
·宿主機與虛擬機之間支持拖拽
·宿主機與虛擬機可共用剪貼板
·宿主機與虛擬機之間時間同步
·宿主機與虛擬機之間文件夾共享
·虛擬機系統(tǒng)可以任意屏幕解析度
·提升虛擬機系統(tǒng)中磁盤性能,顯示卡性能。
下面簡單介紹一下虛擬機的設置。在VPC控制臺中選中需要設置的虛擬機,單擊“Settings”,可以看到虛擬機性能設置界面(圖4)VPC中允許我們給虛擬機指定最多三塊虛擬硬盤,而VMware只能指定一塊。與此同時,我們可以給虛擬機設置“Undo Disk”(撤消盤),用來保存平日對虛擬機系統(tǒng)的更改。如果要恢復虛擬硬盤以前的狀態(tài),那么直接刪除vud撤消盤文件即可。“Shared Folder”這一項是用來設置宿主機與虛擬機之間的共享文件夾,如前面所說,需要安裝了Virtual Machine Additions后才能使用該功能。
老鳥支招:我們平時使用VPC時需要充分利用好差分磁盤。我們一般創(chuàng)建“動態(tài)增長盤”或“固定大小盤”作為母盤并創(chuàng)建相應虛擬機,在安裝完系統(tǒng)后,母盤就不做修改了,所以應該在VPC中刪除該虛擬機以免以后啟動到。然后是創(chuàng)建基于母盤的差分磁盤,并創(chuàng)建相應的虛擬機,我們平時使用的最好都為差分磁盤的虛擬機,而母盤可以存放到統(tǒng)一目錄。此外,我們可以直接復制vhd磁盤文件和vmc虛擬機文件來實現(xiàn)快速創(chuàng)建多臺虛擬機系統(tǒng)。
三、Virtual PC網(wǎng)絡模式詳解
打開Virtual PC Console,從列表中選中一臺虛擬機,單擊右側的Settings按鈕,打開該虛擬機的圖形界面設置窗口(我們還可以在虛擬機關機時,直接編輯虛擬機對應的vmc文件來修改虛擬機的設置)。選擇Networking,在窗口右側中,Number of network adapters表示您要給虛擬系統(tǒng)安裝的網(wǎng)卡的個數(shù)。(如圖4所示)Virtual PC允許我們?yōu)樘摂M系統(tǒng)最多安裝四塊網(wǎng)卡,以便于組建虛擬機與虛擬機、虛擬機于宿主機等多個網(wǎng)絡,為搭建現(xiàn)實生活中的復雜網(wǎng)絡提供了實驗平臺。
下面為大家詳細介紹Virtual PC中的幾種不同的虛擬網(wǎng)絡模式:
·Local Only 模式
當Virtual PC中的各臺虛擬機系統(tǒng)均使用Local Only網(wǎng)絡連接模式時,虛擬機系統(tǒng)之間可以連通,虛擬機系統(tǒng)與宿主機系統(tǒng)之間無法連通,虛擬機系統(tǒng)也無法訪問Internet。
·Virtual Networking(物理網(wǎng)卡)模式
此種模式,列表中將出現(xiàn)宿主機系統(tǒng)中安裝的物理網(wǎng)卡的型號,比如筆者的物理網(wǎng)卡為Realtek RTL8139 /810x Family Fast Ethernet NIC。
使用相當于一臺連入物理網(wǎng)絡的真實計算機,與其他虛擬機系統(tǒng),宿主機系統(tǒng),與宿主機同一局域網(wǎng)的計算機以及Internet上的計算機均可連通。
·Shared Networking(NAT)模式
Shared Networking是最常用的一種網(wǎng)絡模式,此種模式只能被綁定在虛擬機系統(tǒng)的第一塊網(wǎng)卡(Adapter1)上。此時,Virtual PC扮演一臺DHCP服務器,它將為每臺虛擬機系統(tǒng)從192.168.131.0網(wǎng)段動態(tài)分配IP地址,每臺虛擬機系統(tǒng)將被分配一個192.168.0.1~192.168.0.253之間的IP地址。并且,虛擬機系統(tǒng)中需要設置為自動獲取IP地址及DNS服務器。需要注意的是:宿主機系統(tǒng)不得使用192.168.131.0網(wǎng)段中的IP地址,否則將產(chǎn)生沖突。
使用Shared Networking模式的虛擬機系統(tǒng)與外界通信時,將通過NAT(網(wǎng)絡地址轉換),與宿主機公用同一個IP地址。Share Networking 模式不支持入站端口映射,不支持虛擬機系統(tǒng)之間、宿主機與虛擬機系統(tǒng)之間通過任何端口的訪問,僅支持從虛擬機系統(tǒng)中通過 file&://IP/地址 格式訪問宿主機系統(tǒng)。當宿主機系統(tǒng)通過Modem撥號連接到Internet時,只有使用Share Networking模式,虛擬機系統(tǒng)才可以連接到Internet。
下面介紹一下讓Virtual PC上的虛擬機系統(tǒng)上網(wǎng)的幾種方法
1.Shared Networking(NAT)模式
如果宿主機通過ADSL撥號連接到Internet,需要在ADSL撥號連接上啟用ICS(Internet連接共享),并且在虛擬機系統(tǒng)中設置為自動獲取IP地址和DNS服務器,就可以使虛擬機系統(tǒng)上網(wǎng)了。
如果宿主機是通過局域網(wǎng)中的ICS服務器連接到Internet,這種情況,只要在虛擬機系統(tǒng)設置為自動獲取IP地址和DNS服務器講究可以使虛擬機系統(tǒng)上網(wǎng)了。
2.Virtual Networking(物理網(wǎng)卡)模式
如果宿主機通過ADSL撥號連接到Internet,方法同NAT模式,啟用ADSL撥號連接的ICS,在虛擬機系統(tǒng)中可以選擇自動獲取IP地址和DNS服務器也可以手動分配一個與宿主機的本地連接在同一網(wǎng)段的固定的IP地址。
如果宿主機通過局域網(wǎng)中ICS服務器,此時,宿主機系統(tǒng)就相當于局域網(wǎng)中等同于宿主機的一臺計算機。因此,虛擬機系統(tǒng)只需仿照宿主機系統(tǒng)上的IP地址進行設置,并避免與局域網(wǎng)中已有的計算機沖突即可。
Tips:宿主機未安裝物理網(wǎng)卡,如何與虛擬機連通?
如果宿主機上未安裝物理網(wǎng)卡,默認情況下是無法與虛擬機連通的。我們可以借助Windows 自帶的回環(huán)網(wǎng)卡來解決這個問題。
安裝回環(huán)網(wǎng)卡:單擊開始→控制面板→添加硬件,在添加硬件向導中添加 Microsoft 回環(huán)網(wǎng)卡。打開Microsoft 回環(huán)網(wǎng)卡屬性窗口,在“此連接使用下列項目”勾選 “Virtual Machine Network Services”,即將此項目與Microsoft回環(huán)網(wǎng)卡綁定。這樣,宿主機就正常和虛擬機連通了。
四,Virtual PC進階技巧與疑難解答
1.快速關閉Virtual PC并保存狀態(tài)
想要快速關閉多個處于運行狀態(tài)的虛擬機,按住鍵盤上的Ctrl鍵,單擊VPC Console面板右上角的紅叉,每臺虛擬機將自動保存當前狀態(tài)并關閉。
需要注意的是,使用此方法關閉Virtual PC以后,上次通過快速關閉的方式關閉的虛擬機會隨Virtual PC Console的啟動而同時啟動。
2.開啟磁盤緩存
默認情況下,VPC中運行非NT內核的系統(tǒng)如Windows 95/98/Me,磁盤性能沒有達到最佳狀態(tài),我們可以通過開啟主機的磁盤緩存功能來提升虛擬機的性能。我們可在命令行模式下定位到VPC的安裝路徑,\Microsoft Virtual PC,輸入"Virtual PC.exe" -usehostdiskcache來加載?;蛘撸oVirtual PC.exe創(chuàng)建一個快捷方式,右擊該快捷方式,切換到快捷方式標簽頁,在目標一欄中VPC的本地路徑引號之后添加 -usehostdiskcache。
3.讓VPC下的 Server 2003 發(fā)聲
VPC中安裝Windows Server 2003,默認情況下即使安裝了VPC自帶的Virtual Machine Addition,仍然無法驅動由VPC模擬的Sound Blaster 16聲卡。不過,我們可以借助Windows XP下的驅動程序來讓Windows Server2003下的聲卡發(fā)出聲音。
方法是:從Windows XP系統(tǒng)的 %systemroot%\Driver Cache\i386目錄下的Driver.cab文件中提取出wdma_ctl.inf and ctlsb16.sys 兩個文件,保存在虛擬機磁盤上。在Windows Server 2003虛擬機中,單擊開始|我的電腦|屬性|硬件|設備管理器,在帶有黃顏色問號的聲卡設備上單擊鼠標右鍵,選擇 升級驅動程序,并在隨后彈出的升級驅動程序向導中,選擇從從列表或指定位置安裝,然后定位到之前保存wdma_ctl.inf and ctlsb16.sys這兩個系統(tǒng)文件的位置即可。隨后,您只要按照提示,插入Windows XP的安裝光盤或者指定本地磁盤上Windows XP安裝光盤的鏡像路徑即可。復制文件完畢,重新啟動虛擬機中的系統(tǒng),Windows Server2003就可以發(fā)出聲音了。
注:驅動壓縮包Driver.cab還可以從Windows Xp安裝光盤的I386目錄中找到。
4.禁用右上角的紅叉
單擊虛擬機窗口右上角的紅叉可以快速關閉當前運行的虛擬機系統(tǒng),為避免誤操作關閉正在運行的虛擬機系統(tǒng),我們可以通過如下方法禁用虛擬機窗口右上角的紅叉。
用文本編輯器打開指定虛擬機對應的vmc文件,在<preferences>......</preferences>之間添加下面一段XML語句:
<?xml version="1.0" encoding="UTF-16"?>
<!-- Microsoft Virtual Machine Options and Settings -->
<preferences>
...
...
...
<command_line>
<override>
<disable_close type="boolean">true</disable_close>
</override>
</command_line>
</preferences>
5. 解決網(wǎng)卡MAC地址 00:00:00:00:00:00 的問題
啟動VPC時可能會遇到下面的錯誤提示:
The network adapter with address "00:00:00:00:00:00" of virtual machine "××××" failed to initialize because the address is a null address
若虛擬機的網(wǎng)卡選擇Shared Networking (NAT)模式,不會出現(xiàn)上述錯誤提示。
若啟動虛擬機中的系統(tǒng)時,使用NAT模式,等到虛擬機進入Windows環(huán)境后,再切換到宿主機的真實網(wǎng)卡,也不會出現(xiàn)錯誤提示。
解決的辦法如下:
用文本編輯工具打開該虛擬機系統(tǒng)(GustOS)的.vmc配置文件,檢查在 <ethernet_adapter> …… </ethernet_adapter>之間是否缺少以下的語句:<ethernet_card_address type="bytes">0003FF3D61EE</ethernet_card_address>,其中0003FF3D61EE是虛擬機網(wǎng)卡的MAC地址。之所以產(chǎn)生虛擬機報告網(wǎng)卡MAC地址為空的原因由于,物理網(wǎng)卡綁定的服務沒有發(fā)出相應的信號,告訴虛擬機配置模塊相應的網(wǎng)卡參數(shù)。
您可以手動添加上面含有MAC地址的語句,需要注意的是,若多臺虛擬機系統(tǒng)需要同時啟動,它們的網(wǎng)卡MAC地址不能相同(快速創(chuàng)建多臺虛擬機的技巧可參照前文提及的技巧來操作)。下面列出正常的vmc文件中,描述網(wǎng)卡的XML語句:
<ethernet_adapter>
<controller_count type="integer">1</controller_count>
<ethernet_controller id="0">
<virtual_network>
<id type="bytes">50DAA75C8E3211D98213A7056BC0F033</id>
<name type="string">Realtek RTL8139/810x Family Fast Ethernet NIC</name>
</virtual_network>
<ethernet_card_address type="bytes">0003FF3761EE</ethernet_card_address>
</ethernet_controller>
</ethernet_adapter>
Tips:vmc文件(虛擬機配置文件)符合標準的XML語法格式,您可以根據(jù)XML語法對vmc文件進行自定義修改。但強烈建議您在對vmc文件進行修改之前進行備份,以免修改出錯,否則Virtual PC將無法識別被修改的虛擬機系統(tǒng)。
6. 為什么我在虛擬機里安裝、運行操作系統(tǒng)的時候效率很低,運行起來非常的慢?
在給虛擬機安裝系統(tǒng)之前,建議修改Virtual PC性能選項,以便將宿主機的系統(tǒng)資源更多的分配給虛擬機。方法如下:打開Virtual PC Console,單擊File→Options,單擊Performance選項,(如圖5所示)
窗口右側列出了有關虛擬機性能的幾個選項:
CPU Time選項
All running virtual machines get equal CPU time:所有運行虛擬機獲得相同的CPU資源。
Allocate more CPU time to the virtual machine in the active window:為處于活動窗口中的虛擬機分配更多的CPU資源。
Pause virtual machines in inactive windows:暫停處于不活動窗口中的虛擬機,選擇此單選框以后,出于后臺運行的虛擬機窗口,將處于暫停狀態(tài)。
When Virtual PC is running in the background(當Virtual PC在后臺運行時)
Give processes on the host operating system priority:將進程優(yōu)先權交給宿主機系統(tǒng) ,即宿主機獲得更多的系統(tǒng)資源。
Run Virtual PC at maximum speed:全速運行Virtual PC,即將宿主機的可用資源都用來運行Virtual PC。
如果想要讓Virtual PC中的系統(tǒng)運行的更加流暢,建議分別選擇All running virtual machines get equal CPU time和Run Virtual PC at maximum speed,即最上方和最下方的選項。否則,在虛擬機中安裝一個Windows XP可能將會花去您3.4個小時的時間。
除此之外,在虛擬機里安裝好系統(tǒng)之后,立即安裝Virtual Machine Additions會大大提升虛擬機系統(tǒng)的磁盤、圖形顯示等各方面性能。