背景

最近发现一个问题,我的C盘满了,我用SpaceSniffer检查了一下,发现WSL的数据吃了我将近100G,各种开发环境的包也吃了不少空间,所以打算把这些数据迁移到其他盘,然后通过符号链接的方式来解决这个问题。

迁移WSL

wsl的迁移现在已经很简单了,现在可以直接使用move命令来迁移wsl的存储位置
首先看看当前有哪些wsl,记录下要迁移的wsl的名字

1
wsl --list

适用于 Linux 的 Windows 子系统分发:

Arch (默认值)

rancher-desktop-data

rancher-desktop

然后开始迁移

1
2
3
4
5
wsl --manage Arch --move F:\wsl\Arch

wsl --manage rancher-desktop-data --move F:\wsl\rancher-desktop-data

wsl --manage rancher-desktop --move F:\wsl\rancher-desktop

迁移完成后,重新打开wsl,检查数据是否完整

迁移其他开发工具下载的依赖包

比如maven、pip、npm等,这里考虑使用符号链接的方式来解决,这样不需要每个开发工具都重新配置路径

1
2
3
4
5
mklink /D %USERPROFILE%\.m2 F:\repository\.m2
mklink /D %USERPROFILE%\.gradle F:\repository\.gradle
mklink /D %USERPROFILE%\.conda F:\repository\.conda
mklink /D %USERPROFILE%\.jdks F:\repository\.jdks
mklink /D %USERPROFILE%\AppData\Local\pip F:\repository\pip

效果

迁移完成后,C盘的空间腾出来将近150G,效果还是不错的