我在 Windows 上使用 Ubuntu,从 Microsoft Store 下载。我创建了一个用户密码,但似乎我忘记了或输入了错误。对于 sudo 命令,我的用户密码不起作用。
由于我无法使用 Grub 以 Linux 形式重新启动系统来重置密码,是否有其他方法可以重置我的用户密码而无需重新安装应用程序(我已经设置了几个应用程序)?
答案1
当我自己遇到这种情况并最终解决它时,这真的很棘手。
首先启动“Ubuntu”,输入
cat /etc/passwd/
并记下 UID 号,然后退出终端。
如下所示,在终端中mandheer@WKWIN1754031:~$ cat /etc/passwd root:x:0:0:root:/root:/bin/bash daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin bin:x:2:2:bin:/bin:/usr/sbin/nologin mandheer:x:1000:1000:,,,:/home/mandheer:/bin/bash
记下“root”用户和登录用户(本例中为“mandheer”)的用户 ID
- 根:x:0:0:根目录:/根目录:/bin/bash
- 曼德希尔:x:1000:1000:,,,:/home/mandheer:/bin/bash
- 对于
root
用户0
来说,mandheer
这是1000
WSL(Windows Subsystem for Linux)使用注册表来识别一些值,包括初始启动时登录的用户。
只需继续
win+R
,然后输入regedit
将打开注册表编辑器导航到:HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Lxss
检查已安装的发行版并导航到“Ubuntu”发行版。
然后,导航至
"DefaultUid"
- 检查其当前值,必须将其设置为
1000
十进制或0x3e8
十六进制 - 将用户的
"DefaultUid"
值设置为0
十进制root
- 退出注册表编辑器
- 检查其当前值,必须将其设置为
打开“Ubuntu”,它应该以已经登录的 root 身份启动。
然后运行命令
passwd <User_name>
,例如#$passwd mandheer
输入新密码并重新输入密码。bash#>passwd <existing username> and press Enter New password: <type your password here> Retype password: <re enter password here>
您现有的用户名密码现已重置为新密码。
- 退出命令提示符
- 对现有用户重复步骤 3 至 5
- 意思是,进入注册编辑器并将“DefaultUid”设置为以前的值,例如用户
1000
的十进制数mandheer
- 意思是,进入注册编辑器并将“DefaultUid”设置为以前的值,例如用户
- 再次启动
Ubuntu
终端,它应该使用您现有的用户登录而无需输入密码。- 键入
$sudo su
以获取 root 访问权限。 - 按照上面第6步输入新设置的密码。
- 键入
答案2
打开命令提示符,输入ubuntu config --default-user root
或lxrun /setdefaultuser root
。按 Enter。
接下来,打开 Linux Bash shell,它会以 root 身份登录,而无需输入密码。因此,您可以使用以下命令重置忘记的用户密码:
passwd user_name
完成后,打开命令提示符并运行此命令:
ubuntu config --default-user user_name
这会将您的 Linux Bash shell 设置为以常规用户身份运行。
来源:https://www.top-password.com/blog/forgot-linux-bash-password-in-windows-10/
答案3
我已启用 WSL 并在 PC 上安装了 ubuntu。根据 MS Docs 网站*,我运行了 PowerShell(powershell.exe
)并执行wsl -u root
,然后执行passwd <my-username-on-ubuntu>
。我在提示后输入了新密码并重置完成。对我来说就这些了。我使用的是 Win10 [版本 10.0.19041.572] 并运行“Ubuntu 20.04.1 LTS”
参考编号:*:https://docs.microsoft.com/en-us/windows/wsl/user-support#forgot-your-password
答案4
在 Windows Powershell 或命令提示符中,可以使用 root 访问权限登录 wsl 默认帐户。
wsl --user root
要更改密码,请使用以下命令。
passwd
或者可以使用以下命令,传递需要更改密码的用户的用户名。在本例中,它是发行版的用户名。
passwd username
以上两个命令将要求您输入新密码。输入新密码两次后,您应该会看到成功的令牌更新消息。
之后,您可以按 退出 wsl ctrl+d
。如果您安装了多个发行版,但不知道要更改密码的发行版的名称,请使用以下命令列出已安装的发行版。
wsl -l
要登录所需的发行版,请使用列表中的名称。对于 Ubuntu 20.04,命令将是:
wsl -d Ubuntu-20.04 --user root
对于 CentOS7,命令如下:
wsl -d CentOS7 --user root