個人的な備忘録：WSL (Windows Subsystem for Linux) の削除で工夫が必要だったポイントをまとめてみた

## はじめに
今回は、私自身ではなく他の方が困っていたことについて、記事としてまとめました。

Windows上でLinuxを仮想的に動作させることができる「**WSL (Windows Subsystem for Linux)**」という仕組みがあります。

:::note warn
**インストールは比較的簡単ですが、アンインストールには少し工夫が必要だと感じました。**
:::

本記事は、その内容を自分用の備忘録としてまとめたものです。***走り書き程度のメモとなりますが、何卒ご容赦ください。***

## 困っていたこと
今回取り上げる内容は私自身の環境ではないため、正確にまとめるのが難しいことを前提としています。

:::note alert
***そのうえで、WSLの削除やアンインストール時に、想定以上の残留データが発生する点に困っていました。***
:::

今回のケースでは、WSLを削除する際に事前作業が必要であり、その部分にも工夫が求められると感じました。

Windowsでは通常、コントロールパネルから右クリックでアンインストールすれば簡単に削除できると考えていましたが、今回はそう単純ではありませんでした。

**最終的に、アカウントに管理者権限がなかったため一部の残留データは残りましたが、WSL本体や周辺データは削除でき、一応の解決には至りました。**

## WSL (Windows Subsystem for Linux) とは？
WSL（Windows Subsystem for Linux）は、Windows上でLinuxディストリビューションを実行できる機能です。

https://learn.microsoft.com/ja-jp/windows/wsl/install

***※これにより、Windowsの環境内でLinuxコマンドやツールを直接利用できます。***

**こんな感じで使えます**👇

![Screenshot 2025-01-19 at 9.29.08.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3662571/f4d33511-d24a-13a5-172f-b1feb3d734b9.png)


## 実際に削除がうまくいったコマンド備忘録
私自身、今後WSLを使う機会はないと思いますが、削除に成功したコマンドを備忘録としてご紹介します。

:::note alert
***この手順で必ずしも削除できるとは限りませんが、今回はこちらの方法でうまくいきました。***
:::

### 手順 1: 削除したいディストリビューションを確認する

1. **PowerShell またはコマンドプロンプトを開く**  
   Windowsのスタートメニューから「PowerShell」または「コマンドプロンプト」を検索して起動します。

2. **以下のコマンドを実行する**  
   インストールされているディストリビューションを確認するために、以下のコマンドを入力します。

```cmd
wsl --list --verbose
```

実行すると、インストールされているディストリビューションが一覧表示されます。

**実際のコマンド結果について**

```cmd
C:\Users\user>wsl --list --verbose
  NAME                   STATE           VERSION
* docker-desktop         Running         2
  docker-desktop-data    Stopped         2

C:\Users\user>
```

***削除したいディストリビューションの名前を確認してください。***

### 手順 2: ディストリビューションを削除する
確認したディストリビューション名を使用して、以下のコマンドを実行します。

```cmd
wsl --unregister <ディストリビューション名>
```

**例:** `docker-desktop` ディストリビューションを削除する場合

```cmd
wsl --unregister docker-desktop
```

***この操作により、指定したディストリビューションのデータが完全に削除されます。***

### 手順 3: 削除後の確認
再度、インストール済みディストリビューションを確認して、削除が成功したことを確認します。

```cmd
wsl --list --verbose
```

**この手順を実行すると、該当ディストリビューションのデータが完全に削除され、復元できなくなります。**

:::note alert
**※注意**

***削除前に、必要に応じて重要なファイルをバックアップしてください。***
:::

### 手順 4: Windows 機能の有効化または無効化を開きます
- スタートメニューで「Windows 機能」と検索します。
- 「Windows 機能の有効化または無効化」を選択します。

![Screenshot 2025-01-19 at 9.15.28.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3662571/93983206-2c58-b5c0-e5e6-6308771b76de.png)

### 手順 5: 対象の機能を無効化
- 表示されるリストから以下の項目のチェックを外します。
  - **Windows Subsystem for Linux**
  - **仮想マシンプラットフォーム**

![Screenshot 2025-01-19 at 9.16.08.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3662571/747118f7-309b-a80d-6c2b-308615d8b31d.png)


### 手順 6: 設定を適用
- 「OK」をクリックします。
- 指示に従って、Windows を再起動します。

これにより、WSL 自体が無効化され、関連する機能が削除されます。

## 補足：残留データの削除
WSLのデータが残っている場合、手動で削除する必要があります。***今回のケースでは、コマンドで削除した後もいくつかの残留データが残っていたため、手動で削除を行いました。***

:::note info
**なお、残留データの場所は環境によって異なるため、各自の設定に応じて対応する必要があります。**
:::

とはいえ、WSL本体の削除が完了していれば、残留データは気になる場合のみ削除すれば問題ないと考えています。

## まとめ
ここまでお読みいただきありがとうございました。***私自身、WSLを導入したことはありますが、正直なところ使用経験はなく、削除に思った以上の手間がかかると感じました。***

:::note warn
**特に、Windowsのアカウントに管理者権限がない場合、WSLの残留データを削除するのは手間がかかると感じました。**
:::

この内容がどこまで参考になるかわかりませんが、誰かの技術的な解決になれば幸いです。