问题描述
解决方法
一、关闭WSL2中的linux distributions
# 关闭 WSL2 中的 linux distributions
wsl --shutdown
# 运行管理计算机的驱动器的 DiskPart 命令
diskpart
二、找到要压缩的虚拟磁盘文件
- 虚拟磁盘文件一般在
- C:\Users{username}\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu_79rhkp1fndgsc\LocalState\ext4.vhdx
- 然后再第一步打开的diskpart窗口中
# 选择虚拟磁盘文件
select vdisk file="C:\Users\admin\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu_79rhkp1fndgsc\LocalState\ext4.vhdx"
# 以只读方式进行
attach vdisk readonly
# 压缩虚拟磁盘文件
compact vdisk
# 分离虚拟磁盘文件
detach vdisk
![解决过程](https://img-blog.csdnimg.cn/direct/7400c17ef31143c59251a08057fc5dfb.png)
三、分析原因
- Windows 会自动创建 vhdx 后缀的虚拟磁盘文件作为WSL2的存储。
- 一般下载文件内存不够时, vhdx 后缀的虚拟磁盘文件会自动扩容
- 但是扩容后,却不会自动缩容,所以需要手动压缩,才能释放磁盘空间
- 这个 vhdx 后缀的虚拟磁盘文件特点是可以自动扩容,但是一般不会自动缩容。