win11 WSL2 Ubuntu忘记了root用户的密码,如何修改?我在网上翻了很多教程,也没找到有效的,无意之中在微软官网发现了一个方法,分享给大家。
问题描述
在win11 安装了WSL2 Ubuntu,我在WSL2-Ubuntu系统内使用root用户,通过修改/etc/wsl.conf文件(参考1),把默认的启动用户改成了自己创建的普通账户xxx,并且切换到了xxx。
接下来,我想把普通用户xxx添加到root用户组,此时需要使用sudo,所以需要root的密码,但是我不记得了,或者可能是一开始就没有设置特定的root密码。因此我想要重置root密码,但是需要先获得root权限,由此陷入了死胡同。
网上也给了一种方案(上述参考1),即在win11 PS中,使用
ubuntu2004.exe config --default-user root
但是我的win11系统中找不到ubuntu2004.exe
,所以上述方法也行不通。
解决方案:
最后我在微软官网中找到了一个方案解决了问题:
首先关闭WSL2-Ubuntu
wsl --shutdown
然后在windows PowerShell使用以下命令进入默认的WSL分发版的根目录
wsl -u root
如果需要在非默认分发版中更新忘记的密码,请使用命令:wsl -d Debian -u root
,并将 Debian
替换为目标分发版的名称。
在 PowerShell 内的根级别打开 WSL 发行版后,可使用此命令更新密码:passwd <username>
,其中 <username>
是发行版中帐户的用户名,而你忘记了它的密码。我使用了 passwd root
。之后就按照提示更新密码,然后exit
退出。