WSL2 (Windows Subsystems for Linux 2) で sudo や su ができなくなってしまったとき
WSL2上のDebianで visudo コマンドをミスって、sudo できなくなってしまいました。対処法としてよく言われる pkexec visudo コマンドは、polkit パッケージが最初から入っているわけではないので使えません。
エクスプローラを管理者権限で起動してLinux欄のファイルをいじろうとするとかいろいろやってみたのですが、わりと簡単に解決できました。
コマンドプロンプト、またはWindows Powershellを起動して、以下のコマンドでよいです。
> wsl -u root
$ vi /etc/sudoers
つまり、Windowsの wsl コマンドから root ユーザーでWSLのシェルにログインし、直接 sudoers ファイルを書き換えます。簡単でしたね。
この件についてインターネット上にあんまり情報がないので、共有しておきます。