WSL Ubuntu 忘记 sudo 密码怎么办?几步重置 Linux 用户密码
在 Windows 的 WSL Ubuntu 中执行 sudo apt update、安装软件或修改系统配置时,终端会要求输入当前用户的密码。如果密码忘记了,不需要重新安装 Ubuntu,也不会影响已有文件,我们可以从 Windows PowerShell 以 root 身份进入 WSL,然后重置密码。
本文适用于 WSL 2 中的 Ubuntu,包括 Ubuntu 22.04、Ubuntu 24.04 等版本。
一、先确认:输入密码时没有显示是正常现象
在 Linux 终端中输入密码时,屏幕不会显示字符、圆点或星号 *,光标通常也不会移动。这是 Linux 的安全设计,并不代表键盘没有输入。
看到下面的提示时,可以直接输入密码并按 Enter:
[sudo] password for 用户名:
如果连续出现 Sorry, try again.,在确认大小写、键盘布局都正确后仍然无法登录,就可以按照下面的方法重置密码。
二、查看 WSL 发行版名称
打开 Windows PowerShell 或 Windows Terminal。注意,这一步不要在 Ubuntu/WSL 终端中执行。
运行:
wsl –l –v
你会看到类似下面的结果:
NAME STATE VERSION
* Ubuntu-24.04 Running 2
记住 NAME 一栏中的发行版名称。本文示例为 Ubuntu-24.04;如果你的电脑显示 Ubuntu、Ubuntu-22.04 或其他名称,请在后续命令中替换它。
三、以 root 身份进入 Ubuntu
继续在 Windows PowerShell 中执行:
wsl –d Ubuntu-24.04 –u root
参数含义:
- -d Ubuntu-24.04:指定要启动的 WSL 发行版;
- -u root:以 Linux 的 root 管理员身份登录。
成功后,命令提示符通常会以 root@…# 开头。可以运行下面的命令确认当前身份:
whoami
如果输出为 root,说明已经成功进入管理员环境。
四、重置普通用户的密码
假设需要重置密码的用户名是 abc,执行:
passwd abc
终端会要求输入两遍新密码:
New password:
Retype new password:
passwd: password updated successfully
输入新密码时仍然不会显示任何字符,这是正常现象。两次密码必须完全一致。
如果忘记了自己的 Linux 用户名,可以先查看 /home 目录:
ls /home
通常,目录名称就是普通用户的用户名。确认用户名后,再执行:
passwd 你的用户名
五、退出 root 并验证新密码
密码修改成功后执行:
exit
重新打开 Ubuntu 或回到 VS Code 的 WSL 终端,然后运行:
sudo apt update
输入刚刚设置的新密码。如果命令正常执行,说明密码已经重置成功。
六、常见问题
1. 提示找不到发行版
如果执行命令时出现发行版不存在或名称无效的提示,先运行:
wsl –l –v
然后把 wsl -d 后面的名称替换为列表中显示的准确名称。例如:
wsl –d Ubuntu –u root
2. 提示 passwd: user … does not exist
这说明用户名不正确。以 root 身份执行:
ls /home
使用正确的目录名称重新执行 passwd 用户名。
3. PowerShell 中出现 localhost 代理警告
如果启动 WSL 时看到“检测到 localhost 代理配置,但未镜像到 WSL”之类的提示,它通常与密码重置无关。只要已经出现 root@…# 提示符,就可以继续执行 passwd。
4. 新密码输入后屏幕仍然一片空白
这是正常现象。Linux 不会回显密码,继续完整输入并按 Enter 即可。不要因为看不到字符而反复敲击按键。
七、完整命令汇总
先在 Windows PowerShell 中执行:
wsl –l –v
wsl –d Ubuntu-24.04 –u root
进入 WSL 的 root 终端后执行:
passwd abc
exit
最后回到普通用户的 WSL 终端验证:
sudo apt update

![Linux 文件系统详解:为什么说一切皆文件?[从零开始学Linux 第二篇]-171主机测评](https://www.171host.com/wp-content/uploads/2026/11/20261102160953-6ae8b5d196ebc-220x150.png)
