資訊科技

縮小 Ubuntu VMware 虛擬機器占用的實體硬碟空間

VMware Workstation (以下簡稱 VMware) 虛擬機器使用一段時間之後,不可避免地會遇到硬碟檔案越長越大,最終導致實體硬碟空間不足的窘境。

VMware 針對 Microsoft Windows 虛擬機器, 很貼心的提供了 Clean Up Disks 功能選單,一鍵式的操作讓最喜歡當傻瓜的 shortie ,輕輕鬆鬆就可以完成釋放實體硬碟空間的工作,使消失的硬碟空間再次出現。

最近 shortie 工作上用了近三年的的 Ubuntu 虛擬機器,剛好也碰到快要把實體硬碟吃光的情形,想說依樣畫葫蘆,只要找到 Clean Up Disks 選單就可搞定。孰不知在 VMware 功能選單中, 卻遍尋不著 Clean Up Disks 這功能項目,這才驚覺原來 VMware 並未在 Linux 類型的虛擬機器中,提供這個選單, 內心不禁嘀咕著:難道開發團隊不曉得保持操作介面設計的一致性很重要嗎!? 🙂

開玩笑歸開玩笑,其實沒有一鍵式的功能選單可用,也不是甚麼太嚴重的事,只要按照下面的步驟照樣可以完成工作。

  1. 檔案系統重組 (線上重組即可,無須卸載任何設備)
    $ sudo e4defrag /
  2. 未使用空間填入空白資料, 好讓 VMware 知道那些空間是可以被回收的
    $ dd if=/dev/zero of=blankfreespace bs=1M; sync; rm blankfreespace
  3. 執行釋放實體硬碟空間的操作
    $ sudo vmware-toolbox-cmd disk shrinkonly

上述做法在 VMware Workstation 14 、 Ubuntu 18.04 經過 shortie 自己的實證,可達成釋放實體硬碟空間之目的。

發佈留言

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料