重置 wsl2 中的 Linux 子系統的賬戶密碼
重置密碼的操作也很簡單,經過查詢資料,可將步驟大致分為 3 步:
- 將 Linux 子系統的默認賬戶改為 root
- 利用 root 賬戶重置 Linux 子系統賬戶的密碼
- 將 Linux 子系統的默認賬戶修改回之前的賬戶
很簡單吧,大部分的博文都是這樣搞的,但是在我這卻第一步都沒走通,遇到的問題和解決方法在后面會提及。
默認賬戶改為 root#
首先查看自己當前安裝了哪些 Linux 子系統,找到忘記了密碼的子系統,使用管理員身份打開 cmd 執行(下同):
> wsl -l
適用于 Linux 的 Windows 子系統分發版:
Debian (默認)
Ubuntu
下面就以 Debian 為例說明如何將默認賬戶修改為 root:
> debian config --default-user root
這一步我就出現了問題:
The system cannot find the file C:\Users[USERNAME]\AppData\Local\Microsoft\WindowsApps\debian.exe.
但是我執行 where debian 得到的結果確是是上面那個路徑,我又用 unbuntu 試了一下也是不行,讓我很是不能理解,于是我打進敵人內部,到達那個路徑下,發現 debian.exe 文件和 ubuntu.exe 文件確實都是存在的,但它們的文件大小都是 0:

但是我的 wsl2 中的 Linux 子系統確實也沒問題,于是想到它不是我的菜,于是我使用 Everything 搜索了一下 “debian.exe”,發現了另一個結果,路徑類似于:
C:\Program Files\WindowsApps\TheDebianProject.DebianGNULinux_1.11.1.0_x64__[HASH]\debian.exe
所以它才是執行命令的主體,于是我在 cmd 中定位到此路徑下,再次執行上面的命令后結果正常:
> cd C:\Program Files\WindowsApps\TheDebianProject.DebianGNULinux_1.11.1.0_x64__[HASH]
> debian config --default-user root
此時打開 Debian 子系統,可以發現賬戶變成了 root。
變更普通賬戶密碼#
這一步是 Linux 中基礎的密碼重置操作,注意需要在 Debian 子系統中操作,除此之外沒什么幺蛾子:

將默認賬戶從 root 修改為普通賬戶#
最后一步也很簡單,相當于重復第一步,也是在 cmd 中執行,只不過將賬戶名改一下即可:
# 還是在切換到之前那個文件夾
> cd C:\Program Files\WindowsApps\TheDebianProject.DebianGNULinux_1.11.1.0_x64__[HASH]
# 將 lwz 換成自己的賬戶名
> debian config --default-user lwz
到此就大功告成了。
其他注意事項#
除了第一步可能出現的問題之外,可能還會遇到多個版本的問題,如多個 Ubuntu 版本,如 18.04、20.04版本等,在 cmd 中切換默認賬戶時,不能使用 ubuntu.exe 命令,而是要使用 ubuntu1804.exe 和 ubuntu2004.exe 等:
> ubuntu1804 config –default-user root
> ubuntu2004 config –default-user root
參考#
- https://itsfoss.com/reset-linux-password-wsl/

浙公網安備 33010602011771號