首先使用下面命令列出所有正在运行虚拟机,要先把你的虚拟机给运行起来方便寻找
视频教程

sudo virsh list

sudo virsh edit 此处替换对应虚拟机名称

<driver .../> 行中添加 discard='unmap',修改后应该是这样:

然后ctrl+x键入y保存出现报错键入i强行保存即可

然后开机即可

Linux

进入虚拟机的SSH输入

sudo fstrim -av

这条命令会扫描并回收所有已挂载且支持TRIM的文件系统上的空闲空间

Windows

确保已安装virtio驱动https://help.fnnas.com/articles/v1/virtual-machine/install.md
搜索找到碎片整理和优化驱动器工具

然后确保媒体类型识别正确,点击优化即可

常见问题

执行完毕后仍然没有回收空间

检查虚拟机是否存在快照,如果存在快照必须删除快照后重新到系统中执行对应的操作

虚拟机系统会定时释放空间吗

Linux和Windows都会自动运行释放空间,Linux可以使用下面命令

systemctl status fstrim.timer

确认服务是否正在运行,正在运行的话就不用管,内核会定时释放空间,Windows默认是每天自动运行。