WSLユーザーパスワードのリセット方法

Windows Subsystem for Linux、一般的にWSLとして知られる機能は、ユーザーがWindowsでサポートされているLinuxディストリビューションを実行できるようにします。デュアルブートとは異なり、WSLは通常のWindowsアプリケーションのようにWindows内で実行されます。WSLでは、忘れたパスワードは通常のLinux環境とは異なる方法で処理されます。なぜなら、編集できるブートローダーがないからです。また、ルートシェルを起動するためにハイジャックできるinitシステムもありません。このガイドでは、WSLユーザーパスワードをリセットする手順を説明します。
こちらもお読みください: Linuxがユーザーパスワードを保存および管理する方法
ルートアカウントを使用する
WSLユーザーの忘れたパスワードを回復またはリセットする簡単な方法は、ルートアカウントを使用することです。ほとんどのWSLディストリビューションでは、ルートアカウントが有効で、パスワードが設定されていません。
WSLは自動的に設定されたデフォルトアカウントにパスワードプロンプトなしでログインするため、設定ファイルを変更してデフォルトアカウントをルートに設定できます。
設定を変更するには、WSLインスタンスの実行可能ファイルを使用する必要があります。デフォルトでは、実行可能ファイルは「C:\users\username\appdata\Local\Microsoft\WindowsApps\」にあります。
ユーザー名をアカウントのユーザー名に、ディストリビューション名をWSLディストリビューションに置き換えます。たとえば、openSUSE 15.3 Leapの実行可能ファイルは次のようになります: 「C:\Users\mte\AppData\Local\Microsoft\WindowsApps\openSUSE-Leap-15.3.exe」
ディストリビューションの設定を変更するには、コマンドプロンプトを起動し、ディストリビューション名に一致するコマンドを入力します。たとえば、openSUSEの場合、デフォルトユーザーをルートに設定するコマンドは次のようになります:
opensuse-leap-15.3 config --default-user root上記のコマンドは、openSUSE WSLインスタンスのデフォルトユーザーをルートに変更します。
他のディストリビューションの場合、コマンドは次のとおりです:
Ubuntu
ubuntu config --default-user rootUbuntu 18.04
ubuntu18004 config --default-user rootUbuntu 20.04
ubuntu2004 config --default-user rootKali Linux
kali config --default-user rootDebian
debian config --default-user rootArch Linux
arch config --default-user root最後のステップは、ディストリビューションにログインし、ターゲットユーザー名のパスワードを変更することです。スタートメニュー、コマンドプロンプト、またはWindowsターミナルからディストリビューションを起動できます。

起動したら、ルートとしてログインする必要があります。
最後に、passwdコマンドを使用してパスワードを変更します。たとえば、capユーザー名のパスワードを変更するには、コマンドを次のように設定します:
passwd capデフォルトユーザーの復元
特定のユーザーのパスワードをリセットしたら、ルートアカウントの代わりにデフォルトユーザーを変更するのが最善です。
そのためには、configコマンドを使用し、ユーザー名を希望のアカウントに置き換えます。たとえば:
opensuse-leap-15.3 config --default-user capディストリビューション名に置き換えることを忘れないでください。
まとめ
このチュートリアルでは、WSLユーザーパスワードをリセットする手順を示しました。このチュートリアルで説明した手順は、WSLインスタンスにとってシンプルで安全です。ただし、システムを保護することは良い習慣です。もし本当にLinuxに切り替えることを決めたなら、こちらでWindowsユーザー向けの最高のLinuxディストリビューションをチェックするか、WindowsからLinuxへの簡単な移行方法を学んでください。