迁移WSL2到非系统盘

迁移过程

# 关闭WSL2
wsl --shutdown
# 查看WSL2的状态
wsl -l -v
NAME                   STATE           VERSION
Stopped         2
  Ubuntu         Stopped         2
# 导出WSL2
wsl --export Ubuntu D:\wsl2\ubuntu.tar
正在导出,这可能需要几分钟时间。
操作成功完成。
# 删除WSL2
wsl --unregister Ubuntu
正在注销。
操作成功完成。
# 导入WSL2
wsl --import Ubuntu D:\wsl2 D:\wsl2\ubuntu.tar --version 2
正在导入,这可能需要几分钟时间。
操作成功完成。
# 设置默认用户,如果不设置将会使用root用户,因为之前我一直使用自己创建的用户,所以需要设置,否则zsh配置文件会找不到
ubuntu.exe config --default-user nic
# 启动WSL2
wsl

可能有人和我一样安装了Docker,启用WSL后,docker运行数据都在WSL发行版中,文件位置都只能由WSL管理!

安装docker后,docker会自动创建2个发行版:

wsl -l -v
NAME                   STATE           VERSION
Stopped         2
  docker-desktop         Stopped         2
  docker-desktop-data    Stopped         2

和上面一样需要到导出,删除,导入。

# 关闭docker
将Docker程序退出即可
# 导出docker-desktop
wsl --export docker-desktop D:\wsl2\docker-desktop\docker-desktop.tar
# 删除docker-desktop
wsl --unregister docker-desktop
# 导入docker-desktop
wsl --import docker-desktop D:\wsl2\docker-desktop D:\wsl2\docker-desktop\docker-desktop.tar --version 2
# 导出docker-desktop-data
wsl --export docker-desktop-data D:\wsl2\docker-desktop-data.tar
# 删除docker-desktop-data
wsl --unregister docker-desktop-data
# 导入docker-desktop-data
wsl --import docker-desktop-data D:\wsl2\docker-desktop-data D:\wsl2\docker-desktop-data\docker-desktop-data.tar --version 2