なにをしたのか ¶
以下のコマンドで archlinux
を指定し、ディストリビューションを追加しました。
wsl --install archlinux
その後、当該環境が不要となったために、以下のコマンドを実行しました。
# ⚠このコマンドはあなたの期待する結果をもたらしません
wsl --uninstall archlinux
もちろん、期待した動作は、「ディストリビューション archlinux
が削除されること」です。
なにが起こったのか ¶
UACプロンプトが出たのち、「システムからWSL本体が削除」されました。
--uninstall
と --install
とは非対称だったのです。
(もともと、 --install
は本体をインストールするコマンドという側面もあるわけですが…。)
その後ろの archlinux
は完全に無視され、警告が出力されることもありませんでした。
結果として、ディストリビューションは一つも削除されることはなく、 もう一度WSLをインストールすることで全てが元通りになりました。
ディストリビューションを削除したかったら ¶
wsl --unregister archlinux
らしいです。わかるかい。
本当に打つべきコマンドは ¶
本当に打つべきコマンドは wsl --help
だったのかも知れません。
--install [Distro] [Options...]
Install a Windows Subsystem for Linux distribution.
For a list of valid distributions, use 'wsl.exe --list --online'.
...
--uninstall
Uninstalls the Windows Subsystem for Linux package from this machine.
...
--terminate, -t <Distro>
Terminates the specified distribution.
--unregister <Distro>
Unregisters the distribution and deletes the root filesystem.
雰囲気でパソカタするものではありませんね。
訂正とお詫び ¶
本記事では、当初、数分間にわたり、誤って 以下のコマンドを「ディストリビューションの削除」であると紹介していました。
wsl --terminate archlinux
実際には、この --terminate
は「当該ディストリコンテナの終了」を意味するようです。
当該環境の systemd
などが、まるっと止まります。止まるだけです。
WSLはAWSではありません。 わかるかい (2)。