Windows の Hyper-V 有効化でエラー 0x800f080c を修正する方法

概要
Windows 10 / 11 にはオプションの仮想化機能 Hyper-V が組み込まれており、PowerShell やコマンドプロンプトから DISM コマンドで有効化できます。しかし、実行時に「A Windows features name was not recognized」や「Feature Name Microsoft-Hyper-V is Unknown」、エラーコード 0x800f080c が返ることがあります。本記事はその典型的な原因と段階的な対処法をまとめ、実務で使えるチェックリストや回避策、レジストリ編集時の注意点も提供します。
重要: Hyper-V は Windows のエディションによって利用可能かどうかが異なります。Home エディションでは直接サポートされていないため、特別なバッチスクリプトやワークアラウンドが必要です。
主な原因の一覧
- コマンドやスクリプトのタイプミス(最も多い)
- 実行中の Core isolation の「メモリ整合性」による競合
- スクリプトの実行が管理者権限でない
- Home エディションでのサポート外操作や間違ったパッケージ指定
- DISM / Windows Update の整合性問題
1. コマンドの綴りと構文を確認する
まず最も単純で多い原因を潰します。PowerShell で Hyper-V を有効化する正しいコマンド(Windows 11 Pro / Education / Enterprise 向け)は次の通りです。
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-All
チェックポイント:
- Microsoft-Hyper-V-All の前後や中に不必要なスペースや全角文字がないか
- PowerShell を管理者(管理者として実行)で開いているか
- OS のエディションが Pro / Edu / Enterprise であるか(Home は直接サポート外)
実際に上のコマンドをコピーして管理者 PowerShell で実行し、出力をメモしてください。エラーが続く場合は次のステップへ進みます。
2. バッチスクリプトを点検する(Windows 11 Home の場合)
Home エディションで Hyper-V を有効化するための一般的なワークアラウンドは、Windows のサービシングパッケージを個別に追加するバッチスクリプトを使う方法です。スクリプトにタイプミスやパスの誤りがあると 0x800f080c が発生します。典型的なスクリプト例は以下の通りです。
pushd "%~dp0"
dir /b %SystemRoot%\servicing\Packages\*Hyper-V*.mum >hyper-v.txt
for /f %%i in ('findstr /i . hyper-v.txt 2^>nul') do dism /online /norestart /add-package:"%SystemRoot%\servicing\Packages\%%i"
del hyper-v.txt
Dism /online /enable-feature /featurename:Microsoft-Hyper-V -All /LimitAccess /ALL
Pause
検証ポイント:
- ファイルのエンコーディングは UTF-8(BOM や CRLF が原因で問題になる場合あり)
- スクリプトを右クリック → 管理者として実行
- スクリプト中の %SystemRoot% が正しく展開されているか(通常は C:\Windows)
- hyper-v.txt に期待する .mum ファイルが列挙されているか
重要: スクリプトを編集する前に必ずバックアップを取り、内容を理解したうえで実行してください。
3. Core isolation の「メモリ整合性」をオフにする
仮想化ベースのセキュリティ(VBS)の一部である Core isolation の機能「メモリ整合性(Memory integrity)」は、VirtualBox や他のハイパーバイザと競合することがあります。VM 上であるいはホストで Hyper-V を有効化しようとしてこのエラーが出る場合、まずはメモリ整合性をオフにして再試行してください。
操作手順(UI):
- Win + I を押して「設定」を開きます。
- 左側で「プライバシーとセキュリティ」をクリックします。
- 「Windows セキュリティ」をクリックします。
- 「保護領域(Protection areas)」の下にある「デバイス セキュリティ」をクリックします。
- 「Core isolation(コア分離)」のセクションで「コア分離の詳細」をクリックします。
- 「メモリ整合性」をオフに切り替え、PC を再起動します。
注意: 一部の管理された環境やセキュリティポリシーではこの設定を変更できない場合があります。
レジストリでの変更手順(上級者向け)
レジストリ編集はリスクを伴います。必ずレジストリのバックアップとシステムの復元ポイントを作成してから行ってください。
- Win + R を押して「ファイル名を指定して実行」を開きます。
- regedit と入力して OK を押し、UAC の確認があれば「はい」を選択します。
- 次のレジストリパスへ移動します(コピー&ペースト推奨)。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\DeviceGuard\Scenarios\HypervisorEnforcedCodeIntegrity\
- 右ペインの Enabled 値をダブルクリックして、値データを 0 に変更して OK を押します。
- レジストリエディタを閉じて PC を再起動します。
重要: レジストリを編集しても問題が解決しない場合は、編集を元に戻す(値を 1 に戻す)ことで安全性を回復してください。
追加のトラブルシューティング手順
- DISM と SFC を使ってイメージ整合性を確認する
Dism /Online /Cleanup-Image /RestoreHealth
sfc /scannow
これらは Windows のコンポーネントストアの破損を修復し、機能の有効化に必要なファイルが復元される可能性があります。
- Windows の更新(Windows Update)を最新にする
- BIOS/UEFI で仮想化(Intel VT-x / AMD-V)が有効になっているか確認する
- 他のハイパーバイザ(VirtualBox/VMware)がインストールされている場合は一時的にアンインストールして試す
いつこの手順で解決しないか(反例)
- OS が Home であり、スクリプトやパッケージが現在のビルドに対応していない場合
- 企業のグループポリシーやセキュリティソフトがコア分離の挙動を制御している場合
- ハードウェアが仮想化をサポートしていない(古い CPU や無効化された仮想化機能)
その場合は、Hyper-V の利用を諦めて VirtualBox や VMware Workstation Player のような代替ハイパーバイザを検討してください。
安全なレジストリ編集のミニ手順(小型 SOP)
- システムの復元ポイントを作成する(コントロールパネル → 回復 → システムの復元)。
- regedit を起動して、編集前に対象キーをエクスポートして保存する(ファイル → エクスポート)。
- 必要な変更を行い、PC を再起動して挙動を検証する。
- 問題が発生したらエクスポートした .reg をダブルクリックして元に戻す。
役割別チェックリスト
- システム管理者:
- グループポリシーとエンドポイントセキュリティの設定を確認
- 影響範囲(複数端末)を評価して手順を一斉配布
- エンドユーザー(個人):
- コマンドをコピーして管理者権限で実行
- レジストリ操作前に復元ポイントを作成
- 開発者/VM 利用者:
- 仮想化に必要な BIOS 設定を確認
- 代替ハイパーバイザ(VMware/VirtualBox)の互換性を検討
意思決定フロー(簡易)
以下は問題の切り分けを行うためのフローチャートです。
flowchart TD
A[Hyper-V を有効化しようとした] --> B{PowerShell コマンドを管理者で実行したか}
B -- いいえ --> C[管理者として PowerShell を開いて再実行]
B -- はい --> D{コマンド綴り/スクリプトに誤りがないか}
D -- 誤りあり --> E[スクリプトを修正して再実行]
D -- 問題なし --> F{メモリ整合性が有効か}
F -- はい --> G[メモリ整合性をオフにして再試行]
F -- いいえ --> H{OS エディションは Pro/Edu/Enterprise か}
H -- はい --> I[追加の DISM/SFC を実行して修復]
H -- いいえ --> J[Home の場合はワークアラウンドか代替ハイパーバイザを検討]
I --> K[成功/失敗の判断]
E --> K
C --> K
G --> K
J --> K
代替案とベストプラクティス
- 代替案: VirtualBox / VMware Player は Hyper-V 非対応機能や一部のドライバ互換性に優れ、Home ユーザーでも手軽に使えます。
- ベストプラクティス: システム構成の変更(特にレジストリ/VBS 設定)を行う際は必ず復元ポイントを作成し、変更ログを残すこと。
- 互換性: 一部ソフトウェア(アンチウイルス等)が Core isolation を必要とするため、無効化の前にポリシー影響の確認を。
まとめ
- まずコマンドやスクリプトのタイプミスを確認する。Enable-WindowsOptionalFeature の綴りと実行権限が最重要です。
- Home エディションは特殊なワークアラウンドが必要で、スクリプトのミスがエラー 0x800f080c を誘発します。
- Core isolation の「メモリ整合性」が原因であれば UI またはレジストリで一時的に無効化して再試行してください。
- DISM / SFC の実行や BIOS/UEFI の仮想化設定確認も有効な対処法です。
補足: Hyper-V がどうしても使えない場合は VirtualBox や VMware Workstation Player などの代替ハイパーバイザを検討してください。
重要: レジストリやシステム設定の変更は自己責任で行ってください。企業環境では管理者に相談のうえ作業を実施してください。