忘記 WSL 執行個體密碼時,如何重置?


組態設定 WSL Linux 管理者帳號及密碼

預設情況下,安裝 WSL 並重新啟動後,順利登入 Windows Server 2022 系統時,便會自動下載和執行 Ubuntu Linux 執行個體,當系統成功啟動 WSL 運作環境,並運作 Ubuntu Linux 執行個體之後,第一個動作便會要求管理人員為這個 Ubuntu Linux 執行個體,組態設定登入的管理者帳號及密碼,鍵入管理者帳號及二次確認密碼後,便順利登入 Ubuntu Linux 作業系統。


事實上,關於初始設定 Linux 管理者帳號和密碼時,有下列二點注意事項:

  • 每個 WSL Linux 執行個體中,管理者帳號和密碼是各自獨立互不影響,並且跟 Windows 系統管理者帳號及密碼無關
  • 初始設定管理者帳號和密碼完成後,後續啟動 WSL Linux 執行個體時便會自動登入,並且這個帳號自動加入並具備 sudo 權限




忘記密碼怎麼辦?

隨著年紀增長,金魚腦的情況也越發嚴重,可能因為安裝完畢後太久沒用忘記,又或者是鍵盤有問題一直打不出正確密碼……等 👴。


雖然,在 Linux 作業系統中,透過 passwd 指令可以變更使用者密碼,然而是前提在你知道「原有」密碼時的情況下,才能順利變更使用者密碼。😏 




重置 WSL Linux 管理密碼

首先,開啟 Windows Terminal 工具,方便我們直接在 PowerShell 和 Ubuntu Linux 之間切換。倘若,你的 WSL 運作環境中,已經建立多個 Linux 執行個體的話,可以先透過「wsl --list --verbose」指令,確認目前運作哪些 Linux 執行個體。


在本文實作環境中,目前僅運作 Ubuntu Linux 執行個體,所以直接使用「wsl -u root」指令,即可直接進入重置流程,順利進入 Ubuntu 後執行「passwd weithenn」指令,變更 Weithenn 使用者的管理密碼,完成後鍵入「exit」離開。然後,切換到 Ubuntu Linux 執行個體,可以發現密碼已經順利更改。



那麼如果有「多個」Linux 執行個體時,如何指定要變更哪個 Linux 執行個體的管理密碼? 透過「wsl --list --verbose」指令,確認 Linux 執行個體的 NAME 欄位後,使用「wsl -u root」指令,搭配你要變更管理密碼的名稱即可,例如,「wsl -d Ubuntu -u root」指令即可。





參考資源




WSL on Windows Server 2022 系列文章