Hyper-V仮想マシン内でWSL 2やHyper-Vを使えない
この記事の結論
ゲスト内で仮想化ベース機能を有効化しても仮想マシンを開始できない場合の安全な切り分け手順。ホストがCPU仮想化拡張をゲストへ公開していない、または実行中VMに設定を変更しようとしている。設定変更前に現在値を控え、公式機能だけを使って確認する。
一般的な切り分けガイドです。特定の不具合が現在発生しているという告知ではありません。
対象製品・影響範囲
- 製品
- Hyper-V nested virtualization
- 対象バージョン・条件
- Windows 11(対応機能はエディションとハードウェア要件を確認)
- 関連するエラーコード・識別子
- 0x80370102
発生する症状
- ゲスト内で仮想化ベース機能を有効化しても仮想マシンを開始できない
- 再起動や再試行だけでは同じ状態が続くことがある
原因・発生条件
ホストがCPU仮想化拡張をゲストへ公開していない、または実行中VMに設定を変更しようとしている。
作業前の準備
- 開いている文書と作業を保存し、必要ならPCを再起動できる時間を確保する
- 管理者権限が必要な操作は、個人所有PCまたは管理者の許可を得た端末だけで行う
- 診断用コマンド「Get-VMProcessor -VMName <VMName> | Select-Object ExposeVirtualizationExtensions」の結果を保存し、変更前後を比較できるようにする
この操作の注意点
- レジストリ、システムフォルダー、資格情報、記憶域を手作業で一括削除しない
- インターネット上の非公式スクリプトや不明なドライバーを管理者権限で実行しない
具体的な操作手順
設定コマンドを実行するのはVM内ではなくHyper-Vホストです。Hyper-Vマネージャーで対象VMの名前を確認し、ゲストOSを正常終了して状態がオフになったことを確認します。保存状態や一時停止では進めません。
対象VMを停止し、ホスト側の管理者PowerShellで公開状態を確認する。
Get-VMProcessor -VMName "VMName" | Select-Object ExposeVirtualizationExtensionsCPU仮想化拡張を対象VMへ公開し、ゲストを起動して必要なWindows機能を有効化する。
Set-VMProcessor -VMName "VMName" -ExposeVirtualizationExtensions $trueVMNameはHyper-Vマネージャーの実際の名前に置き換え、空白を含む名前は引用符で囲みます。設定後は対象VMだけを起動し、ゲスト内でsysteminfo.exeとWSLまたはHyper-Vの起動を確認します。クラウドのVMでは提供元が入れ子仮想化を許可している必要があります。
「systeminfo.exe」で状態を確認し、最初に記録した操作を同じ条件で一度実行する。成功した場合も再起動後にもう一度確認し、変更した設定と結果を記録する。
systeminfo.exe
改善したか確認する
- 対象機能がエラーを出さずに起動、接続、または処理を完了する
- 確認コマンドの出力が期待する有効・正常・接続済み状態を示す
- Windows再起動後にも同じ操作を再現でき、イベントログに同時刻の新しい重大エラーが増えない
改善しない場合・設定を戻す場合
- 同じコードが続く場合は、表示全文、Windowsビルド、確認コマンドの出力、発生時刻を添えてPC管理者またはMicrosoftサポートへ相談する
- ハードウェア要件、組織ポリシー、サーバー側設定が原因なら、クライアント側で回避せず所有者に変更を依頼する
このガイドの適用範囲
対処ガイド — 原因を切り分け、対象機能が正常に起動または接続でき、再起動後も同じ検証を通る状態を目標にする。
掲載内容は2026-09-05の情報確認に基づきます。以降の変更は公式出典でご確認ください。
よくある質問
VMを起動したままExposeVirtualizationExtensionsを変更できますか?
対象VMを完全に停止してからホスト側で設定します。保存状態では変更できない場合があります。
すべてのVMへ有効化してよいですか?
必要なVMだけを対象にします。入れ子仮想化は性能・セキュリティ設計に影響するため一括有効化しません。
出典・情報の更新
- 主な出典の更新・解決日
- 公式ページで日付を特定できないため記載していません
- 本サイトの確認日
- 2026-09-05
公式情報を日本語で整理しています。メニュー名は製品の表示言語や版によって異なる場合があります。確認日は障害の発生日を意味しません。編集方針