大家在玩虛擬機時,經常會遇到這種情況,在虛擬機上刪除(rm -rf ...)大文件時,真正的物理磁盤上對應的虛擬機文件沒有變小。如果你的物理磁盤不夠大,你的那個盤符可能就飄紅了。很多人再嘗試了很多方法後,依然沒有解決。有強迫症的人,可能就要重新安裝系統了.......
下面把我在VMware裏安裝的CentOS7.7上反覆驗證、測試有效的方法總結到下面,希望可以幫助上你們。
方法1:dd + vmware-vdiskmanager.exe
第一步:在虛擬機上操作以下兩行命令
[root@m01 ~]# dd if=/dev/zero of=/zero.bak bs=2048K
dd: error writing ‘/zero.bak’: No space left on device
22287+0 records in
22286+0 records out
46737129472 bytes (47 GB) copied, 27.9014 s, 1.7 GB/s
[root@m01 /]# rm -rf /zero.bak
解析:dd命令用於讀取、轉換並輸出數據。
if參數用於指定輸入路徑,即源文件
of參數用於指定輸出路徑,即目錄文件
bs參數用於指定輸入/輸出的塊大小
將/dev/zero文件輸出到根下,生成/zero.bak文件。然後再刪除根下的/zero.bak文件
第二步:關閉虛擬機後,打開cmd運行相關命令
--1. 使用cd命令進入VMware的安裝目錄下
C:\Users\Michael>cd "C:\Program Files (x86)\VMware\VMware Workstation"
路徑參考如下:
--2. 使用安裝目錄下的vmware-vdiskmanager.exe命令 對虛擬機的vmdk文件進行整理
....> vmware-vdiskmanager.exe -k "D:\Virtual Machines\CentOS_7.7_64_m01\CentOS_7.7_64_m01.vmdk"
注意:會出現以下進度條
Shrink: 100% done.
Shrink completed successfully.
路徑參考如下:(注意,是名字最短的vmdk文件哦)
參考建議:如果你感覺進入VMware的安裝目錄尋找命令比較麻煩,你可以配置以下VMware的path路徑。
方法2:使用VMware Tools的相關命令
前提是你已經安裝了Vmware-Tools增強工具,可以直接使用以下命令:
[root@m01 ~]# vmware-toolbox-cmd disk list
[root@m01 ~]# vmware-toolbox-cmd disk shrink /
Progress: 7 [=> ] <==當這個進度條執行完畢,就可以咯。請注意權限問題
如有疑問,敬請留意