1. 程式人生 > >VMWare 建立的虛擬機器磁碟預分配改為自增長

VMWare 建立的虛擬機器磁碟預分配改為自增長

        使用VMware虛擬機器安裝 Ubuntu系統後,最近覺得之前預分配的空間有點大,於是希望減少一點。由於當時選擇分配磁碟時希望能將虛擬機器效能提高一點選擇了立即分配空間,導致現在無法縮減磁碟。由於不想重灌Ubuntu,希望能再到一個合理可行的解決辦法。在網上搜了許久,感覺看到的解決辦法都講得不那麼能讓人一目瞭然。所以想整理一下,簡化解決辦法。

        現在的使用辦法是使用修改磁碟型別的方法,即將預分配空間的磁碟轉換為可自增長的磁碟。具體如下:

(1)將表示VMare虛擬機器的磁碟檔案複製到VMare主資料夾(VMare的安裝目錄)。例如,如果虛擬機器的名稱為“Ubuntu16.04 LTS”,則VMware虛擬機器磁碟檔案可能稱為“Ubuntu 16.04 LTS.vmdk”。

(2)開啟宿主機中的命令列或終端(Linux中的命令列),以執行虛擬磁碟管理軟體。在Windows宿主機中,更改目錄為你安裝Workstation軟體所在的目錄。預設的安裝目錄為C:\Program Files\VMware\VMware Workstation。記住該地址備用。我的是D:\VMware Workstation12。

(3)開啟CMD視窗(我用的是Windows系統)進入上面需要記住的地址(D:\VMware Workstation12)。然後使用VMware磁碟轉換命令,命令的格式為:vmware-vdiskmanager [選項];

在此處應該採用的是:

vmware-vdiskmanager -r sourceDisk.vmdk -t 0 targetDisk.vmdk

上述命令,將轉換一個預分配虛擬磁碟sourceDisk.vmdk為可增長虛擬磁碟targetDisk.vmdk。

如果沒有將表示VMare虛擬機器的磁碟檔案複製到VMare主資料夾,也可以直接按照磁碟檔案的絕對地址應用上述命令。

我用的是:

vmware-vdiskmanager -r "D:\Ubuntu 64\Ubuntu 16.04 LTS.vmdk" -t 0 "D:\Ubuntu 64\Ubuntu 16.04.vmdk"

我用的絕對地址,且表示虛擬機器的磁碟檔案位置為D:\Ubuntu 64。

(4)等待一段時間,當CMD提示轉換100%完成時可關閉CMD視窗。

(5)開啟VMware Workstation,將上述磁碟生成的虛擬機器磁碟檔案新增到虛擬機器,並將不想要的磁碟刪除。

(6)將本地中多餘的虛擬機器磁碟檔案,注意不要刪除剛生成的虛擬機器磁碟檔案。

(7)開啟虛擬機器,是不是發現功能和之前一樣且佔用的記憶體少了許多(前提是本身虛擬機器磁碟檔案使用量沒有達到預設定的值)。

此時整個世界又變輕鬆了。

其實如果當初新建虛擬機器時不是選擇立即分配記憶體也就不會有這樣的事情,立即分配記憶體也提供不了多大的效能提升,目前是沒感覺到有什麼提升。不過這也是一種學習過程吧。

上述方法為本人親測可用,未能保證上述方法的普適性。如果不適用可以多試試其他方法,實在不行就重灌吧。

其他可參考的資料地址:

其中第一個是將如何將可自增長的磁碟磁碟轉換為預分配空間的磁碟;第二個資料說明了磁碟型別轉換命令的具體含義,以及其他選項的含義。

注意:應該先關閉虛擬機器再執行上述操作。