解决WSL ext4.vhdx文件过大的问题

概述

在使用 WSL2 时,主机操作系统的磁盘空间可能会逐渐被挤压,尤其是在上传大文件或生成大量数据后。即使删除了 WSL 上的数据,PC 的磁盘空间也不会立即被释放。本操作手册将指导您如何通过一系列步骤来释放 WSL2 占用的磁盘空间。

注意事项
  • • 操作前请备份 WSL 环境,以防万一。
  • • 操作过程中可能会遇到风险,请谨慎操作。
  • • 请确保您了解每一步的操作,并在实施前进行充分的研究。
备份 WSL 环境

在执行任何操作之前,建议备份您的 WSL 环境。有多种方法可以备份 WSL 环境,请参考相关文章确保您能够进行至少一次备份。

实施步骤
  1. 1. 检查磁盘空间 打开 PowerShell 并检查当前磁盘空间使用情况。
    PS C:\Users\myname> wsl
    > df
  2. 2. 停止 WSL 停止在操作系统上运行的所有 WSL 实例。
    > exit
    PS C:\Users\myname> wsl --shutdown
  3. 3. 找到 ext4.vhdx 文件 找到并记录 ext4.vhdx 文件的位置。该文件通常位于以下路径:
    C:\Users\myname\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu20.04onWindows_79rhkp1fndgsc\LocalState
    请根据您的实际环境找到该文件。
  4. 4. 尝试 optimize-vhd 尝试使用 Optimize-VHD 命令优化 ext4.vhdx 文件。
    PS C:\Users\myname> Optimize-VHD -Path .\ext4.vhdx -Mode full
    如果该命令不存在,请继续下一步。
  5. 5. 使用 diskpart 使用 diskpart 工具来压缩 ext4.vhdx 文件。
    PS C:\Users\myname> diskpart
    在 diskpart 窗口中执行以下命令:
    select vdisk file="C:\Users\myname\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu20.04onWindows_79rhkp1fndgsc\LocalState\ext4.vhdx"
    attach vdisk readonly
    compact vdisk
    detach vdisk
    exit
  6. 6. 检查结果 重新检查磁盘空间使用情况,确认是否成功释放了磁盘空间。
    PS C:\Users\myname> wsl
    > df
附加信息
  • • 在使用上述方法进行压缩之前,建议在 WSL 中运行以下命令来清理 Docker 相关的垃圾,以增加压缩量:
    docker container prune
    docker image prune
    docker volume prune
    docker builder prune
    docker system prune
总结

通过上述步骤,您可以有效地释放 WSL2 占用的磁盘空间。请确保在操作前备份您的环境,并谨慎执行每一步。希望这些信息对您有所帮助!

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

problc

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值