WSL アンインストール 方法【完全削除】

はい、承知いたしました。WSL(Windows Subsystem for Linux)のアンインストール、特に「完全削除」に焦点を当て、約5000語の詳細な説明を含む記事を記述します。


WSL アンインストール 方法【完全削除】 – Windows Subsystem for Linux を徹底的にクリーンアップ

Windows Subsystem for Linux (WSL) は、Windows上でLinux環境を動作させるための強力なツールです。開発者やLinuxユーザーにとって非常に便利ですが、時には何らかの理由でWSLをアンインストールする必要が生じることもあります。例えば、WSLの動作がおかしくなった、別のバージョンをクリーンインストールしたい、あるいは単に不要になった、といったケースです。

単にWSLのパッケージをアンインストールするだけでは、関連ファイルや設定が完全に削除されずに残ってしまうことがあります。この記事では、WSLをシステムから完全に削除(クリーンアップ)するための詳細な手順を、初心者でも理解できるようにステップバイステップで解説します。標準的なアンインストール手順に加え、残存する可能性のあるファイルやレジストリのエントリまで削除する方法に触れます。ただし、後者の手順は高度な作業であり、誤った操作はシステムに深刻な影響を与える可能性があるため、十分な注意が必要です。

記事の対象読者:

  • WSLをアンインストールしたいと考えているユーザー。
  • 特に、WSLの関連設定やファイルを完全に削除し、クリーンな状態に戻したいユーザー。
  • コマンドプロンプトやPowerShellの基本的な操作に抵抗がないユーザー。

免責事項:

この記事で解説する手順の中には、システムの重要な設定であるレジストリの編集を含むものがあります。レジストリの誤った編集は、Windowsオペレーティングシステムの動作に重大な問題を引き起こす可能性があります。これらの手順は自己責任で行ってください。作業を開始する前に、重要なデータのバックアップや、可能であればシステムの復元ポイントの作成を強く推奨します。この記事の情報に基づいて行われた操作によって発生したいかなる損害についても、筆者は責任を負いかねます。

1. なぜ「完全削除」が必要なのか?

WSLをアンインストールする方法はいくつかありますが、最も簡単なのは「アプリと機能」から関連パッケージを削除する方法です。しかし、この方法だけでは、以下のような情報がシステムに残存する可能性があります。

  • ディストリビューションのファイルシステム: ユーザーがインストールしたLinuxディストリビューションのルートファイルシステムは、通常 %LOCALAPPDATA%\Packages などの場所に保存されます。標準的なアンインストールだけでは、この巨大なフォルダが削除されずに残ることがあります。
  • WSLの構成ファイル: WSL自体の設定ファイルや、各ディストリビューション固有の設定ファイルが残る可能性があります。
  • レジストリのエントリ: Windowsのレジストリには、WSLやインストールされたディストリビューションに関する情報が記録されています。これらのエントリが残存すると、将来WSLを再インストールした際に意図しない動作を引き起こしたり、クリーンな状態からの再構築を妨げたりする可能性があります。
  • 仮想ハードディスクファイル (WSL2): WSL2を使用している場合、ディストリビューションのファイルシステムはVHDXファイルとして保存されます。これらのファイルもアンインストール後に残ることがあります。

これらの残存情報が問題を引き起こすことは稀かもしれませんが、特にWSLの動作がおかしくなった場合や、完全にまっさらな状態からWSLを再構成したい場合には、「完全削除」が必要となります。これにより、古い設定や破損したファイルの影響を受けない、クリーンな環境を構築できます。

「完全削除」とは、単にアプリを削除するだけでなく、WSLに関連するすべてのファイル、フォルダ、設定、レジストリエントリなどをシステムから徹底的に削除することを目指します。

2. 作業を開始する前に: 重要な準備と注意点

WSLの完全削除は、システム環境を大きく変更する作業です。作業を開始する前に、以下の準備と注意点を確認してください。

2.1 データのバックアップ

WSL環境内に保存されている重要なファイルやデータがある場合は、必ず事前にバックアップを取得してください。以下の方法があります。

  • wsl --export コマンド: WSLの特定のディストリビューション全体を .tar ファイルにエクスポートできます。これにより、後で wsl --import コマンドを使って同じ状態のディストリビューションを復元することが可能です。これは、特に設定やインストールしたパッケージが多い場合に有効なバックアップ方法です。

    “`bash
    wsl –export <ディストリビューション名> <保存先ファイルパス>

    例: wsl –export Ubuntu C:\Backup\Ubuntu_backup.tar

    ``<ディストリビューション名>wsl -lで確認できます。<保存先ファイルパス>` はエクスポート先のファイル名をフルパスで指定します。

  • ファイルコピー: WSL内のファイルシステムは、Windowsのエクスプローラーからアクセス可能です (\\wsl$ とアドレスバーに入力するか、WSLのホームディレクトリをマウントするなど)。重要なファイルやディレクトリを手動でWindows側の安全な場所にコピーすることもできます。

    注意: \\wsl$ を通じたコピーは、Linuxのファイルパーミッションなどを正確に維持できない場合があります。単純なデータファイル(ドキュメント、ソースコードなど)のバックアップには適していますが、システム全体のバックアップとしては wsl --export の方が優れています。

2.2 システム復元ポイントの作成

万が一、アンインストール作業中にシステムに問題が発生した場合に備え、システムの復元ポイントを作成しておくと安心です。

  1. Windowsの検索バーに「復元ポイントの作成」と入力し、表示される項目を選択します。
  2. 「システムのプロパティ」ウィンドウが開いたら、「システムの保護」タブが表示されていることを確認します。
  3. システムドライブ(通常はCドライブ)の保護設定が「有効」になっていることを確認します。無効になっている場合は、「構成」ボタンをクリックして有効にします。
  4. 「作成」ボタンをクリックします。
  5. 復元ポイントの名前を入力し、「作成」をクリックします。例えば「WSLアンインストール前」など、後で分かりやすい名前にします。
  6. 復元ポイントが作成されるまで待ちます。

2.3 管理者権限の確認

WSLのアンインストールおよび関連ファイルの削除、レジストリの編集には、管理者権限が必要です。作業は管理者として実行されるコマンドプロンプトまたはPowerShellで行います。

2.4 WSLのバージョン確認 (WSL1 or WSL2)

WSLにはWSL1とWSL2の2つのバージョンがあります。アンインストール手順自体に大きな違いはありませんが、WSL2は仮想マシン技術を使用しているため、関連するWindows機能の無効化やファイル構成に若干の違いがあります。

現在使用しているWSLのバージョンを確認するには、コマンドプロンプトまたはPowerShellで以下のコマンドを実行します。

bash
wsl -l -v

出力の VERSION 列で各ディストリビューションのバージョンを確認できます。

3. WSL 完全削除 ステップバイステップ手順

ここから、WSLをシステムから完全に削除するための具体的な手順を追って解説します。

ステップ 1: 実行中のWSLディストリビューションを停止する

アンインストールや登録解除を行う前に、実行中のWSLインスタンスをすべて停止する必要があります。これにより、ファイルが使用中であることを原因とするエラーを防ぐことができます。

すべての実行中のWSLインスタンスをシャットダウンするには、管理者権限不要のコマンドプロンプトまたはPowerShellで以下のコマンドを実行します。

bash
wsl --shutdown

このコマンドは、すべての実行中のディストリビューションとWSL 2軽量ユーティリティ仮想マシンを即座にシャットダウンします。

特定のディストリビューションのみを停止したい場合は、以下のコマンドを使用します。

“`bash
wsl –terminate <ディストリビューション名>

例: wsl –terminate Ubuntu

``<ディストリビューション名>wsl -l -v` コマンドの出力で確認できる名前です。

実行中のディストリビューションを確認するには:

bash
wsl -l -v

出力の STATE 列が Running となっているものが実行中です。Stopped となっているものは停止中です。--shutdown コマンドを実行すると、すべての STATEStopped または表示されなくなります。

アンインストール前に、wsl -l -v を再度実行して、すべてのディストリビューションが停止していることを確認しておくと確実です。

ステップ 2: 各Linuxディストリビューションの登録を解除する (--unregister)

WSLディストリビューションをシステムから削除する最も重要なステップの一つが、登録解除です。これは、単にアプリをアンインストールするよりも強力な削除方法であり、ディストリビューションに関連付けられたファイルシステム全体を削除します。

注意: この操作は不可逆的です。登録解除されたディストリビューションのファイルシステムは削除され、元に戻せません。必要なデータは必ず事前にバックアップしてください。

管理者権限不要のコマンドプロンプトまたはPowerShellで、以下のコマンドを削除したいディストリビューションごとに実行します。

“`bash
wsl –unregister <ディストリビューション名>

例: wsl –unregister Ubuntu

例: wsl –unregister Debian

``<ディストリビューション名>wsl -l -v` コマンドで確認した、削除したいディストリビューションの名前です。

複数のディストリビューションをインストールしている場合は、削除したいディストリビューションすべてに対してこのコマンドを繰り返します。

例えば、UbuntuとDebianをインストールしている場合:

bash
wsl --unregister Ubuntu
wsl --unregister Debian

このコマンドを実行すると、WSLはそのディストリビューションに関連付けられたルートファイルシステム(通常は %LOCALAPPDATA%\Packages\<DistroPackage>\LocalState\rootfs または WSL2 の VHDX ファイル)を削除します。これにより、ディスク容量が解放されます。

登録解除が完了したかどうかは、再度 wsl -l -v コマンドを実行して確認できます。登録解除されたディストリビューションはリストに表示されなくなります。

wsl --unregister とは別に、ストアアプリとしてのディストリビューションをアンインストールする必要があるか?

はい、通常は wsl --unregister でファイルシステムが削除されますが、Microsoft Storeからインストールしたディストリビューションは、Windowsの「アプリと機能」リストにも登録されています。--unregister はWSLの内部的な登録を解除し、ファイルシステムを削除しますが、ストアアプリとしての登録は残ることがあります。したがって、完全にクリーンアップするためには、次のステップでアプリとしてもアンインストールするのが推奨されます。ただし、--unregister を実行していれば、ディストリビューションのファイルシステムは既に削除されているため、アプリとしてのアンインストールは主にスタートメニューなどからのエントリを消す目的となります。

ステップ 3: WSLに関連するパッケージ(アプリ)をアンインストールする

次に、WindowsにインストールされているWSL関連のパッケージやアプリをアンインストールします。これには、Linuxディストリビューションのアプリ(例:Ubuntu、Debianなど)と、WSL自体を有効にするための主要なパッケージが含まれます。

以下の手順で「アプリと機能」からアンインストールします。

  1. Windowsの検索バーに「アプリと機能」と入力し、表示される項目を選択します。または、「設定」アプリを開き、「アプリ」>「アプリと機能」と進みます。
  2. アプリの一覧が表示されます。検索ボックスに「WSL」またはインストールしたディストリビューション名(例:「Ubuntu」、「Debian」、「Kali Linux」など)を入力して絞り込みます。
  3. 表示された関連項目を一つずつクリックし、「アンインストール」ボタンをクリックします。
    • Linuxディストリビューション名: 例:「Ubuntu」、「Debian」、「Kali Linux」、「openSUSE Leap 42」など。これらはMicrosoft Storeからインストールされたディストリビューションです。wsl --unregister でファイルシステムは削除済みですが、アプリとしてアンインストールして一覧から消去します。
    • Windows Subsystem for Linux Update: WSL2を使用している場合、「Windows Subsystem for Linux Update」または「WSL Update」のような名前のパッケージがインストールされていることがあります。これもアンインストールします。
    • WSLg: GUIアプリケーションをサポートするためにインストールした場合、「Microsoft VcXsrv」や「WSLg」のような関連パッケージがインストールされていることがあります。これらもアンインストールします。(WSLgは通常、WSLの機能の一部として含まれるようになりましたが、古いバージョンでは別個にインストールが必要な場合がありました)。
    • その他の関連コンポーネント: サードパーティ製のWSL管理ツールや関連ソフトウェアをインストールしている場合は、それらも必要に応じてアンインストールします。
  4. アンインストールが完了するまで、画面の指示に従います。アンインストール後に再起動を求められる場合がありますが、他のクリーンアップ作業が残っているため、この時点ではまだ再起動せず、作業を続行します。

コマンドプロンプト/PowerShellからのアンインストール (高度な方法):

「アプリと機能」を使う代わりに、PowerShellコマンドレット Get-AppxPackageRemove-AppxPackage を使ってMicrosoft Storeアプリをアンインストールすることも可能です。これは特に複数のアプリをスクリプトで自動化したい場合に便利ですが、通常はGUIからの操作で十分です。

  1. 管理者としてPowerShellを開きます。
  2. インストールされているアプリのパッケージ名を検索します。
    powershell
    Get-AppxPackage | Select Name, PackageFullName
    # または、特定のキーワードで絞り込む
    Get-AppxPackage *Ubuntu* | Select Name, PackageFullName
    Get-AppxPackage *Microsoft.WSL* | Select Name, PackageFullName
  3. アンインストールしたいパッケージの PackageFullName を特定します。
  4. 以下のコマンドでアンインストールを実行します。
    powershell
    Remove-AppxPackage <PackageFullName>
    # 例: Remove-AppxPackage CanonicalGroupLimited.UbuntuonWindows_xxxx...
    # 例: Remove-AppxPackage Microsoft.WSLUpdate_xxxx...

    <PackageFullName> は、前のステップで取得したパッケージのフルネームに置き換えてください。

どちらの方法を使用しても、関連アプリをシステムから削除することが目的です。

ステップ 4: Windowsのオプション機能を無効化する

WSLの機能は、Windowsの「オプション機能」または「Windowsの機能の有効化または無効化」としてシステムに統合されています。これを無効化することで、WSLのランタイム環境自体を非アクティブ化します。

  1. Windowsの検索バーに「Windowsの機能の有効化または無効化」と入力し、表示される項目を選択します。
  2. 「Windowsの機能」ウィンドウが表示されます。
  3. リストの中から以下の項目を探し、チェックを外します。
    • Linux 用 Windows サブシステム (Windows Subsystem for Linux): WSL1 および WSL2 の両方に関連する基本機能です。これを無効にします。
    • 仮想マシン プラットフォーム (Virtual Machine Platform): WSL2は仮想マシン技術を使用しているため、この機能に依存しています。WSL2のみを使用していた場合、この機能も無効にすることで関連コンポーネントを停止できます。ただし、Hyper-VやDocker Desktopなど、他の仮想化技術を使用している場合は、この機能が必要な場合があるため、その場合はチェックを外さないでください。完全にWSLだけを削除したい場合はチェックを外します。
  4. 「OK」をクリックします。
  5. 変更を適用するために、Windowsの再起動を求められます。この時点ですぐに再起動せず、次のステップで関連ファイルのクリーンアップを行います。

PowerShellからの無効化 (高度な方法):

以下のPowerShellコマンドレットを使用しても、これらのWindows機能を無効化できます。管理者としてPowerShellを実行してください。

“`powershell

Linux 用 Windows サブシステム を無効化

Disable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux -NoRestart

仮想マシン プラットフォーム を無効化 (WSL2のみを削除する場合で、他のVMを使わない場合)

Disable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform -NoRestart
``-NoRestart` オプションは、変更を適用するために再起動を抑制します。この後、手動で再起動を行います。

ステップ 5: 残存する関連ファイルやフォルダをクリーンアップする (重要: 完全削除のため)

標準的なアンインストールや wsl --unregister だけでは削除されない、WSLに関連するファイルやフォルダがシステムに残存している可能性があります。これらを削除することで、よりクリーンな状態にします。このステップは「完全削除」において非常に重要ですが、手動でのファイル操作が含まれるため、注意深く行ってください。

主な対象は、ディストリビューションのファイルシステムが格納されていた場所です。

  1. ディストリビューションのファイルシステム格納場所:

    • Microsoft Storeからインストールしたディストリビューションのデフォルトの格納場所は、通常以下のパスの下です。
      %LOCALAPPDATA%\Packages\<DistroPackage>\LocalState
      ここで、%LOCALAPPDATA%C:\Users\<UserName>\AppData\Local を指します。
      <DistroPackage> は、インストールしたディストリビューションによって異なります。例えば:

      • Ubuntu: CanonicalGroupLimited.UbuntuonWindows_xxxxxx (xxxxxxはランダムな文字列)
      • Debian: TheDebianProject.DebianGNULinux_xxxxxx
      • Kali Linux: KaliLinux.KaliLinux_xxxxxx
      • openSUSE: 46932SUSE.openSUSELeap42.2_xxxxxx
      • SLES: 46932SUSE.SLES12SP2_xxxxxx
        エクスプローラーのアドレスバーに %LOCALAPPDATA%\Packages と入力して移動し、アンインストールしたディストリビューションに該当するフォルダを探します。
    • wsl --import コマンドで手動でインストールした場合、ファイルシステムは wsl --import 実行時に指定した場所に保存されています。その場所を特定し、手動で削除します。これは通常 .vhdx ファイル(WSL2の場合)またはフォルダ構造(WSL1の場合)です。

  2. 削除手順:

    • エクスプローラーを開き、上記のパス(%LOCALAPPDATA%\Packageswsl --import で指定した場所)に移動します。
    • アンインストールしたディストリビューションに該当するフォルダ(例: CanonicalGroupLimited.UbuntuonWindows_xxxxxx)を探します。
    • 注意: フォルダ名が似ている別の重要なアプリのフォルダを誤って削除しないよう、慎重に確認してください。不安な場合は、フォルダ名を検索して、それが間違いなくアンインストールしたいWSLディストリビューションに関連するものか確認します。
    • 該当するフォルダを右クリックし、「削除」を選択します。
    • アクセス許可を求められた場合は、管理者権限で続行します。
    • WSL2を使用していた場合、.vhdx ファイルが残っている可能性があります。これらのファイルは、通常 %LOCALAPPDATA%\Packages\<DistroPackage>\LocalState\<DistroName>.vhdx または wsl --import で指定した場所に保存されています。これらの .vhdx ファイルも削除します。
  3. その他の可能性のある場所:

    • 一時ファイル: WSL関連の一時ファイルやログファイルが、一時ディレクトリ (%TEMP% または %LOCALAPPDATA%\Temp) に残っている可能性があります。これらの場所は定期的にクリーンアップされるため、手動で削除する必要性は低いですが、気になる場合はクリーンアップツールを使用するか、手動で一時ファイルを削除します。
    • カスタム設定ファイル: WSLConfig ファイル (C:\Users\<UserName>\.wslconfig/etc/wsl.conf など) がある場合、これらは WSL 外部のファイルシステムに保存されているため、手動で削除する必要がある場合があります。

ファイルが削除できない場合:

  • 「ファイルが別のプログラムで使用されています」というエラーが表示される場合、まだWSL関連のプロセスが実行されている可能性があります。念のため、コマンドプロンプトで wsl --shutdown を再度実行するか、タスクマネージャーで wsl.exe や関連するプロセス(vmmem など)が実行されていないか確認し、終了させます。
  • Windowsを再起動してから再度削除を試みます。再起動によって、使用中のファイルが解放されることが多いです。
  • アクセス許可の問題が発生する場合、フォルダのプロパティからセキュリティ設定を変更する必要がある場合があります。これは高度なトラブルシューティングであり、誤った設定はセキュリティリスクを高めるため、慎重に行うか、専門知識のある人の助けを借りてください。

このステップで、WSLディストリビューションの大部分を占めるファイルシステムが削除され、ディスク容量が大幅に解放されるはずです。

ステップ 6: レジストリキーをクリーンアップする (非常に高度な作業 – 自己責任)

警告: レジストリの編集は、Windowsオペレーティングシステムの根幹に関わる非常に危険な作業です。誤ったキーや値を削除・変更すると、システムが起動しなくなったり、予期しない問題が発生したりする可能性があります。このステップは、レジストリの構造を理解しており、かつ他の方法では解決できない問題がある場合にのみ、細心の注意を払って実行してください。通常の使用においては、ここまでの手順で十分なクリーンアップが行われています。

このステップを開始する前に、必ずレジストリのバックアップを取得してください。

レジストリのバックアップ方法:

  1. Windowsの検索バーに「regedit」と入力し、レジストリエディターを管理者として実行します。
  2. 「ファイル」メニューから「エクスポート」を選択します。
  3. エクスポート範囲で「すべて」を選択します。
  4. 分かりやすい名前(例: Registry_Backup_Before_WSL_Cleanup.reg)を付けて、安全な場所に保存します。

WSLに関連する可能性のあるレジストリパス:

WSLに関する情報は、主に以下のパスの下に格納されていることがあります。

  • HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Lxss
  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Lxss
  • HKEY_USERS\<User-SID>\Software\Microsoft\Windows\CurrentVersion\Lxss ( <User-SID> は現在のユーザーのセキュリティ識別子です)

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Lxss の下には、インストールされていた各ディストリビューションに関するサブキー(GUIDのような名前)が含まれていることがあります。

クリーンアップ手順 (細心の注意を払って実行):

  1. レジストリエディターで、上記のパスに移動します。
  2. HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Lxss を開きます。この下に、 {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} のような形式のサブキーがいくつかあるかもしれません。これらのサブキーは、過去にインストールされていた各WSLディストリビューションに対応している可能性があります。
  3. 各サブキーを選択し、右ペインに表示される値(例: BasePath, DefaultUid, State など)を確認します。これらの値から、どのディストリビューションに関連するキーかを推測できる場合があります(例: BasePath が削除したディストリビューションのファイルパスを示しているなど)。
  4. 警告: どのキーが安全に削除できるかを正確に判断するには、高度な知識が必要です。特に、削除したディストリビューションに 明確に 関連すると思われるサブキーのみを削除対象として検討してください。Lxss キー自体や、他の重要なシステムキーを誤って削除しないよう、絶対に 注意してください。
  5. 削除したいサブキー(例: {xxxxxx-....})を右クリックし、「削除」を選択します。確認のダイアログが表示されたら、内容をよく確認し、間違いがなければ「はい」をクリックします。
  6. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Lxss にも関連情報が含まれている可能性があります。同様に確認し、削除したディストリビューションに関連すると思われるエントリを探します。ただし、この場所はシステム全体の設定を含むため、さらに慎重な判断が必要です。通常、手動でインストールまたは設定変更していない限り、ここに削除すべきユーザー固有の情報は少ないかもしれません。
  7. HKEY_USERS の下にある現在のユーザーのSIDに対応するパスも確認できますが、これは HKEY_CURRENT_USER と同じ場所を指していることが多いです。

繰り返しになりますが、このステップは非常にリスクが高く、通常は不要です。不安がある場合は、このステップはスキップすることを強く推奨します。 ここまでの手順(ステップ1〜5)で、ほとんどのユーザーにとって十分なクリーンアップが行われます。レジストリの編集は、WSL関連の明確な問題が残っており、その原因がレジストリにあると強く疑われる場合にのみ検討すべきです。

ステップ 7: Windowsを再起動する

これまでの変更(Windows機能の無効化、ファイル削除、レジストリ変更)をシステムに完全に適用するには、Windowsを再起動する必要があります。

開いているすべてのアプリケーションを保存し、Windowsを再起動します。

ステップ 8: クリーンアップが成功したことを確認する

Windowsが再起動されたら、WSLがシステムから完全に削除されたことを確認します。

  1. WSLコマンドの確認: コマンドプロンプトまたはPowerShellを開き、以下のコマンドを実行します。
    bash
    wsl --list
    # または
    wsl -l -v

    WSLが正常にアンインストールされていれば、「インストールされているディストリビューションがありません。」のようなメッセージが表示されるか、WSLが認識されない旨のエラーが表示されるはずです。

  2. アプリと機能の確認: 「設定」>「アプリ」>「アプリと機能」を開き、検索ボックスに「WSL」やインストールしていたディストリビューション名を入力します。関連するエントリが表示されないことを確認します。

  3. Windowsの機能の確認: 「Windowsの機能の有効化または無効化」を開き、「Linux 用 Windows サブシステム」と「仮想マシン プラットフォーム」(WSL2を使用していた場合で無効化したなら)のチェックが外れたままになっていることを確認します。

  4. ファイルシステムの確認: ステップ5で手動削除した %LOCALAPPDATA%\Packages\<DistroPackage> フォルダや、wsl --import で指定した場所の .vhdx ファイルなどが削除されていることをエクスプローラーで確認します。

これらの確認がすべて成功すれば、WSLはシステムからほぼ完全に削除されたと言えます。

4. トラブルシューティングとよくある質問

Q1: wsl --unregister <DistroName> がエラーになる、または完了しない

A: このエラーは、指定したディストリビューションが現在実行中である場合に発生することがあります。ステップ1に戻り、wsl --shutdown コマンドでWSL全体をシャットダウンするか、wsl --terminate <DistroName> で個別に停止させてから、再度 wsl --unregister を実行してください。

Q2: 「アプリと機能」からディストリビューションがアンインストールできない

A: ディストリビューションが実行中であるか、バックグラウンドプロセスが残っている可能性があります。wsl --shutdown または wsl --terminate で停止させてから再度試してください。それでもできない場合は、Windowsを再起動してからアンインストールを試みます。まれに、アプリのインストール状態が破損している可能性もありますが、ステップ2の wsl --unregister でファイルシステムが削除されていれば、機能的にはほぼ削除されています。アプリリストからのエントリをどうしても消したい場合は、Microsoftのトラブルシューティングツールや PowerShellの Remove-AppxPackage を試すことになる場合があります(ただし、これらは高度な作業です)。

Q3: ステップ5で関連ファイル/フォルダが削除できない

A:
* ファイルが使用中: WSL関連のプロセスがまだ実行されていないか確認します。wsl --shutdown を実行し、タスクマネージャーで wsl.exevmmem (WSL2の場合) といったプロセスが動いていないか確認してください。また、Windowsのエクスプローラーが対象のフォルダを開いている場合も削除できないことがあります。エクスプローラーを閉じ、再度削除を試みてください。
* 権限の問題: 削除には管理者権限が必要です。エクスプローラーを管理者として実行することは通常できませんが、管理者権限を持つユーザーアカウントでサインインしているか確認してください。また、フォルダやファイルのセキュリティ設定が特殊になっている可能性もありますが、通常はこの問題は発生しません。
* 再起動: Windowsを再起動すると、ファイルロックが解除されて削除できるようになることが多いです。

Q4: レジストリを編集する自信がない、またはリスクが高すぎる

A: レジストリ編集は非常にリスクが高い作業です。この記事の手順で言うと、ステップ1からステップ5までを実行すれば、WSLの主要なコンポーネント、ディストリビューションのファイルシステム、および関連アプリはシステムから削除され、ほとんどの目的において十分なクリーンアップとなります。レジストリに残存する情報は、通常はシステム全体のパフォーマンスや安定性に悪影響を与えることはありません。したがって、レジストリ編集に自信がない場合は、ステップ6はスキップすることを強く推奨します

Q5: WSLを再インストールしたい場合、この「完全削除」は必要か?

A: WSLに何らかの問題が発生しており、クリーンな状態からやり直したい場合は、「完全削除」は有効な手段です。しかし、単に別のディストリビューションを追加したり、WSLのバージョンをアップグレードしたりするだけであれば、通常は既存のWSL環境を削除する必要はありません。問題が起きていない場合は、ステップ1〜4(特に wsl --unregister とアプリのアンインストール)程度で十分な場合が多いです。ステップ5や6のファイル・レジストリクリーンアップは、問題の根本的な解決を目指す場合や、システムを徹底的に綺麗にしたい場合に検討します。

Q6: WSL1とWSL2でアンインストール手順は違うか?

A: 基本的な手順は同じです。ただし、WSL2は「仮想マシン プラットフォーム」機能に依存しているため、これを無効にするステップ(ステップ4)が必要になります。WSL1のみを使用していた場合は、「仮想マシン プラットフォーム」は有効になっていないはずですので、このステップは不要です。また、WSL2はファイルシステムを .vhdx ファイルとして管理するため、ステップ5のファイルクリーンアップで .vhdx ファイルを削除する作業が含まれます。

Q7: サードパーティ製のWSL管理ツールやUIツールを使っていた場合

A: それらのツールがWSL環境に深く統合されている場合、アンインストール後にそれらのツール自体もアンインストールする必要があるかもしれません。各ツールのアンインストール手順に従ってください。これらのツールがWSL関連のファイルを別の場所に作成している可能性もありますが、その場合はツールのドキュメントを参照してクリーンアップ方法を確認する必要があります。

5. クリーンアップ後のWSL再インストールについて (任意)

WSLを完全に削除した後、再度WSLを使用したい場合は、クリーンな状態から再インストールを行うことができます。再インストール手順は、Microsoftの公式ドキュメントに詳しく記載されています。

一般的な再インストール手順の概要は以下の通りです。

  1. 管理者としてPowerShellを開きます。
  2. WSLの主要コンポーネントを有効化します。
    powershell
    wsl --install

    このコマンドは、「仮想マシン プラットフォーム」と「Linux 用 Windows サブシステム」機能を有効化し、WSL カーネルをダウンロードし、デフォルトのLinuxディストリビューション (通常はUbuntu) をインストールします。
    特定のディストリビューションをインストールしたい場合は、wsl --install -d <DistroName> のように指定できます(例: wsl --install -d Debian)。
  3. システムの再起動を求められた場合は、再起動します。
  4. インストールしたLinuxディストリビューションを起動し、初期設定(ユーザー名とパスワードの設定)を行います。

完全にクリーンアップした後であれば、過去の設定や破損したファイルの影響を受けずに、まっさらな状態でWSL環境を構築できるメリットがあります。

過去にバックアップしたディストリビューションの .tar ファイルがある場合は、wsl --import コマンドを使ってそれを復元することも可能です。

“`bash
wsl –import <新しいディストリビューション名> <インストール先フォルダ> <エクスポートしたtarファイルのパス> –version <1または2>

例: wsl –import MyUbuntu C:\WSL\UbuntuRecover C:\Backup\Ubuntu_backup.tar –version 2

“`

6. まとめ

この記事では、WSL(Windows Subsystem for Linux)をシステムから徹底的に「完全削除」するための詳細な手順を解説しました。標準的なアンインストールだけでなく、残存するファイルや設定、そして高度なレジストリのクリーンアップ方法までをステップバイステップで説明しました。

完全削除の主なステップの要約:

  1. 実行中のWSLディストリビューションを停止する (wsl --shutdown または wsl --terminate)。
  2. 各Linuxディストリビューションの登録を解除する (wsl --unregister) – これによりファイルシステムが削除されます。
  3. 「アプリと機能」からWSL関連のパッケージ(ディストリビューションアプリ、WSL Updateなど)をアンインストールする。
  4. 「Windowsの機能の有効化または無効化」から「Linux 用 Windows サブシステム」と「仮想マシン プラットフォーム」(WSL2の場合)を無効化する。
  5. 手動で残存する関連ファイルやフォルダ(%LOCALAPPDATA%\Packages\<DistroPackage>.vhdx ファイルなど)を削除する – クリーンアップの重要なステップです。
  6. (上級者向け・自己責任) レジストリエディターを使って、WSLに関連する可能性のあるレジストリキーを削除する – リスクが高いため、慎重に、またはスキップしてください。
  7. Windowsを再起動する。
  8. wsl --list コマンドや「アプリと機能」リストで、クリーンアップが成功したことを確認する。

これらの手順をすべて実行することで、WSLはシステムからほぼ完全に削除され、クリーンな状態に戻すことができます。これにより、WSLに関する問題を解決したり、ゼロから新しい環境を構築したりすることが可能になります。

繰り返しになりますが、ステップ6のレジストリ編集は非常にリスクが高いため、必要性が低く、かつ自信がない場合は行わないでください。ステップ5までの手順でも、一般的な目的には十分なクリーンアップ効果が得られます。

WSLは素晴らしいツールですが、不要になった場合や問題が発生した場合には、この記事がそのクリーンな削除の一助となれば幸いです。


コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

上部へスクロール