VMware虚拟机瘦身教程
一、Windows 虚拟机 一键清理脚本(管理员运行)
新建文本文档,粘贴代码,后缀改 .bat,右键以管理员身份运行
batch
@echo off
chcp 65001
echo ========== 开始Windows虚拟机空间清理 ==========
:: 关闭休眠,删除休眠文件
powercfg /h off
:: 磁盘清理系统垃圾
cleanmgr /sageset:1 & cleanmgr /sagerun:1
:: 删除临时文件
del /f /s /q C:\Windows\Temp\*
del /f /s /q C:\Users\%username%\AppData\Local\Temp\*
:: 清空更新缓存
net stop wuauserv
del /f /s /q C:\Windows\SoftwareDistribution\Download\*
net start wuauserv
:: 压缩VMware虚拟磁盘
"C:\Program Files\VMware\VMware Tools\vmware-toolbox-cmd.exe" disk shrink C:
echo ========== 清理完成,已释放空闲空间 ==========
pause
二、Linux(Ubuntu/Debian)虚拟机 一键清理脚本
1. 一键复制终端执行(最简版)
bash
sudo apt clean && sudo apt autoremove -y && sudo apt autoclean && \
sudo rm -rf /tmp/* ~/.cache/* /var/log/*.old /var/tmp/* && \
rm -rf ~/.vmware/drag_and_drop/* && \
sudo vmware-toolbox-cmd disk shrink /
- 保存为脚本长期使用
新建 clean_vm.sh
bash
#!/bin/bash
echo "===== Linux 虚拟机空间清理开始 ====="
# 清理 apt 缓存、无用依赖
sudo apt clean
sudo apt autoclean
sudo apt autoremove -y
# 清理系统临时文件、日志
sudo rm -rf /tmp/*
sudo rm -rf /var/tmp/*
sudo rm -rf /var/log/*.gz /var/log/*.old
# 清理用户缓存、VMware拖拽缓存
rm -rf ~/.cache/*
rm -rf ~/.vmware/drag_and_drop/*
# VMware 收缩磁盘,释放空白块
sudo vmware-toolbox-cmd disk shrink /
echo "===== 清理+磁盘收缩完成 ====="
授权+运行:
bash
chmod +x clean_vm.sh
sudo ./clean_vm.sh
三、关键前置要求(必须满足,否则收缩无效)
- 虚拟机完全关机删除全部快照,再开机执行脚本
- 必须安装完整 VMware Tools / open-vm-tools
- 磁盘为「动态扩容磁盘」,才能 shrink 回收空间
四、宿主机(Windows)额外减负小技巧
- 关闭虚拟机挂起文件:虚拟机设置 → 选项 → 禁用「挂起」
- 定期删除虚拟机目录下:
vmware.log日志文件 - 不用的虚拟机直接彻底删除,避免后台占空间
需要我再给你一份「防止虚拟机后续自动膨胀」的永久配置设置吗?改一次就不用频繁清理。