【完全版】WSLをゼロからアンインストールする方法を図解で徹底解説!トラブルシューティングも網羅
Windows Subsystem for Linux (WSL) は、Windows上でLinux環境を手軽に利用できる非常に便利な機能です。開発者を中心に多くのユーザーに愛用されています。しかし、時にはWSLを完全にアンインストールする必要に迫られることがあります。
例えば、以下のようなケースです。
- WSL環境に深刻な問題が発生し、再インストールで解決したい場合。
- WSL1からWSL2へ移行する前に、既存環境をクリーンアップしたい場合。
- 複数のディストリビューションを試した結果、不要なものを整理したい場合。
- WSL自体が不要になった場合。
- クリーンな状態からWSL環境を構築し直したい場合。
単にディストリビューションを削除するだけでは、WSLの機能そのものや関連ファイルがシステムに残ってしまいます。「完全に」アンインストールするためには、いくつかのステップを踏む必要があります。
本記事では、WSLを構成する要素を理解し、それらを一つずつ丁寧に削除していく方法を、図解を交えながら詳細に解説します。約5000語という大ボリュームで、初心者の方でも迷わないように、各手順の意味や注意点、そしてよくあるトラブルシューティングまで網羅しています。
WSL環境を完全にクリーンアップしたい方は、ぜひ最後までご覧ください。
【最重要注意】アンインストールはデータ消失を伴います!
WSLディストリビューションをアンインストールすると、そのディストリビューション内に保存されていたファイル、設定、インストールしたソフトウェアなど、すべてのデータが完全に削除されます。
必要なデータがある場合は、必ず事前に別の場所にバックアップを取ってください。 例えば、WSL上のホームディレクトリ (~/
) に保存したファイル、データベースのダンプ、設定ファイルなどです。バックアップは、Windows側のエクスプローラーからWSLのファイルシステムにアクセスしてコピーするか、tar
コマンドなどでアーカイブを作成してWindows側に保存する方法などがあります。
バックアップなしにアンインストールを実行した場合、データの復旧は非常に困難です。この点をご理解いただいた上で、作業を進めてください。
WSLを構成する要素を理解する
WSLを完全にアンインストールするためには、WSLが単一のプログラムではなく、複数の要素で構成されていることを理解しておくことが重要です。主な構成要素は以下の通りです。
-
WSL本体(Windows機能):
- Windowsのオプション機能として提供されるWSLの基盤となるコンポーネントです。システムコールをLinux互換に変換したり、Linuxカーネルとの連携を管理したりします。
- 「Windowsの機能の有効化または無効化」で管理されます。
-
Linuxディストリビューション:
- Microsoft Storeや手動でインストールしたUbuntu、Debian、Fedoraなどの具体的なLinux環境です。
- それぞれのディストリビューションは、独立したファイルシステム(通常はVHDまたはVHDX形式の仮想ディスクイメージファイル)と設定を持ちます。
wsl
コマンドで管理したり、「アプリと機能」から削除したりできます。
-
仮想マシン プラットフォーム(WSL2の場合):
- WSL2は軽量な仮想マシン上でLinuxを実行するため、Windowsの仮想マシン機能(Hyper-Vの一部)を利用します。
- これも「Windowsの機能の有効化または無効化」で管理されます。WSL1のみを使用している場合は不要ですが、完全にクリーンアップするなら無効化しておいた方が確実です。
-
WSLカーネル:
- WSL2で使用されるLinuxカーネルです。Windows Updateを通じて更新されるか、手動でアップデートパッケージを適用することがあります。
- Microsoft StoreからインストールされるWSL本体パッケージに含まれている場合もあります。
-
WSL関連パッケージ(Microsoft Store版WSL、WSLgなど):
- WSLの機能向上やGUIアプリサポートなどを目的とした追加パッケージです。
wsl --install
コマンドでインストールされるWSL本体は、近年Microsoft Storeから提供されるバージョンが主流です。- 「アプリと機能」で管理されます。
-
WSL関連ファイル:
- ディストリビューションのルートファイルシステムイメージ(
.vhdx
ファイル)。 - ユーザー設定ファイルやキャッシュファイル。
- これらは通常、ユーザープロファイル内の隠しフォルダ(例:
%LOCALAPPDATA%\Packages\
以下)に保存されます。
- ディストリビューションのルートファイルシステムイメージ(
-
レジストリエントリ:
- WindowsのシステムレジストリにWSLやインストールされたディストリビューションに関する設定情報が保存されることがあります。
これらの要素をすべて削除することで、「完全に」WSLをアンインストールした状態になります。
それでは、具体的なアンインストール手順を見ていきましょう。以下の手順は、管理者権限を持ったユーザーアカウントで実行する必要があります。また、PowerShellまたはコマンドプロンプトを管理者として実行する必要があります。
アンインストール手順:ステップバイステップ解説
WSLを完全にアンインストールするための推奨手順は以下の通りです。この順番で実行することで、依存関係による問題を避けることができます。
- インストールされているLinuxディストリビューションをすべて削除する。
- WindowsのWSL機能と仮想マシン プラットフォーム機能を無効化する。
- Microsoft StoreからインストールされたWSL関連パッケージを削除する。
- WSL関連ファイルが残っていないか確認し、必要に応じて手動で削除する(任意・上級者向け)。
- レジストリにWSL関連のエントリが残っていないか確認する(高度・非推奨・上級者向け)。
各ステップを詳細に解説します。
ステップ1:インストールされているLinuxディストリビューションをすべて削除する
これがWSL環境の中核であるLinuxディストリビューション(Ubuntu, Debianなど)そのものを削除する操作です。この操作により、ディストリビューション内に保存されていたファイルや設定はすべて失われます。
方法1:コマンドプロンプトまたはPowerShellを使用する(推奨)
コマンドラインを使用する方法が最も確実で、すべてのディストリビューションを漏れなく削除するのに適しています。
-
管理者権限でコマンドプロンプトまたはPowerShellを開きます。
- Windowsの検索バーに「cmd」または「powershell」と入力します。
- 表示された「コマンドプロンプト」または「Windows PowerShell」を右クリックし、「管理者として実行」を選択します。
- ユーザーアカウント制御(UAC)のダイアログが表示されたら、「はい」をクリックして許可します。
【図解:管理者としてコマンドプロンプト/PowerShellを開く】
* タスクバーの検索ボックスに「powershell」と入力し、検索結果の「Windows PowerShell」を右クリックして「管理者として実行」を選択している画面のスクリーンショット。
* または、スタートメニューから「Windows PowerShell」フォルダを開き、「Windows PowerShell」を右クリックして「その他」→「管理者として実行」を選択している画面のスクリーンショット。 -
インストールされているWSLディストリビューションの一覧を表示します。
-
管理者として実行したコマンドプロンプトまたはPowerShellウィンドウで、以下のコマンドを入力してEnterキーを押します。
“`bash
wsl –list –verboseまたは省略形の -l -v でも同じです
wsl -l -v
“`
【図解:
wsl --list --verbose
コマンドの実行結果】
* コマンドプロンプトまたはPowerShellウィンドウでwsl --list --verbose
を実行した際のスクリーンショット。
* 表形式でディストリビューション名、状態(STATE)、WSLバージョン(VERSION)が表示されている様子を示す。
* 例:
NAME STATE VERSION
* Ubuntu-20.04 Running 2
Debian Stopped 1
docker-desktop Running 2
docker-desktop-data Running 2
(docker-desktop はDocker Desktop for Windowsが使用するWSLディストリビューションです。これも削除対象となりえますが、Docker Desktopを使用する場合は削除しないでください。)- 表示されたリストから、アンインストールしたいディストリビューションの名前を確認します。
-
-
アンインストールしたいディストリビューションを削除(登録解除)します。
-
以下のコマンドを入力します。
<ディストリビューション名>
の部分は、上で確認した正確な名前に置き換えてください。大文字・小文字も区別されます。bash
wsl --unregister <ディストリビューション名>
例:Ubuntu-20.04 を削除する場合
bash
wsl --unregister Ubuntu-20.04
例:Debian を削除する場合
bash
wsl --unregister Debian
【図解:
wsl --unregister
コマンドの実行】
*wsl --unregister Ubuntu-20.04
と入力してEnterキーを押しているコマンドプロンプト/PowerShellのスクリーンショット。
* コマンド実行後、特に成功メッセージは表示されないことが多いが、処理が完了してプロンプトに戻った状態を示す。
* (補足)実行中のディストリビューションをunregister
すると、自動的に終了されてから削除されます。- このコマンドを実行すると、対象のディストリビューションのルートファイルシステム(通常
%LOCALAPPDATA%\Packages\<パッケージ名>\LocalState\rootfs
などに保存されている.vhdx
ファイル)を含むすべてのデータが完全に削除されます。 - この操作には少し時間がかかる場合があります。処理が完了するまで待ちます。
-
-
削除したいディストリビューションが複数ある場合は、上記コマンドを繰り返します。
wsl --list --verbose
を再度実行して、削除したいディストリビューションがリストから消えていることを確認しながら進めるのが良いでしょう。
【図解:削除後の
wsl -l -v
実行結果】
* すべてのユーザー定義ディストリビューション(Ubuntu, Debianなど)を削除した後でwsl -l -v
を実行した際のスクリーンショット。
* ユーザーがインストールしたディストリビューションが表示されず、WSLカーネルやDocker関連のみが表示されている、または何も表示されていない状態を示す。
* 例:
NAME STATE VERSION
docker-desktop Running 2
docker-desktop-data Running 2
または
There are no installed distributions.
方法2:Windowsの「アプリと機能」から削除する
一部のWSLディストリビューションは、Microsoft Storeからインストールした場合、「アプリと機能」としてWindowsに登録されます。ここから削除することも可能です。
-
Windowsの設定を開きます。
- スタートメニューから歯車アイコンの「設定」をクリックするか、
Windowsキー + I
を押します。
- スタートメニューから歯車アイコンの「設定」をクリックするか、
-
「アプリ」→「アプリと機能」を選択します。
【図解:設定から「アプリと機能」を開く】
* Windows設定ウィンドウで、「アプリ」をクリックし、左側のメニューから「アプリと機能」を選択している画面のスクリーンショット。 -
インストールされているアプリの一覧から、WSLディストリビューションを探します。
- 検索ボックスに「Ubuntu」や「Debian」、「Linux」など、インストールしたディストリビューションの名前を入力して絞り込むと探しやすいです。
【図解:「アプリと機能」でディストリビューションを検索】
* 「アプリと機能」の検索ボックスに「Ubuntu」と入力し、該当するディストリビューション(例: Ubuntu 20.04 LTS)が表示されている画面のスクリーンショット。 -
削除したいディストリビューションをクリックし、「アンインストール」ボタンをクリックします。
【図解:「アプリと機能」からディストリビューションをアンインストール】
* 検索結果からディストリビューション名(例: Ubuntu 20.04 LTS)をクリックし、展開された詳細に表示される「アンインストール」ボタンをクリックしている画面のスクリーンショット。
* アンインストール確認のポップアップが表示される場合、それも示す。 -
表示される指示に従ってアンインストールを完了させます。
どちらの方法が良いか?
コマンド (wsl --unregister
) を使用する方法を推奨します。
* 手動でインストールしたディストリビューションや、Microsoft Store以外から入手したディストリビューションも確実に削除できます。
* 複数のディストリビューションを一括で確認・削除しやすいです。
* バックグラウンドで実行中のディストリビューションも強制的に終了させてから削除できます。
ただし、「アプリと機能」から削除する方法も、Microsoft Store経由でインストールしたディストリビューションの場合は有効です。
このステップのまとめ:
wsl --list --verbose
で削除対象を確認し、wsl --unregister <ディストリビューション名>
コマンドで、ユーザーがインストールしたすべてのLinuxディストリビューションを削除してください。これはディストリビューション内の全データを削除する操作であることを忘れないでください。
ステップ2:WindowsのWSL機能を無効化する
WSLの基盤となるWindows機能をシステムから無効化します。
-
「Windowsの機能の有効化または無効化」ウィンドウを開きます。
- Windowsの検索バーに「Windowsの機能」と入力し、表示された「Windowsの機能の有効化または無効化」をクリックします。
- または、「コントロールパネル」を開き、「プログラム」→「Windowsの機能の有効化または無効化」と進みます。
【図解:「Windowsの機能の有効化または無効化」を開く】
* Windowsの検索バーに「Windowsの機能」と入力し、検索結果の「Windowsの機能の有効化または無効化」をクリックしている画面のスクリーンショット。 -
以下の項目のチェックを外します。
- 「Linux用Windowsサブシステム」: これがWSL1の基盤機能です。WSL2を使用している場合でも、このチェックは外します。
- 「仮想マシン プラットフォーム」: これがWSL2の基盤となる仮想化機能です。WSL2を使用していた場合は、このチェックも外します。WSL1のみを使用していた、またはWSLを使用したことがない場合は、この項目はチェックが入っていないかもしれません。そのままで構いません。
【図解:「Windowsの機能の有効化または無効化」画面】
* 「Windowsの機能の有効化または無効化」ウィンドウのスクリーンショット。
* リスト内の「Linux用Windowsサブシステム」と「仮想マシン プラットフォーム」の項目を見つけ、チェックボックスにチェックが入っている(有効になっている)状態から、チェックを外して空白にする操作を示す。
* (補足)チェックボックスが塗りつぶし(一部有効)になっている場合も、クリックして完全にチェックを外す。 -
「OK」ボタンをクリックします。
-
PCの再起動を求められたら、すぐに再起動します。
- 機能の変更をシステムに反映させるためには、PCの再起動が必要です。作業中のファイルを保存し、開いているアプリケーションをすべて閉じてから、再起動を行います。
【図解:PCの再起動を促すメッセージ】
* 機能変更後に表示される「PCを再起動する必要があります」といったメッセージのスクリーンショット。- 重要: 再起動しないと、機能が無効化されず、アンインストールが完了しません。
このステップのまとめ:
「Windowsの機能の有効化または無効化」で「Linux用Windowsサブシステム」と「仮想マシン プラットフォーム」(WSL2を使用していた場合)のチェックを外し、PCを再起動します。
ステップ3:Microsoft StoreからインストールされたWSL関連パッケージを削除する
近年、WSLの本体やWSLgなどの機能はMicrosoft Storeを通じて提供されるパッケージとしてインストールされることが増えています。これらも削除します。
-
Windowsの設定を開き、「アプリ」→「アプリと機能」に進みます。(ステップ1の方法2と同じ手順です)
-
インストールされているアプリの一覧から、WSL関連のパッケージを探します。
- 検索ボックスに「WSL」や「Windows Subsystem for Linux」と入力して絞り込むと探しやすいです。
- 以下の名前のパッケージが存在する可能性があります。
- Windows Subsystem for Linux (または WSL)
- Windows Subsystem for Linux Preview (プレビュー版を使用していた場合)
- WSLg Preview (GUIアプリサポートを使用していた場合)
- Microsoft.WSL (システム内部名)
- ステップ1で「アプリと機能」からディストリビューションを削除しなかった場合、ここにも表示されます。
【図解:「アプリと機能」でWSL関連パッケージを検索】
* 「アプリと機能」の検索ボックスに「WSL」と入力し、該当するパッケージ(例: Windows Subsystem for Linux)が表示されている画面のスクリーンショット。WSLg Previewなども表示されている場合はそれも示す。 -
該当するWSL関連パッケージをすべてクリックし、「アンインストール」ボタンをクリックします。
【図解:「アプリと機能」からWSL関連パッケージをアンインストール】
* 検索結果からパッケージ名(例: Windows Subsystem for Linux)をクリックし、「アンインストール」ボタンをクリックしている画面のスクリーンショット。
* アンインストール確認のポップアップが表示される場合、それも示す。 -
表示される指示に従ってアンインストールを完了させます。
- 複数のWSL関連パッケージがある場合は、それぞれについてアンインストールを実行します。
このステップのまとめ:
「アプリと機能」で「WSL」や「Windows Subsystem for Linux」と検索し、見つかったWSL本体やWSLgなどのパッケージをすべてアンインストールします。
ステップ4:WSL関連ファイルの削除(手動・任意・上級者向け)
通常、ステップ1~3でWSLはほぼ完全にアンインストールされます。特に wsl --unregister
コマンドはディストリビューションのルートファイルシステム(.vhdx
ファイル)を削除します。しかし、まれに一部のファイルや一時ファイル、設定ファイルが残ることがあります。完全にクリーンアップしたい場合は、以下の場所を手動で確認・削除します。
注意: このステップは任意であり、上級者向けです。 Windowsのシステムファイルや他のアプリケーションのファイルを誤って削除すると、システムが不安定になったり、起動しなくなったりする深刻な問題を引き起こす可能性があります。自信がない場合は、このステップはスキップすることをお勧めします。実行する場合は、細心の注意を払って、本当にWSL関連のファイルであるか慎重に確認してください。
-
エクスプローラーを開き、隠しファイルと隠しフォルダが表示されるように設定します。
- エクスプローラーのリボンメニューから「表示」タブを選択します。
- 「表示/非表示」グループにある「隠しファイル」のチェックボックスをオンにします。
【図解:エクスプローラーで隠しファイルを表示する設定】
* エクスプローラーの「表示」タブを開き、「隠しファイル」のチェックボックスをオンにしている画面のスクリーンショット。 -
以下の場所に移動し、WSL関連のフォルダやファイルが残っていないか確認します。
-
ディストリビューションのルートファイルシステム格納場所:
-
Microsoft Storeからインストールしたディストリビューションの場合、以下のパスにルートファイルシステム(
.vhdx
ファイル)が保存されていることが多いです。wsl --unregister
で削除されているはずですが、フォルダ構造自体が残っている可能性もあります。
%LOCALAPPDATA%\Packages\
このフォルダの中に、各ストアアプリに対応するフォルダがあります。WSLディストリビューションのフォルダは、通常「CanonicalGroupLimited.UbuntuonWindows_…」(Ubuntuの場合)や「Debian.DebianGNULinux_…」といった名前になっています。これらのフォルダ内にあるLocalState
フォルダの中にrootfs
フォルダや.vhdx
ファイルがあるはずですが、wsl --unregister
が成功していればこれらは存在しないはずです。もし残っている場合は、そのフォルダ(ディストリビューションに対応するもの)ごと削除を試みます。【図解:
%LOCALAPPDATA%\Packages\
フォルダを開く】
* エクスプローラーのアドレスバーに%LOCALAPPDATA%\Packages\
と入力してEnterキーを押している画面のスクリーンショット。
* 表示されたフォルダ一覧の中から、CanonicalGroupLimited.UbuntuonWindows_… のような名前のフォルダを探している様子を示す。
-
-
WSL本体関連ファイル:
- Microsoft Store版WSL本体の関連ファイルは、以下のパスに残っている可能性があります。
%LOCALAPPDATA%\Microsoft\WindowsApps\Microsoft.WSL_...
このフォルダ自体や中のファイルが残っているか確認し、削除を試みます。ただし、これは「アプリと機能」からのアンインストールで削除されるはずです。
- Microsoft Store版WSL本体の関連ファイルは、以下のパスに残っている可能性があります。
-
WSLカーネル関連ファイル:
- WSL2のLinuxカーネルファイルは、以下の場所に保存されることがあります。
C:\Program Files\Linux
このフォルダ内に「Microsoft」などのサブフォルダがあり、カーネルファイル(例:vmlinux
)が格納されています。WSL機能やWSL本体パッケージを削除していれば、このフォルダ自体が存在しないか空になっているはずですが、念のため確認し、残っている場合は削除を試みます。
- WSL2のLinuxカーネルファイルは、以下の場所に保存されることがあります。
-
WSL関連のその他の場所:
- 一時ファイルやログファイルが以下の場所などに残っている可能性があります。
%TEMP%
%USERPROFILE%\.wslconfig (WSL全体の設定ファイル。存在すれば削除して良い)
- 一時ファイルやログファイルが以下の場所などに残っている可能性があります。
-
-
残っているWSL関連のフォルダやファイルを削除します。
- 削除したいフォルダやファイルを右クリックし、「削除」を選択します。
- 「ファイルは使用中です」といったエラーが出て削除できない場合は、PCを再起動してから再度試すか、タスクマネージャーでWSL関連のプロセス(
wsl.exe
など)が実行されていないか確認して終了させてから削除します。
このステップのまとめ:
%LOCALAPPDATA%\Packages\
や C:\Program Files\Linux
などを手動で確認し、WSL関連のファイルやフォルダが残っていれば削除します。ただし、この操作はシステムに影響を与える可能性があるため、自信がない場合は行わないでください。
ステップ5:レジストリのクリーンアップ(高度・非推奨・上級者向け)
Windowsのシステムレジストリには、様々な設定情報が保存されています。WSLに関するエントリも一部残ることがありますが、通常はこれらを手動で削除する必要はありません。Windowsのクリーンアップ機能や、ステップ1~3の手順で関連するレジストリエントリも自動的に削除されることが多いです。
【警告】レジストリの編集は非常に危険です!
レジストリを誤って編集すると、Windowsが起動しなくなる、アプリケーションが正常に動作しなくなるなど、深刻なシステム障害を引き起こす可能性があります。
レジストリ編集の経験がない方、または自信がない方は、 絶対にこのステップを実行しないでください。 マイクロソフトもレジストリの手動編集は推奨していません。
どうしてもレジストリからWSL関連のエントリを削除したい場合は、以下の手順を自己責任で行います。
-
レジストリをバックアップします。
- レジストリエディターを開く前に、必ずレジストリ全体のバックアップを作成してください。これにより、問題が発生した場合に元の状態に戻すことができます。
- レジストリエディター (
regedit.exe
) を開き、「ファイル」メニューから「エクスポート」を選択します。 - 「エクスポート範囲」で「すべて」を選択し、任意の場所に分かりやすい名前で保存します(例:
Registry_Backup_YYYYMMDD.reg
)。
【図解:レジストリエディターでのエクスポート(バックアップ)】
*regedit
を起動し、「ファイル」→「エクスポート」を選択し、「エクスポート範囲」で「すべて」を選んで保存ダイアログが表示されている画面のスクリーンショット。 -
管理者権限でレジストリエディターを開きます。
- Windowsの検索バーに「regedit」と入力し、表示された「レジストリエディター」を右クリックし、「管理者として実行」を選択します。
- UACダイアログが表示されたら「はい」をクリックします。
【図解:管理者としてレジストリエディターを開く】
* タスクバーの検索ボックスに「regedit」と入力し、検索結果の「レジストリエディター」を右クリックして「管理者として実行」を選択している画面のスクリーンショット。 -
以下のパスに移動します。
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Lxss
- このキーの下に、インストールされていたWSLディストリビューションに関する情報がサブキーとして格納されていることがあります。サブキーの名前は
{ランダムな文字列}
の形式になっています。これらのサブキーを選択すると、右側のウィンドウにDistributionName
やBasePath
などの値が表示され、どのディストリビューションに関する情報かを確認できます。
- このキーの下に、インストールされていたWSLディストリビューションに関する情報がサブキーとして格納されていることがあります。サブキーの名前は
【図解:レジストリエディターで
Lxss
キーに移動】
* レジストリエディターの左側のツリービューで、HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Lxss
のパスを展開して選択している画面のスクリーンショット。
* 右側にディストリビューションの情報が表示されている様子も示す(あれば)。 -
WSLディストリビューションに関するサブキーを削除します。
Lxss
キーの直下にあるサブキーの中で、ステップ1で削除したディストリビューションに対応するものを慎重に特定し、右クリックして「削除」を選択します。- 確認ダイアログが表示されたら「はい」をクリックします。
【図解:レジストリサブキーの削除(注意喚起付き)】
*Lxss
キーの下にあるサブキー(例:{...}
)を右クリックし、「削除」を選択している画面のスクリーンショット。
* 削除確認のダイアログが表示されている場合、それも示す。この操作は取り消せません! という警告を強く示す必要がある。 -
WSL関連のその他のエントリを検索・削除します(さらに高度)。
- メニューの「編集」→「検索」を選択し、「wsl」や「Lxss」といったキーワードでレジストリ全体を検索し、該当するエントリを削除することも可能ですが、これはさらにリスクが高く、システムに必要なエントリまで誤って削除してしまう可能性があります。この方法は強く非推奨です。
レジストリ操作の注意点:
* バックアップは必須です。
* 削除するのは、WSLディストリビューションに関連することが確実に分かっているキーや値のみに限定してください。
* システムに関わる重要なキー(例: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LxssManager
など)は、WSL機能の無効化(ステップ2)で処理されるため、手動で削除するべきではありません。
* 不安がある場合は、このステップはスキップしてください。通常の使用において、レジストリに一部WSL関連のエントリが残っていても、大きな問題は発生しません。
このステップのまとめ:
レジストリの HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Lxss
キー以下にWSLディストリビューションに関する情報が残っている場合、それを手動で削除することができます。しかし、この操作は危険が伴うため、レジストリ操作に慣れていない方は絶対に行わないでください。実行する場合は必ずバックアップを取ってください。
アンインストール後の確認
以上のステップを完了したら、WSLがシステムから完全に削除されたことを確認します。
-
インストール済みディストリビューションがないことを確認します。
- 管理者権限でコマンドプロンプトまたはPowerShellを開きます。
-
以下のコマンドを実行します。
“`bash
wsl –list –verboseまたは wsl -l -v
“`
-
出力結果が「There are no installed distributions.」と表示されるか、Docker Desktop などWSL以外の用途でインストールされたディストリビューションのみが表示されていれば成功です。ユーザーがインストールしたUbuntuやDebianなどの名前が表示されていなければOKです。
【図解:アンインストール後の
wsl -l -v
実行結果】
* アンインストール完了後にwsl -l -v
を実行し、「There are no installed distributions.」と表示されている画面のスクリーンショット。 -
WSL機能が無効化されていることを確認します。
- 「Windowsの機能の有効化または無効化」ウィンドウを開きます。(ステップ2と同じ手順)
- リストの「Linux用Windowsサブシステム」と「仮想マシン プラットフォーム」のチェックボックスが、完全に空白になっていることを確認します。
【図解:無効化を確認した「Windowsの機能」画面】
* 「Windowsの機能の有効化または無効化」ウィンドウのスクリーンショット。
* 「Linux用Windowsサブシステム」と「仮想マシン プラットフォーム」のチェックボックスが両方とも完全に空白になっている状態を示す。 -
WSL関連パッケージがアンインストールされていることを確認します。
- Windowsの設定から「アプリと機能」を開きます。(ステップ1の方法2やステップ3と同じ手順)
- 検索ボックスで「WSL」や「Windows Subsystem for Linux」と検索し、関連するパッケージが表示されないことを確認します。
【図解:アンインストールを確認した「アプリと機能」画面】
* 「アプリと機能」で「WSL」と検索し、該当するアプリが表示されないか、以前表示されていたものが消えている状態を示すスクリーンショット。
これらの確認がすべてOKであれば、WSLはシステムからほぼ完全にアンインストールされています。
トラブルシューティング:WSLアンインストール時のよくある問題
アンインストール中にエラーが発生したり、うまく削除できなかったりする場合があります。ここでは、よくある問題とその対処法をいくつか紹介します。
問題1:ディストリビューション (wsl --unregister
) が削除できない、エラーが出る
-
原因: 対象のディストリビューションがまだ実行中の場合、削除できないことがあります。
- 対処法: 以下のコマンドで対象のディストリビューションを終了させてから、再度
wsl --unregister
コマンドを実行します。
bash
wsl --terminate <ディストリビューション名>
すべてのWSLディストリビューションを終了させる場合は、以下のコマンドを使用します。
bash
wsl --shutdown - 図解:
wsl --terminate Ubuntu-20.04
やwsl --shutdown
コマンドの実行例を示すスクリーンショット。
- 対処法: 以下のコマンドで対象のディストリビューションを終了させてから、再度
-
原因: WSL関連のプロセスがバックグラウンドで動いている可能性があります。
- 対処法: PC全体を再起動します。再起動することで、多くのバックグラウンドプロセスが終了します。再起動後に再度アンインストールを試みてください。
-
原因: 管理者権限でコマンドプロンプト/PowerShellを実行していません。
- 対処法: 必ずコマンドプロンプトまたはPowerShellを右クリックし、「管理者として実行」を選択してからコマンドを実行してください。
-
原因: ディストリビューションのファイルシステムが何らかの理由で使用中になっている。
- 対処法: エクスプローラーでWSLのファイルシステムを開いていないか確認し、開いている場合は閉じます。また、他のアプリケーション(IDEやターミナルなど)がWSL内のファイルにアクセスしていないか確認します。PCの再起動が最も効果的です。
問題2:Windowsの機能(「Linux用Windowsサブシステム」など)のチェックが外せない、エラーが出る
-
原因: 機能の変更に必要なファイルが破損している、またはシステムの状態が不安定。
- 対処法:
- PCを再起動してから再度試します。
- Windows Updateを実行し、システムを最新の状態にします。
- システムファイルチェッカーを実行して、破損したシステムファイルを修復します。管理者権限でコマンドプロンプトまたはPowerShellを開き、以下のコマンドを実行します。
bash
sfc /scannow
このコマンドは完了まで時間がかかる場合があります。完了後、PCを再起動して再度WSL機能の無効化を試みます。 - DISMコマンドを使用して、Windowsイメージを修復します。管理者権限でコマンドプロンプトまたはPowerShellを開き、以下のコマンドを実行します。
bash
DISM /Online /Cleanup-Image /RestoreHealth
これも時間がかかる場合があります。完了後、PCを再起動して再度WSL機能の無効化を試みます。
- 図解:
sfc /scannow
やDISM /Online /Cleanup-Image /RestoreHealth
コマンドの実行例を示すスクリーンショット。
- 対処法:
-
原因: セキュリティソフトや他のシステムツールが干渉している。
- 対処法: 一時的にセキュリティソフトなどを無効化してから機能の無効化を試みます。(自己責任で行ってください)
問題3:WSL関連ファイル(特に .vhdx
ファイル)が手動で削除できない
-
原因: ファイルがまだ使用中である。WSL関連のプロセスが完全に終了していない。
- 対処法:
wsl --shutdown
コマンドを実行して、すべてのWSLディストリビューションを終了させます。- タスクマネージャーを開き、WSL関連のプロセス(
wsl.exe
,wslhost.exe
,vmmem
など)が実行されていないか確認し、実行されている場合は終了させます。タスクマネージャーはCtrl + Shift + Esc
で開けます。 - PCを再起動します。これが最も確実です。再起動後、WSLが自動起動しないように注意し、すぐにファイルの削除を試みます。
- Windowsをセーフモードで起動して削除を試みることも有効な場合がありますが、手順が複雑になるため最終手段とします。
- 対処法:
-
原因: 管理者権限がない。
- 対処法: ファイルを削除するユーザーアカウントが管理者権限を持っているか確認します。また、エクスプローラー自体を管理者権限で実行する必要がある場合もありますが、通常は不要です。
問題4:アンインストール後も WSL コマンドが認識される、機能の一部が残っているように見える
- 原因: PATH環境変数に古いWSLのパスが残っている、またはMicrosoft Store版WSL本体が完全に削除されていない。
- 対処法:
- ステップ3でMicrosoft Store版WSL本体パッケージを削除したか確認し、削除していない場合は削除します。
- PCを再起動します。
- PowerShell/コマンドプロンプトを新しく開き直します。環境変数の変更は、新しいウィンドウを開かないと反映されないことがあります。
- PATH環境変数を確認し、WSL関連のパス(例:
%USERPROFILE%\AppData\Local\Microsoft\WindowsApps
以下にWSLの実行ファイルがある場合)が残っていないか確認します。必要であれば、環境変数を手動で編集して削除します(上級者向け)。
- 対処法:
これらのトラブルシューティングを行っても解決しない場合は、Microsoftの公式ドキュメントを参照したり、WSLコミュニティフォーラムで質問したりすることをお勧めします。
WSLを再インストールしたい場合
WSLを完全にアンインストールした後に、再度WSL環境を構築したい場合は、クリーンな状態から再インストールできます。
再インストールは非常に簡単です。管理者権限でコマンドプロンプトまたはPowerShellを開き、以下のコマンドを実行するだけです。
bash
wsl --install
このコマンドは、WSLに必要なWindows機能を有効化し、最新のWSLカーネルをダウンロードしてインストールし、デフォルトのLinuxディストリビューション(通常はUbuntu)をインストールして設定してくれます。
特定のディストリビューションをインストールしたい場合は、以下のようにディストリビューション名を指定します。
“`bash
wsl –install -d <ディストリビューション名>
例: wsl –install -d Debian
“`
インストール可能なディストリビューションの一覧は、wsl --list --online
(または wsl -l -o
) コマンドで確認できます。
完全にクリーンアップした状態からの再インストールは、以前の環境で発生していた問題を解決するための有効な手段となりえます。
まとめ
WSLを完全にアンインストールするには、単にディストリビューションを削除するだけでなく、WSLの機能自体、関連するWindows機能、そして補助的なパッケージをすべて取り除く必要があります。
本記事で解説した主要なステップは以下の通りです。
wsl --unregister <ディストリビューション名>
コマンド または 「アプリと機能」 から、インストールされているすべてのLinuxディストリビューションを削除します。- 「Windowsの機能の有効化または無効化」 から 「Linux用Windowsサブシステム」 と 「仮想マシン プラットフォーム」(WSL2の場合) のチェックを外し、PCを再起動します。
- 「アプリと機能」 から、「Windows Subsystem for Linux」 や 「WSLg Preview」 などのWSL関連パッケージを削除します。
これらのステップを順番通りに行うことで、通常はWSL環境が完全に削除されます。ステップ4と5(手動でのファイル削除とレジストリ編集)は任意かつ高度な操作であり、システムに悪影響を与えるリスクがあるため、自信がない場合は行わないでください。
アンインストール作業は、特に手動でのファイル削除やレジストリ編集のステップにおいて、注意深く行う必要があります。また、繰り返しますが、ディストリビューションの削除は中に保存されていたすべてのデータを完全に削除します。事前に必ず必要なデータのバックアップを取ってください。
この記事が、WSL環境のクリーンアップに役立てば幸いです。もし手順の中で不明な点や問題が発生した場合は、Microsoftの公式ドキュメントやWSLのコミュニティフォーラムで情報を検索したり、質問したりすることも検討してください。
免責事項: 本記事に記載された情報は、執筆時点(YYYY年MM月)のものであり、WindowsやWSLの将来的なアップデートにより手順や仕様が変更される可能性があります。本記事の手順を実行する際は、ご自身の責任において行ってください。レジストリの編集など、誤った操作はシステムに深刻な影響を与える可能性があります。不安がある場合は、専門家の助けを求めることをお勧めします。