当前位置: 首页 > news >正文

wsl磁盘占用只增不减怎么搞

比如wsl安装了podman,随着镜像越来越多,wsl虚拟机也越来越大,删除容器镜像都没用,因为系统给wsl分配的磁盘大小不会缩小,要手动压缩

第一步:准备工作

1. 保存当前工作

在开始前,确保保存所有重要文件,因为 WSL 关闭会终止所有正在运行的程序。

2. 查看当前 WSL 状态

 
wsl --list --verbose
 
 
确认你的 WSL 发行版名称(如 Ubuntu-22.04)。

第二步:停止 WSL

完全停止所有 WSL 实例

 
wsl --shutdown
 
 
验证是否已停止
 
wsl --list --verbose
 
 
应该显示所有发行版状态为 Stopped

第三步:清理 Podman 和系统空间

1. 重新启动 WSL 进行清理

 
# 启动默认发行版
wsl# 在 WSL 中执行清理
 
 

2. 清理 Podman 空间

 
# 停止所有容器
sudo podman stop $(sudo podman ps -aq) 2>/dev/null || true# 删除所有容器
sudo podman rm $(sudo podman ps -aq) 2>/dev/null || true# 删除所有镜像
sudo podman rmi -f $(sudo podman images -aq) 2>/dev/null || true# 彻底清理系统
sudo podman system prune -a -f --volumes
 
 

3. 清理系统缓存

 
# 清理包管理器缓存
sudo apt autoremove -y
sudo apt clean# 清理日志文件
sudo journalctl --vacuum-time=1d# 清理临时文件
sudo rm -rf /tmp/*
sudo rm -rf /var/tmp/*
 
 

4. 退出 WSL

 
exit
 
 

第四步:压缩 WSL 虚拟硬盘(关键步骤)

1. 再次确保 WSL 完全停止

 
wsl --shutdown
 
 

2. 查找 WSL 虚拟硬盘文件

 
# 查找 .vhdx 文件
Get-ChildItem "C:\Users\$env:USERNAME\AppData\Local\Packages" -Recurse -Include "*.vhdx" | Select-Object FullName,Length
 
 
通常路径类似:
C:\Users\你的用户名\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu22.04LTS_79rhkp1fndgsc\LocalState\ext4.vhdx

3. 使用 diskpart 压缩虚拟硬盘

 
# 以管理员身份运行 PowerShell,然后执行:
diskpart
 
 
在 diskpart 提示符下依次执行:
 
# 选择虚拟硬盘文件(替换为你的实际路径)
select vdisk file="C:\Users\你的用户名\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu22.04LTS_79rhkp1fndgsc\LocalState\ext4.vhdx"# 连接到虚拟硬盘
attach vdisk readonly# 压缩虚拟硬盘
compact vdisk# 断开连接
detach vdisk# 退出 diskpart
exit
 
 

第五步:重启 WSL

1. 正常启动 WSL

 
# 启动默认发行版
wsl# 或者启动特定发行版
wsl -d Ubuntu-22.04
 
 

2. 验证环境正常

在 WSL 中执行:
 
# 检查系统状态
df -h
podman --version
podman images
podman ps -a
 
 

3. 测试 Podman 功能

 
# 拉取测试镜像
podman pull hello-world# 运行测试
podman run --rm hello-world
 
 

4. 退出 WSL

 
exit
 
 

第六步:在 PowerShell 中验证

回到 PowerShell,测试 Podman 别名是否正常:
 
podman --version
podman images
podman run --rm hello-world
 
 

完整的一键脚本(可选)

如果你需要频繁执行这些操作,可以创建 PowerShell 脚本:
 
# 保存为 Clean-Podman.ps1
Write-Host "正在停止 WSL..." -ForegroundColor Yellow
wsl --shutdownWrite-Host "正在清理 Podman 空间..." -ForegroundColor Yellow
wsl sudo podman system prune -a -f --volumes
wsl sudo apt autoremove -y
wsl sudo apt cleanWrite-Host "正在压缩虚拟硬盘..." -ForegroundColor Yellow
# 需要手动执行 diskpart 部分Write-Host "正在重启 WSL..." -ForegroundColor Green
wsl podman --version
wsl podman imagesWrite-Host "清理完成!" -ForegroundColor Green
 
 

常见问题解决

如果 WSL 无法启动:

 
# 重启 WSL 服务
wsl --shutdown
net stop LxssManager
net start LxssManager# 或者重启计算机
Restart-Computer
 
 

如果 diskpart 压缩失败:

  • 确保 WSL 完全关闭:wsl --shutdown
  • 检查是否有其他程序占用了 WSL 文件
  • 尝试以管理员身份运行 PowerShell

验证磁盘空间变化

操作前后对比 C 盘空间:
 
# 查看 C 盘空间
Get-PSDrive C | Format-Table Name,Used,Free# 查看 WSL 文件大小
Get-ChildItem "C:\Users\$env:USERNAME\AppData\Local\Packages" -Recurse -Include "*.vhdx" | Select-Object Name,@{Name="SizeGB";Expression={[math]::Round($_.Length/1GB,2)}}
 
 

总结

  1. 停止 WSLwsl --shutdown
  2. 清理空间:在 WSL 中执行清理命令
  3. 压缩磁盘:使用 diskpart压缩虚拟硬盘
  4. 重启验证wsl启动,测试功能正常
这样就能有效减少 C 盘占用并保持系统清洁。
http://www.jsqmd.com/news/366724/

相关文章:

  • 在 IntelliJ IDEA 中初始化 Java 类并设置所有属性的几种快捷方法:
  • 2026AI大模型学习路线,只看这一篇就够了!大模型应用开发就这么简单!收藏这一篇就够了
  • libero PolarFire soc SPI-DirectC 实战 dp_G5M_set_mode
  • [无线通信基础-36]:通信系统中的噪声种类与表达方式,通俗易懂
  • 2025-2026大模型落地指南:收藏!小白/程序员必看AI Agent核心算法与生态进展
  • 2026年GEO服务商深度评测:市场格局、技术路径与科学选型指南 - 品牌策略主理人
  • 2026 佛山英语雅思培训教育机构推荐;雅思培训课程中心权威口碑榜单 - 苏木2025
  • 成都全包装修|成都里林设计一站式全包服务 全案落地 + 先装后付,省心装出高品质家 - 推荐官
  • 汽车仿真系统如何用wangEditor控件导入CAE分析报告截图?
  • 成都装修设计工作室|成都里林设计 本土深耕以设计赋能,全维服务打造理想人居 - 推荐官
  • CSDN大模型学习指南:小白程序员必备的8大原则,助你轻松掌握AI产品开发精髓!(收藏版)
  • AI工作流实战:从原型到代码,1小时搞定两周前端开发!程序员/产品小白必看
  • 2026 中山英语雅思培训教育机构推荐,雅思培训课程中心权威口碑榜单 - 苏木2025
  • 基于ASP.NET的大文件上传控件是否支持跨平台断点续传?
  • Ubuntu下采用Qemu模拟器模拟开发板进行嵌入式开发
  • Avalonia.Controls.DataGrid自动合并列 - 生命体验之kevin
  • 成都二手房装修|成都里林设计专属翻新方案 先装修后付款解锁蓉城家装新体验 - 推荐官
  • 成都半包装修|里林设计专属半包服务 主材自主选 + 精工辅材造,高性价比装出理想家 - 推荐官
  • 2026 佛山英语雅思培训教育机构推荐:雅思培训课程中心权威口碑榜单 - 苏木2025
  • 电机NVH计算,及其适合新入门的uu,按照以前SCI二区的流程做的(图二),联系模型对照自己做...
  • 不会用Gemini的硕博生,注定要吃更多苦。一文汇总Gemini 3.0 Flash科研技巧
  • 不安全通信实现安全传输-stunnel
  • DeepSeek总结的PostgreSQL 数组的隐藏成本
  • ue 隐藏内衣教程
  • 电影推荐系统 | Python Django 协同过滤算法 Echarts可视化开发 大数据 人工智能 deepseek 毕业设计源码(建议收藏)✅
  • Deepseek+RD-Agent 自动化模型生成及进化
  • Vue插槽(Slot)全分类解析
  • 成都旧房翻新|成都里林设计一站式翻新服务 先装修后付款让蓉城业主更安心 - 推荐官
  • 2026年全国男士假发品牌哪家专业?多家品牌实力拆解与场景适配指南 - 深度智识库
  • 2026 保定英语雅思培训教育机构推荐/雅思培训课程中心权威口碑榜单 - 苏木2025