《Linux系统》虚拟机删除文件后,磁盘文件所占物理空间没有变小的解决方式

大家在玩虚拟机时,经常会遇到这种情况,在虚拟机上删除(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 [=>         ]      <==当这个进度条执行完毕,就可以咯。请注意权限问题

如有疑问,敬请留意
 

 

发布了55 篇原创文章 · 获赞 35 · 访问量 2万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章