経緯
WSL2 を新しく入れようとして wsl --install
を実行したところ、以下のエラーが発生した。
必要な機能がインストールされていないため、操作を開始できませんでした。
Error code: Wsl/Service/CreateVm/HCS_E_SERVICE_NOT_AVAILABLE
再起動しても変化なし。原因を調べたところ、Hyper-V 周辺の機能が無効であったことが判明した。本記事では、同様のエラーに遭遇した際の対処法を記す。
結論
このエラーは、WSL2 の仮想化基盤である Hyper-V が無効になっている、または関連サービス(特に vmcompute
)が停止していることに起因するものである。
必要な Windows 機能を有効化し、仮想化支援機能を BIOS レベルで有効にすれば、エラーは解消される。
対処手順
1. Windows のバージョン確認
WSL2 を使うには、以下のいずれかである必要がある
- Windows 10 バージョン 2004(ビルド 19041 以上)
- Windows 11
バージョンは PowerShell 上から winver
で確認できる
winver
条件を満たしていない場合は Windows Update を実施すること。
2. 必要な Windows 機能の有効化
PowerShell 上から 以下の 3 つを有効にする。
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:Hyper-V /all /norestart
GUI で操作する場合は、「Windows の機能の有効化または無効化」から以下を選択すればよい。
- Virtual Machine Platform
- Windows Subsystem for Linux
- Hyper-V(画像のように表示されない場合があるが、その場合はスキップで問題ない)
3. Linux カーネルの更新
古い環境では WSL2 のカーネルが不足している可能性があるため、以下の公式サイトから更新用パッケージをインストールする。
4. BIOS/UEFI で仮想化支援機能を有効化
仮想マシンを動かすには、ハードウェアレベルでの仮想化機能(Intel VT-x または AMD-V)が必要である。
以下の手順で設定を確認する
- 再起動し、BIOS/UEFI 画面へ入る(DEL, F2 など、機種により異なる)
- 「Intel VT-x」や「AMD-V」などの仮想化項目を探し、
Enabled
に変更 - 設定を保存して再起動
5. Windows を再起動
ここまでの変更を反映させるため、Windows を再起動する。
6. 再度 wsl --install
を実行
wsl --install
これで通常は WSL2 のインストールが進むはずである。
補足:それでも解決しない場合
以下の点も確認するとよい
-
services.msc
を開き、Hyper-V Host Compute Service (vmcompute
) が「実行中」になっているか - サードパーティ製のアンチウイルスソフトが Hyper-V の通信を遮断していないか
-
wsl --set-default-version 2
を手動で実行してバージョン設定が済んでいるか
それでも解決しない場合は、HCS_E_SERVICE_NOT_AVAILABLE
でイベントログを検索するか、PC 固有の構成や制限を疑ってみるのがよい。