环境:Win10
/ VMware® Workstation 17 Pro
一.这个方法最省事但成效甚微
image.png借用官方文档中的说明:workstation-pro-17-user-guide .pdf
image.png
二.在虚拟机中利用命令来释放磁盘空间
需要删除快照等!!!
//搜索查看磁盘挂载点
sudo vmware-toolbox-cmd disk list
//对/分区所在的虚拟硬盘进行清理,/表示你的磁盘挂载点,可以从上一步list列表中取值,不清楚的用户可以直接执行
sudo /usr/bin/vmware-toolbox-cmd disk wipe /
sudo /usr/bin/vmware-toolbox-cmd disk shrink /
当进度条跑完之后,则会断开ssh连接,此时本地的终端则会自动开始收缩磁盘了.
可以使用以下脚本来收缩所有的挂载磁盘
#! /bin/bash
LOG_FILE=~/vmdiskshrink.log
DISK_LIST=$(sudo /usr/bin/vmware-toolbox-cmd disk list)
echo -e "will shrink disk: \n############\n${DISK_LIST}\n############" | tee ${LOG_FILE}
for mydisk in ${DISK_LIST}
do
if [ ! -d ${mydisk} ] ;then
continue
fi
read -t 10 -p "shrink ${mydisk} ?<Y/n>" myselect
if [ "${myselect,,}" = "n" ] ;then
continue
fi
echo "start wipe ${mydisk}" | tee -a ${LOG_FILE}
sudo /usr/bin/vmware-toolbox-cmd disk wipe ${mydisk}
echo "start shrink ${mydisk}" | tee -a ${LOG_FILE}
sudo /usr/bin/vmware-toolbox-cmd disk shrink ${mydisk}
done
可选的方法
在虚拟机软件上使用自带的compact可视化工具操作,按下面的步骤操作即可。
1 在linux系统里,把虚拟磁盘没用的空间全部填成zero,可以使用如下命令:
dd if=/dev/zero of=/zero.file bs=2M #也可以加入count参数,其值可为剩余空间大小/2M
rm -rf /zero.file
2 关闭虚拟机、选中虚拟机,右键-->settings,选择磁盘后,选择Utilities下的compact,则会立即对磁盘进行收缩
三. VMware自带的清理磁盘
image.png这个方法是VMware自带,具有普适性,对快照等文件不造成影响。
步骤如下:
1、将要清理的虚拟机关机。
2、右键该虚拟机——>管理——>清理磁盘,VMware会自动提示可清理的磁盘大小,点击确定等待清理完毕即可。
可能有的虚拟机没有这个按钮,不要担心下面有个等价的办法:
image.png进入vmware的安装目录找到vmware-vdiskmanager.exe, 运行命令即可精简空间。vmdk文件有很多个,只需选一个不带”-s0“结尾的文件即可
命了如下:
./vmware-vdiskmanager -k "xxx.vmdk的文件路径"
或
.\vmware-vdiskmanager.exe -k "xxx.vmdk的文件路径"
image.png
image.png
网友评论