前言

WSL默认安装在C盘,工作时间长了,或者随着docker的使用会变得越来越大,系统盘不堪重负,所以百度了一下子怎么迁移,好像只能导出重载,记录一下过程。

正文

(1)首先查看一下WSL的状态:

1
wsl -l --all -v

确保你的WSL状态为关闭。

(2)导出分发版到非系统盘目录:

1
2
3
wsl --export <WSLname> <path>.tar
# wsl --export deepin d:\WSL\deepin.tar
# wsl --export Ubuntu d:\WSL\Ubuntu.tar

1、确保你要导出的位置有该目录,否则请提前新建好文件夹;

2、导出文件的扩展名,必须为 tar 格式。

(3)注销该分发版:

1
2
wsl --unregister <WSLname>
# wsl --unregister deepin

(4)重新导入分发版到指定目录:

1
2
3
wsl --import nameWSL [dirA] [dirB] --version 2
# wsl --import deepin d:\WSL\deepin d:\WSL\deepin.tar --version 2
# wsl --import Ubuntu d:\WSL\Ubuntu d:\WSL\Ubuntu.tar --version 2

1、 nameWSL 为导入的WSL分发版名称;

2、 dirA 为要导入到的位置,也就是安装位置;

3、 dieB 为第2步中导出的 tar 文件的路径;

4、请确认好自己的WSL版本号;

5、请确认好自己的目标目录是否存在。

(5)恢复默认登录用户:

WSL在重新导入后默认登录用户会更改为root,更改为默认用户名:

1
2
 [DistributionName] config --default-user [Username]
# deepin config --default-user laugh

此命令执行于power shell,并不是WSL。

最后,删掉导出的 tar 文件即可,当然不删除也行,当个备份。

Docker相关的WSL也是一样的道理。

  • docker-desktop
  • docker-desktop-data