🐧

WSLのインストールに失敗したら (起動してもエラーになったら) 試してみる方法

2023/06/23に公開

(ここでの WSL は、WSL2 のことを指します)
WSL のインストールは、公式手順 に従っても、WSL を起動したときに エラー が発生し、うまくいかないことがあります。

私の場合は、公式手順で紹介されているコマンド wsl --install で WSL をインストールしても、実際に Ubuntu などを起動しようとすると以下のような エラー が出てしまいました。

Installing, this may take a few minutes...
WslRegisterDistribution failed with error: 0x80370102
Error: 0x80370102 ??????????????????????????????????????

(他にも色々なエラーコードが出ることがあるようです)

WSLをインストールする別の方法

まず、タスクマネージャーでCPUの仮想化機能が有効になっているかどうか確認します。
有効になっていない場合はUEFIやBIOSから有効化します。
タスクマネージャーで仮想化機能の確認

次に、下記のWindowsの機能を一度無効にした後、有効にします。

  • 仮想マシンプラットフォーム
  • Linux 用 Windows サブシステム
  • Windows ハイパーバイザー プラットフォーム
    • WSL自体に必要ではありませんが、WSL(Hyper-V)と他の仮想化ツール(VirtualBoxなど)を併用する場合に必要です

コマンドで作業する場合の例です。
管理者権限で起動したPowerShell で次のコマンドを実行します。

# 一旦、機能を無効化
dism.exe /online /disable-feature /featurename:VirtualMachinePlatform /norestart
dism.exe /online /disable-feature /featurename:Microsoft-Windows-Subsystem-Linux /norestart
dism.exe /online /disable-feature /featurename:HypervisorPlatform /norestart
# ⚠PCを再起動
Restart-Computer -Force

再起動後、管理者権限で起動したPowerShell で次のコマンドを実行します。

# 機能を有効化
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:HypervisorPlatform /all /norestart
# ⚠PCを再起動
Restart-Computer -Force

再起動後、MSストア から Windows Subsystem for Linux をインストールすれば、完了です。

もし、WSLのインストールに困っている方がいたら、試してみてください。

Discussion