Windows 11 Home エディションで Hyper-V を活用しているユーザーの皆さん、Windows Update(累積更新プログラム)を適用した後、突然以下のトラブルに見舞われていませんか?
- エラー 0x800705B4 が出て、仮想マシンが起動しない
- 「Windows の機能の有効化」一覧から、Hyper-V の項目自体が消えてしまった
実はこの問題、特定の更新プログラム(KB5066835 や KB5074109 など)に限った一時的な不具合ではありません。Windows 11 Home の仕組み上、Windows Update のたびに繰り返される可能性が高い「持病」のような現象です。
しかし、安心してください。原因は既に当サイトでの検証により特定できており、今後どの更新プログラムで再発しても通用する「恒久的な解決策」を確立しています。
本記事では、消失やエラーの原因と、それを確実に修復する手順を詳しく解説します。
不具合の概要
この問題は、以下の特定の条件が重なった場合に発生します。
この問題は、主に以下の条件が重なっている環境で発生します。
- OS: Windows 11 Home エディション (バージョン 24H2 / 25H2 など)
- 環境: バッチファイルなどを用いて、非公式な方法で Hyper-V を有効化している
- タイミング: Windows Update(毎月の累積更新プログラム)を適用した後
- ※特定のKB番号(KB5066835、KB5074109 など)に限らず、システムファイルの更新を伴うアップデートで定期的に発生します。
具体的な症状: 更新後、以下のいずれかの状態に陥ります。
- 起動エラー(0x800705B4) Hyper-V マネージャーから仮想マシンを起動しようとすると、タイムアウト期間が経過して失敗する。「’仮想マシン名’ の状態を変更しようとして、アプリケーションでエラーが発生しました。」 「’仮想マシン名’ は起動できませんでした。」 「’仮想マシン名’ は初期化できませんでした。タイムアウト期間が経過したため、この操作は失敗しました。 (0x800705B4)」
- 機能の消失 「Windows の機能の有効化または無効化」の一覧から、「Hyper-V」の項目そのものが消えてしまい、設定すらできなくなる。
このエラーコード「0x800705B4」は、一般的にタイムアウトを示すもので、Hyper-V の起動に必要なサービスやコンポーネントが、更新プログラムの影響で正常に応答しなくなったことを示唆しています。
【重要】古い有効化バッチファイルの再実行は絶対に避けてください!
この問題に直面した際、多くの方が「もう一度 Hyper-V の有効化バッチファイルを実行すれば直るのでは?」と考えるかもしれません。しかし、インターネット上で広く紹介されている古いタイプの有効化バッチファイルを再実行するのは非常に危険です。
一つの問題を解決しようとして、より厄介な状況に陥ることを避けるため、安易なバッチファイルの再実行は絶対にしないでください。
なぜ古いバッチファイルは危険なのか?その技術的な理由
根本的な原因は、古いバッチファイルに含まれる dir /b %SystemRoot%\servicing\Packages\*Hyper-V*.mum というコマンドにあります。
Windows は、%SystemRoot%\servicing\Packages フォルダーに、更新プログラムのインストールパッケージを保管しています。重要なのは、このフォルダーには最新バージョンのパッケージだけでなく、過去に適用された古いバージョンのパッケージも残っているという点です。
古いバッチファイルは、このフォルダー内にある Hyper-V 関連のパッケージを、新旧問わず全てリストアップしてしまいます。そして、その後のコマンドで、リストアップされた全てのバージョンのパッケージをシステムに強制的に追加してしまうのです。
その結果、システム内には最新のパッケージと古いパッケージが混在するという、矛盾した状態が生まれます。
この矛盾を検知した Windows Update は、「古いパッケージがあるから更新が必要だ」と判断し、最新の更新プログラムをダウンロード&インストールしようとします。しかし、バッチファイルによって古いパッケージがシステムに無理やり登録されているため、更新が完了したと正しく認識できません。そして、Windows Update を行うたびに「まだ古いパッケージが残っている!」と判断し、同じ更新作業を無限に繰り返してしまうと考えられます。
これが、Windows Update がループする不具合の正体です。 この深刻な副作用を避けるためにも、古いバッチファイルの実行は絶対にしないでください。
解決策:最新のバッチファイルで Hyper-V を復元
今回の「KB5074109」はもちろん、以前の「KB5066835」や今後の更新プログラムによる仕様変更にも柔軟に対応し、かつ Windows Update のループ不具合も発生しない、最新のバッチファイルを作成しました。
【このバッチファイルが安全な理由】
古いバッチファイルの問題点は、Packagesフォルダー内にある新旧すべての Hyper-V 関連パッケージを対象にしてしまうことでした。
この問題を解決するため、新しいバッチファイルでは、よりスマートな方法を採用しています。
- まず、PowerShell のコマンドを使い、現在の Windows の正確な「リビジョン番号」(細かいバージョン情報)をシステムから取得します。
- 次に、その取得したリビジョン番号を利用し、
dir /b %SystemRoot%\servicing\Packages\*Hyper-V*%REVISION%.mumというコマンドで、数あるパッケージの中からファイル名にそのリビジョン番号を含む、最新かつ正しい Hyper-V 関連パッケージのみをピンポイントで探し出します。
これにより、古いバージョンのパッケージが誤ってシステムにインストールされることがなくなり、Windows Update がループする不具合を根本的に回避できるのです。
すでに不具合が発生している方も、これから Hyper-V を有効化したい方も、こちらのバッチファイルをご利用ください。
【実行手順】
- 以下のコードを全てコピーします。
- メモ帳などのテキストエディタを開き、コピーしたコードを貼り付けます。
- 「ファイル」→「名前を付けて保存」を選択します。
- 「ファイルの種類」を「すべてのファイル (*.*)」に変更し、「ファイル名」を「Hyper-V_Enable_Fix.bat」のように、末尾が「
.bat」となる名前で保存します。 - 保存したバッチファイルを右クリックし、「管理者として実行」をクリックします。
- 「ユーザーアカウント制御」が表示されたら「はい」をクリックします。
- 黒いコマンドプロンプトの画面が表示され、処理が自動的に進みます。「操作は正常に完了しました。」といったメッセージが表示されたら、何かキーを押してウィンドウを閉じます。
- PC を再起動してください。
▼最新のHyper-V有効化バッチファイル
@echo off
pushd "%~dp0"
set "REVISION="
for /f %%i in ('powershell -Command "(Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion').UBR"') do (
set "REVISION=%%i"
)
if defined REVISION (
echo Success: Revision number [%REVISION%].
dir /b %SystemRoot%\servicing\Packages\*Hyper-V*%REVISION%.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
) else (
echo Error: Failed to get revision number.
)
pause
実行後の確認
PC の再起動後、Hyper-V マネージャーを起動し、これまで起動できなかった仮想マシンを再度起動してみてください。エラー「0x800705B4」が表示されることなく、正常に起動すれば成功です。
「Hyper-V マネージャー」が見つからない場合
1.Windowsキー + R を押して「ファイル名を指定して実行」を開き、次のコマンドを入力して Enter を押します。
%windir%\system32\control.exe /name Microsoft.AdministrativeTools
2.すると、「コントロール パネル\すべてのコントロール パネル項目\Windows ツール」が開きます。
3.この中に「Hyper-V マネージャー」がありますので、ここから起動してください。
※アイコンを右クリックしてタスクバーにピン留めすることもできます。
4.「Hyper-V マネージャー」が起動しますが、更新前に作成していた仮想マシンはすべて削除されている場合があります。
5.作成済みの仮想マシンを元に戻すために、右側の「仮想マシンのインポート」をクリックします。
6.「開始する前に」が表示されますので、そのまま「次へ」をクリックします。
7.「フォルダーの検索」が表示されますので、「参照」をクリックします。
8.「フォルダーの選択」が表示されますので、仮想マシンの「Virtual Machines」というフォルダーが含まれる場所を開き、「フォルダーの選択」をクリックします。
※デフォルト設定の場合、「C:\ProgramData\Microsoft\Windows\Hyper-V」フォルダーにあります。
9.「フォルダーの検索」に戻りますので、「次へ」をクリックします。
10.「仮想マシンの選択」が表示されますので、インポートする仮想マシンを選択して「次へ」をクリックします。
11.「インポートの種類」が表示されていますので、デフォルトで選択されている「仮想マシンをインプレースで登録する (既存の一意な ID を使用する)」のまま「次へ」をクリックします。
12.「インポート ウィザードの完了」が表示されますので、内容を確認して「完了」をクリックします。
すると、仮想マシンが元に戻ります。
まとめ
今回は、Windows 11 Home 環境で更新プログラムを適用した後に発生する、Hyper-V の起動エラー 「0x800705B4」の原因と、安全な解決策について解説しました。
重要なポイントは、安易に古い有効化バッチファイルを再実行しないことです。本記事で紹介した最新のバッチファイルをご利用いただくことで、安全に、そして恒久的に問題を解決できるはずです。
もしこの手順で解決できた、あるいは何か不明な点がある、といった場合は、ぜひコメントでお知らせください。














コメント