文章目录
- 步骤一:在 Ubuntu 中清理空间
- 步骤二:压缩 WSL2 虚拟磁盘
- 步骤三:重启 WSL2
本指南介绍如何清理 WSL2 (Windows Subsystem for Linux) 中的 Ubuntu 空间,包括删除不必要的文件和压缩虚拟磁盘。
步骤一:在 Ubuntu 中清理空间
首先,在 Ubuntu 系统中执行以下命令来识别并删除占用大量空间的文件:
sudo du -hc --max-depth=1 ~ | sort -rh
这个命令会显示你主目录下各个文件夹的大小,按大小降序排列。 根据输出结果,删除不再需要的大型文件或文件夹。
接下来,清理 conda 和 pip 的缓存:
conda clean --all
pip cache purge
步骤二:压缩 WSL2 虚拟磁盘
WSL2 使用虚拟磁盘文件 (ext4.vhdx
) 存储 Ubuntu 文件系统。
注意,WSL2的虚拟磁盘有“只扩不缩”的特性,也就是即使你删除了WSL2中的文件,如果你不压缩这个虚拟磁盘,它占用Windows挂载盘的空间不会释放。
因此,压缩此虚拟磁盘可减少其在挂载硬盘上的占用空间。
以下步骤需要在 Windows PowerShell 中执行:
- 关闭 WSL2:
wsl --shutdown
- 打开 DiskPart:
diskpart
- 选择虚拟磁盘文件:
select vdisk file="C:\Users\Lenovo\AppData\Local\Packages\CanonicalGr
oupLimited.Ubuntu_79rhkp1fndgsc\LocalState\ext4.vhdx"
替换上面示例中的 C:\Users\Lenovo\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu_79rhkp1fndgsc\LocalState\ext4.vhdx
为你实际的路径。 你可以通过搜索 .vhdx
文件找到它。
- 尝试连接虚拟磁盘(只读模式): 如果第一次尝试失败,请尝试第二次,如示例所示。
attach vdisk readonly
- 压缩虚拟磁盘:
compact vdisk
- 分离虚拟磁盘:
detach vdisk
- 退出 DiskPart:
exit
注意: 如果 attach vdisk readonly
, compact vdisk
或 detach vdisk
命令失败并提示 “由于虚拟磁盘系统限制,无法完成请求的操作。虚拟硬盘文件必须是未压缩和未加密的文件,并且不能是稀疏文件。”,请确保你的虚拟磁盘文件不是稀疏文件,未压缩(例如,之前不能在“此电脑-右键X盘-属性,然后“压缩磁盘”)且未加密。 某些情况下,需要重启电脑后才能成功执行压缩操作。
步骤三:重启 WSL2
完成以上步骤后,重启 WSL2:
wsl --launch
现在你的 WSL2 Ubuntu 系统应该拥有更小的磁盘占用空间了。
重要提示: 在执行任何删除操作之前,请务必备份重要的数据,以防意外数据丢失。 sudo du -hc --max-depth=1 ~ | sort -rh
命令仅显示目录大小,请谨慎删除文件和文件夹。 如果对 diskpart
命令不熟悉,请谨慎操作,以免损坏系统或丢失数据。
文章目录
- 步骤一:在 Ubuntu 中清理空间
- 步骤二:压缩 WSL2 虚拟磁盘
- 步骤三:重启 WSL2
本指南介绍如何清理 WSL2 (Windows Subsystem for Linux) 中的 Ubuntu 空间,包括删除不必要的文件和压缩虚拟磁盘。
步骤一:在 Ubuntu 中清理空间
首先,在 Ubuntu 系统中执行以下命令来识别并删除占用大量空间的文件:
sudo du -hc --max-depth=1 ~ | sort -rh
这个命令会显示你主目录下各个文件夹的大小,按大小降序排列。 根据输出结果,删除不再需要的大型文件或文件夹。
接下来,清理 conda 和 pip 的缓存:
conda clean --all
pip cache purge
步骤二:压缩 WSL2 虚拟磁盘
WSL2 使用虚拟磁盘文件 (ext4.vhdx
) 存储 Ubuntu 文件系统。
注意,WSL2的虚拟磁盘有“只扩不缩”的特性,也就是即使你删除了WSL2中的文件,如果你不压缩这个虚拟磁盘,它占用Windows挂载盘的空间不会释放。
因此,压缩此虚拟磁盘可减少其在挂载硬盘上的占用空间。
以下步骤需要在 Windows PowerShell 中执行:
- 关闭 WSL2:
wsl --shutdown
- 打开 DiskPart:
diskpart
- 选择虚拟磁盘文件:
select vdisk file="C:\Users\Lenovo\AppData\Local\Packages\CanonicalGr
oupLimited.Ubuntu_79rhkp1fndgsc\LocalState\ext4.vhdx"
替换上面示例中的 C:\Users\Lenovo\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu_79rhkp1fndgsc\LocalState\ext4.vhdx
为你实际的路径。 你可以通过搜索 .vhdx
文件找到它。
- 尝试连接虚拟磁盘(只读模式): 如果第一次尝试失败,请尝试第二次,如示例所示。
attach vdisk readonly
- 压缩虚拟磁盘:
compact vdisk
- 分离虚拟磁盘:
detach vdisk
- 退出 DiskPart:
exit
注意: 如果 attach vdisk readonly
, compact vdisk
或 detach vdisk
命令失败并提示 “由于虚拟磁盘系统限制,无法完成请求的操作。虚拟硬盘文件必须是未压缩和未加密的文件,并且不能是稀疏文件。”,请确保你的虚拟磁盘文件不是稀疏文件,未压缩(例如,之前不能在“此电脑-右键X盘-属性,然后“压缩磁盘”)且未加密。 某些情况下,需要重启电脑后才能成功执行压缩操作。
步骤三:重启 WSL2
完成以上步骤后,重启 WSL2:
wsl --launch
现在你的 WSL2 Ubuntu 系统应该拥有更小的磁盘占用空间了。
重要提示: 在执行任何删除操作之前,请务必备份重要的数据,以防意外数据丢失。 sudo du -hc --max-depth=1 ~ | sort -rh
命令仅显示目录大小,请谨慎删除文件和文件夹。 如果对 diskpart
命令不熟悉,请谨慎操作,以免损坏系统或丢失数据。