WSL 忘记密码重置方法
适用:默认 WSL 用户是普通用户,忘记密码无法 sudo。 不适用:如果默认用户是 root,不存在密码问题。
如果你使用的是能执行命令的 AI 编码助手(如 Claude Code、Cursor Agent、Pi 等),可直接把本文链接发给它,它会按步骤引导你操作。传统的代码补全工具(如 Copilot)不适用。
1. 以 root 进入 WSL
在 Windows 的 PowerShell(Win 键搜索 “PowerShell”)中执行:
wsl -u root
# 或指定发行版:wsl -d Ubuntu-24.04 -u root
wsl.exe 是 Windows 端的工具,可以指定以哪个 Linux 用户启动 WSL,不经过 Linux 的密码认证系统,所以不需要知道旧密码。
不知道发行版名称?先
wsl -l -v查看列表,再用wsl -d <名称> -u root。 成功后提示符变为root@...。
2. 重置密码
当前在 root shell 中,执行:
# 查看有哪些用户(一般和 Windows 用户名相同)
ls /home
# 输出示例:cncsmonster lost+found
# 重置密码(用上一步看到的实际用户名替换)
passwd <用户名>
root 执行 passwd 可以直接设新密码,不需要验证旧密码。 输入新密码时屏幕没有任何显示(连
*都没有),这是 Linux 的正常行为。输完回车,再确认一次,看到passwd: password updated successfully即成功。
3. 验证
# 退出 root shell,回到 PowerShell
exit
回到 PowerShell 后,重新以普通用户登录 WSL:
wsl
进入 WSL 后测试:
sudo whoami
# 提示输入密码则输入刚设置的新密码
# 输出 root 表示成功
评论