wsl2 子系统迁移
TIP
查看当前计算机的wsl子系统
powershell
wsl -lwsl -l查看当前计算机正在运行的wsl子系统
powershell
wsl -l -vwsl -l -v终止正在运行的wsl
powershell
wsl --shutdown Ubuntuwsl --shutdown Ubuntu再次查看是否终止成功
powershell
wsl -l -vwsl -l -v在其他盘创建目录用来存放新WSL
我这里存在O盘
O:\WSL\Ubuntu
将需要迁移的Linux,进行导出
powershell
wsl --export Ubuntu O:\WSL\Ubuntu\Ubuntu.tarwsl --export Ubuntu O:\WSL\Ubuntu\Ubuntu.tar
注销原有wsl
powershell
wsl --unregister Ubuntuwsl --unregister Ubuntu
将备份文件恢复到指定目录中
powershell
wsl --import Ubuntu O:\WSL\Ubuntu O:\WSL\Ubuntu\Ubuntu.tarwsl --import Ubuntu O:\WSL\Ubuntu O:\WSL\Ubuntu\Ubuntu.tar
设置默认 Linux 发行版
查看wsl子系统
powershell
wsl -lwsl -l
此时在终端直接执行wsl进入的并不是Ubuntu,这里提供设置默认发行版命令
若要设置 WSL 命令将用于运行的默认 Linux 发行版,请将 <Distribution Name> 替换为你首选的 Linux 发行版的名称。
powershell
# wsl --set-default <Distribution Name>
wsl --set-default Ubuntu# wsl --set-default <Distribution Name>
wsl --set-default Ubuntu
恢复默认用户
这时候启动WSL,发现好像已经恢复正常了,但是用户变成了root,之前使用过的文件也看不见了。

在CMD中,输入 Linux发行版名称 config --default-user 原本用户名,例如:
powershell
Ubuntu config --default-user xixiUbuntu config --default-user xixi
WARNING
请注意,如果wsl -l得到的版本号类似这种Ubuntu-22.04
那么这里的发行版名称的版本号是纯数字,比如Ubuntu-22.04就是Ubuntu2204
这时候再次打开WSL,你会发现一切都恢复正常了。