WSL2如何释放占用的磁盘

问题描述

在WSL2中使用Ubuntu,时间久了WSL文件所占空间逐渐增大,在Ubuntu中删除了无用的文件和docker镜像后,WSL文件并没有自动收缩大小。

环境描述

1、WSL:2.2.4.0
2、操作系统:Win11

解决方案:

通过DiskPart压缩磁盘。DiskPart,是一个命令行程序,可以管理自操作系统版本中的磁盘、分区或卷。windows 2000以上版本均带有该工具。

第一步: 关闭WSL2

执行wsl --shutdown关闭WSL2.

第二步:打开diskpart程序

使用快捷键window+r,打开运行窗口,输入diskpart,然后点击OK。
在这里插入图片描述
在这里插入图片描述

第三步 :压缩文件

找到ext4.vhdx文件所在路径,比如我的文件路径就是"E:\WSL-Linux\ext4.vhdx,然后执行下述指令进行文件压缩。

DISKPART> select vdisk file="E:\WSL-Linux\ext4.vhdx"

DiskPart 已成功选择虚拟磁盘文件。

DISKPART> compact vdisk

 100 百分比已完成

DiskPart 已成功压缩虚拟磁盘文件。

完整执行完上述步骤,WSL2文件空间就得到释放。

### 如何解决 Win10 WSL 占用大量磁盘空间 #### 使用 DiskPart 压缩磁盘并优化存储分配 对于 Windows Subsystem for Linux (WSL) 特别是在使用 Docker 或其他大型应用时,可能会遇到磁盘空间被过度占用的情况。一种解决方案是利用 `DiskPart` 工具来管理和调整磁盘分区大小。 关闭正在运行的 WSL 实例有助于减少不必要的文件锁定,从而更好地执行清理工作[^1]: ```powershell wsl --shutdown ``` 接着可以通过 PowerShell 执行如下命令进入 DiskPart 并尝试缩小 VHD 文件尺寸: ```powershell diskpart select vdisk file="C:\Users\YourUsername\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows...\LocalState\ext4.vhdx" compact vdisk exit ``` 上述方法能够有效回收未使用的簇块,进而释放物理硬盘上的可用容量。 #### 清理不再需要的数据 除了直接作用于虚拟磁盘外,还可以考虑删除那些已经无用的历史快照、缓存以及其他临时数据。这通常涉及到访问特定发行版内部路径下的 `/var/lib/docker` 和其他可能累积垃圾的地方。为了安全起见,在做任何更改前建议先备份重要资料。 另外,定期更新软件包列表以及移除旧版本也是保持系统精简的好习惯: ```bash sudo apt-get update && sudo apt-get upgrade -y sudo apt autoremove -y ``` 这些措施不仅帮助节省了宝贵的储存资源,同时也提高了整体性能表现[^2]。 #### 调整默认设置以防止未来膨胀 为了避免日后再次遭遇相同困扰,可适当修改某些配置参数控制日志记录级别或是启用压缩特性等手段预防潜在风险。例如编辑 `.wslconfig` 来设定内存限制和其他选项: ```ini [wsl2] memory=4GB # 设置最大 RAM 容量 processors=2 # 分配 CPU 核心数 swap=2GB # 启用交换区支持 ``` 保存此文件至用户目录 (`%USERPROFILE%\.wslconfig`) 下即可生效新的策略规则[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值