概述
在使用 WSL2 时,主机操作系统的磁盘空间可能会逐渐被挤压,尤其是在上传大文件或生成大量数据后。即使删除了 WSL 上的数据,PC 的磁盘空间也不会立即被释放。本操作手册将指导您如何通过一系列步骤来释放 WSL2 占用的磁盘空间。
注意事项
- • 操作前请备份 WSL 环境,以防万一。
- • 操作过程中可能会遇到风险,请谨慎操作。
- • 请确保您了解每一步的操作,并在实施前进行充分的研究。
备份 WSL 环境
在执行任何操作之前,建议备份您的 WSL 环境。有多种方法可以备份 WSL 环境,请参考相关文章确保您能够进行至少一次备份。
实施步骤
1. 检查磁盘空间 打开 PowerShell 并检查当前磁盘空间使用情况。
PS C:\Users\myname> wsl> df
2. 停止 WSL 停止在操作系统上运行的所有 WSL 实例。
> exitPS C:\Users\myname> wsl --shutdown
3. 找到 ext4.vhdx 文件 找到并记录
ext4.vhdx
文件的位置。该文件通常位于以下路径:C:\Users\myname\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu20.04onWindows_79rhkp1fndgsc\LocalState
请根据您的实际环境找到该文件。
4. 尝试 optimize-vhd 尝试使用
Optimize-VHD
命令优化ext4.vhdx
文件。PS C:\Users\myname> Optimize-VHD -Path .\ext4.vhdx -Mode full
如果该命令不存在,请继续下一步。
5. 使用 diskpart 使用
diskpart
工具来压缩ext4.vhdx
文件。PS C:\Users\myname> diskpart
在
diskpart
窗口中执行以下命令:select vdisk file="D:\Hyper-V\ubuntu-24[2]\Virtual Hard Disks\ubuntu-24[2].vhdx"attach vdisk readonlycompact vdiskdetach vdiskexit
6. 检查结果 重新检查磁盘空间使用情况,确认是否成功释放了磁盘空间。
PS C:\Users\myname> wsl> df
附加信息
• 在使用上述方法进行压缩之前,建议在 WSL 中运行以下命令来清理 Docker 相关的垃圾,以增加压缩量:
docker container prunedocker image prunedocker volume prunedocker builder prunedocker system prune
总结
通过上述步骤,您可以有效地释放 WSL2 占用的磁盘空间。请确保在操作前备份您的环境,并谨慎执行每一步。希望这些信息对您有所帮助!