Thursday, August 14, 2008

如何擴充 VMware 虛擬磁碟及作業系統容量

企業為了節省成本及空間,在內部系統的規劃上漸漸的都以虛擬機器(VM)取代
在一部裝滿 8G RAM 的 PC 上,可以規劃出 5-6 VM 使用,的確可以替企業省不少成本

在 VM 的領域上,又以 VMWare 最為有名。而其下的 VMWare Server 因是免費的,許多企業便運用 VMWare Server 的免費及便利性,規劃內部系統的建置及測試。

尤其是在測試方面,因可以規劃成獨立的空間作測試,將來在備份及還原時只要一個檔便可解決不用作 Ghost 或是重新安裝的繁雜動作

在建立一個 VM 時,VMWare 預設的空間是 8GB,所以一般建立時都會直接用此預設值但在特殊情況下 (如模擬正式環境的機器),8GB 的空間就顯得不足

在此情況下,有兩種作法
1. 再加上一個虛擬硬碟,但此方法無法避免原來的虛擬硬碟爆掉
2. 將原來的虛擬硬碟容量加大

在此就介紹如何加大原來的虛擬硬碟及作業系統的容量 (以 Windows 2003 server 為例 )

step 1. 複製原來的虛擬硬碟成為第二顆硬碟,並掛到原來的 VM 中。複製的檔名如下
c:\Virtual Machines\Windows Server 2003 Standard Edition\Windows Server 2003 Standard Edition_1.vmdk
PS : 檔名不能有中文名稱,因為 VMWare 不支援

step 2. 利用 VMWare 提供的工具先將第二顆虛擬硬碟加大
以下為原來 VM 的 size 為 8GB






執行以下指令後 (以我的環境為例)
C:\Program Files\VMware\VMware Server>vmware-vdiskmanager.exe -x 16Gb "c:\Virtual Machines\Windows Server 2003 Standard Edition\Windows Server 2003 Standard Edition_1.vmdk"

可以透過 DOS box 看見虛擬硬碟容量逐漸加大中







執行完後,可以發現虛擬硬碟容量已經變大了








要如此做的原因是因為若要將硬碟上的作業系統容量作擴充但還要保留原來的內容,則必須將此硬碟掛為 D 磁碟,因為 C 磁碟是開機磁碟,作業系統會鎖住無法作立即擴充

step 3. 將 VM 開機並將原來的 D 碟 8GB 容量擴充為 16GB 容量
因為掛上 VM 後,D碟 (我的虛擬硬碟為 F) 的邏輯磁碟只有 8 GB,若要擴充為 16GB,則可以藉由 Windows 2003 內建的工具 Diskpart 完成。原來邏輯的只有 8GB





進入 VM 後,透過 dos command 指令將 D 碟擴充為 16GB



















step 4.
接下來就需要一點小技巧。為了將原來的 C 碟系統擴充為 16GB,又因為 D 碟是複製 C 碟又可以開機,那要如何做呢? 沒錯,將 VM 關機後,移除原來的虛擬磁碟,再將 _1.vmdk 改為原來虛擬磁碟的檔名,然後再將 VM 重新開機後,可以看到,C 碟可開機且容量變為 16GB








要把虛擬硬碟容量改為多少,端看實際運用。一般而言,8GB 應該足夠,若需加大便可以用此技巧加大虛擬硬碟容量並無需再重新安裝 Windows 2003

3 comments:

Anonymous said...

搶頭香

Doug said...

感恩喔

Ray Liu said...

太棒了, 真是個好方法。