何が起きているのか
wsl --install を実行するか、Linuxディストリビューションを起動しようとしたとき、次のエラーが表示されます:
WslRegisterDistribution failed with error: 0x80370102
Please enable the Virtual Machine Platform Windows feature and ensure virtualization is enabled in the BIOS.
Windowsはまさに何が問題かを伝えています — ハードウェア仮想化がBIOSで無効になっているか、必要なWindowsコンポーネントが有効になっていないため、仮想マシンを起動できないのです。以下の手順を順番に実行してください。ほとんどの場合、15分以内に解決できます。
デバッグ前のチェックリスト
- Windows 10(ビルド19041以降)またはWindows 11を使用している
- CPUが仮想化をサポートしている(2010年以降に製造されたほぼすべてのCPUが対応)
- 管理者権限がある
ステップ1 — ハードウェア仮想化が有効かどうかを確認する
タスクマネージャーを開き、パフォーマンスタブ → CPUをクリックします。右下の仮想化の行を確認してください。無効と表示されている場合、それが根本原因です。
BIOS/UEFIに入って有効にする必要があります。設定名はメーカーによって異なります:
- Intel CPU: Intel VT-x、Intel Virtualization Technology、または VT-x
- AMD CPU: AMD-V、SVM Mode、または AMD Virtualization
BIOSに入るには:再起動して Del、F2、または F10 を押します — 正しいキーはPOST中に一瞬表示されます。入ったら、Advanced、CPU Configuration、または System Configuration を探します。仮想化の設定を有効にして、保存して終了します。
Windowsに戻ったら、タスクマネージャーを再度開きます。仮想化が有効と表示されているはずです。
ステップ2 — 必要なWindows機能を有効にする
WSL 2には2つのWindows機能が必要です:Virtual Machine PlatformとWindows Subsystem for Linux。PowerShellを管理者として開き、次を実行します:
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
その後、再起動します。再起動後、WSL 2をデフォルトバージョンに設定します:
wsl --set-default-version 2
ステップ3 — Hyper-Vが実行されていることを確認する
Hyper-VはWSL 2に厳密には必要ではありませんが、その下のハイパーバイザープラットフォームは必要です。アクティブかどうか確認します:
bcdedit /enum | findstr hypervisorlaunchtype
出力に hypervisorlaunchtype Off と表示された場合、再度有効にします:
bcdedit /set hypervisorlaunchtype auto
この変更後に再起動します。
ステップ4 — サードパーティの仮想化ソフトウェアとの競合
VMware Workstation、VirtualBox(レガシーモード)、および特定のウイルス対策ハイパーバイザードライバーはハードウェア仮想化を排他的に占有し、WSL 2を完全にシャットアウトしてしまいます。
VMware Workstation 15.5.5以降はHyper-Vとの共存をサポートしています。古いバージョンを使用している場合はアップデートしてください。
VirtualBox:バージョン6.1より前はHyper-Vと共存できません。VirtualBox 6.1以降にアップデートし、VMの設定でHyper-Vの準仮想化を有効にしてください。
Docker Desktopユーザーの場合:Hyper-V分離ではなく、WSL 2バックエンドを使用するように設定されていることを確認してください。これにより競合が追加されるのではなく、実際に解決されます。
古いウイルス対策ツール — Avast、AVG、2020年以前のKaspersky — もハイパーバイザーをブロックする可能性があります。ウイルス対策を一時的に無効にして原因かどうか確認し、その後アップデートするかハイパーバイザープロセスのホワイトリストルールを追加してください。
ステップ5 — ディストリビューションを再登録する
仮想化を修正してもディストリビューションがまだ失敗する場合、登録状態が破損している可能性があります。現在登録されているものを確認します:
wsl --list --verbose
ディストリビューションが壊れた状態を示している場合、登録解除して再インストールします:
wsl --unregister Ubuntu
wsl --install -d Ubuntu
または、まずWSL自体をアップデートします — これで多くの登録バグが解消されます:
wsl --update
wsl --shutdown
修正の確認
スタートメニューからディストリビューションを起動するか、単純に次を実行します:
wsl
bashシェルに入れるはずです。WSL 2が正しく動作していることを確認します:
wsl --list --verbose
期待される出力:
NAME STATE VERSION
* Ubuntu Running 2
VERSIONが2、STATEがRunningと表示されていれば問題ありません。
学んだこと
BIOSの仮想化が無効になっていることが、約60〜70%のケースで根本原因です — 特に購入したばかりのマシンやBIOSリセット後に多く見られます。タスクマネージャーのCPUパネルで再起動なしに数秒で確認できます。
もう一つのよくあるパターン:Hyper-Vとの共存が標準化される前に、VMwareやVirtualBoxを何年も前にインストールしたマシンです。これらの古いインストールはWSL 2と競合するハイパーバイザー設定を残していきます。サードパーティの仮想化ツールを最新の状態に保つことで、このような摩擦のほとんどを避けられます。
会社のノートパソコンの場合、ITポリシーによってBIOS仮想化がロックされていることがあります。その場合は、システム管理者に有効化を依頼するか、ハードウェア仮想化が不要なWSL 1(wsl --set-default-version 1)にフォールバックしてください。

