查看当前wsl
通过输出看到当前的wsl名称是Ubuntu
wsl -l
适用于 Linux 的 Windows 子系统分发版:
Ubuntu (默认)
导出
导出到D盘,文件名为ubuntu.tar,这里需要等一段时间。
wsl --export Ubuntu d://ubuntu.tar
注销原wsl
wsl --unregister Ubuntu
正在注销...
导入
先在D盘新建文件夹存放wls文件,然后将上面导出的ubuntu.tar文件,通过wsl的import命令导入,指定导入的wsl文件夹和上面导出的tar文件。导入也需要等待。
wsl --import Ubuntu d:\wsl\Ubuntu D:\ubuntu.tar
导入成功后,启动
wsl
发现是root用户登陆的,通过查询,Windows
官网给出了更改发行版的默认用户的命令:
<DistributionName> config --default-user <Username>
具体就是:
Ubuntu config --default-user ubuntu
然而该方法适用于完整安装的WSL
,而我现在的情况是将C
盘的WSL
转移到了D
盘,上述命令就对我无效了,官网也明确给出了上面的命令不适用与导入的发行版:
因此,我们找到wsl.conf
文件,文件路径为 \\wsl.localhost\Ubuntu-20.04\etc\wsl.conf
,直接用文本编辑器打开它,然后添加如下内容:
# Set the user when launching a distribution with WSL.
[user]
default = DemoUser
如我原来的WSL
里面的用户名位jayce
,那我就设置default = jayce
即可
注意:需要保证DemoUser
存在于你的账户,如果没有的话,需要自己新建!
依照你WSL
的安装情况,选择一种解决方法,然后 在powershell
中运行wsl --shutdown
来关闭 WSL
,然后重启 WSL
实例以使这些更改生效,就可以看到我们的默认登录用户已经是原来创建的用户名,而不是root
了:
参考: