結果コード: E_FAIL (0x80004005) のトラブルシューティングと修正方法
VirtualBox の E_FAIL (0x80004005) エラーは、特に仮想マシンの起動がブロックされてしまうと、本当に厄介な問題です。ファイルの欠落や破損、ハイパーバイザーの競合、あるいは単に設定ミスで修正が必要な問題などが原因となる場合もあります。基本的に、VirtualBox がこのエラーを出力した場合、それは仮想マシンの起動を妨げている根本的な問題(ファイルの問題、システムの競合、設定ミスなど)を示唆しています。そこで、ここでの目標は、最も一般的な原因をトラブルシューティングすることです。何が問題を引き起こしているのかを確認するためのチェックリストと考え、あまり手間をかけずに仮想マシンを再び起動できるようにしましょう。
VirtualBoxで結果コード「E_FAIL (0x80004005)」を修正する方法
システムとVirtualBoxが完全に最新であることを確認する
ええ、これは基本的なことのように思えますが、見落とされがちです。VirtualBoxのバグは新しいリリースで修正されますが、古いドライバーやシステムアップデートは競合を引き起こす可能性があります。実際のホストシステムでは、Windows(またはOS)に、特にBIOS/UEFIファームウェアのアップデートとハードウェアドライバーのパッチが完全に適用されていることを確認してください。そして、公式サイトからVirtualBoxの最新バージョンと拡張機能パックを入手してください。古いバージョンでもバグや互換性の問題があった場合があり、新しいアップデートで修正されていることがあります。古いバージョンを最新のOSで実行しようとすると、さまざまな問題が発生することがよくあります。
Hyper-V の干渉が疑われる場合はハイパーバイザーの競合を修正する
WindowsではHyper-Vなどの仮想化機能がデフォルトで有効になっていることが多く、VirtualBoxと競合するため、多くのユーザーがこの問題に悩まされています。VT-xまたはHyper-Vに関するエラーメッセージが表示された場合、これらが原因の可能性があります。Hyper-Vを無効にするには、以下の手順を実行してください。
- 実行( Win + R)を開いて入力し、
cmd押してCtrl + Shift + Enter管理者として実行します。 - と入力
bcdedit /set hypervisorlaunchtype offしてEnterキーを押します。これにより、ブートレベルでHyper-Vが無効になります。 - マシンを再起動します。
設定によっては、Windowsの機能パネル(コントロールパネル > プログラム > Windowsの機能の有効化または無効化)を確認し、Hyper-Vやコンテナーなどのチェックを外す必要があるかもしれません。再起動後、VirtualBoxをもう一度試してみてください。一部のマシンでは、これらの設定を実際に有効にするには再起動が必要です。奇妙ですが、それがWindowsなのです。
デバイスガードや資格情報ガードなど、Windowsの動作を妨げる機能を無効にする
これらのセキュリティ機能は、システムを保護するために仮想化技術を基盤として利用しています。しかしもちろん、VirtualBox による仮想マシンの実行をブロックすることもできます。その方法は次のとおりです。
- Win + Rを押して、
gpedit.mscと入力し、 Enter キーを押します (Home エディションでは、グループ ポリシーにアクセスするために回避策が必要になる場合があります)。 - [コンピューターの構成] > [管理用テンプレート] > [システム] > [Device Guard]に移動します。
- 「仮想化ベースのセキュリティを有効にする」を「無効」に設定します。
または、「設定」>「更新とセキュリティ」>「Windows セキュリティ」>「デバイスセキュリティ」>「コア分離の詳細」でメモリ整合性を無効にしてください。仮想化リソースが大量に消費されている場合は、これをオフにすることで問題を解決できる場合があります。
重複したvboxファイルや不正な設定をチェックして削除する
VirtualBox は設定ファイルで不具合を起こすことがあります。` /CPUM/CMPXCHG16B`のような設定値の重複に関するエラーが表示される場合は、前回の実行時に設定が残っているか、設定が間違っている可能性があります。これをクリアするには、以下の手順を実行してください。
- 管理者コマンドプロンプトを開きます。
- VirtualBox のディレクトリに移動します。
cd "%systemdrive%\Program Files\Oracle\VirtualBox" - すべての VM を一覧表示します。
VBoxManage.exe list vms - リストで VM の名前を見つけます。
- 問題のある設定をリセットします:
VBoxManage.exe setextradata "VM Name" VBoxInternal/CPUM/CMPXCHG16B— VM 名を実際の VM 名に置き換えます。
エラーが続く場合は、設定をグローバルにリセットしてみてください。
VBoxManage.exe setextradata global VBoxInternal/CPUM/CMPXCHG16B
VirtualBox ドライバーを確認して手動で再インストールする
ドライバーファイルが正しくインストールされていない場合、VirtualBox は必要なハードウェア機能にアクセスできない可能性があります。これを修正するには、以下の手順に従ってください。
- に進みます
C:\Program Files\Oracle\VirtualBox\drivers\vboxdrv。 - 右クリックし
VBoxDrv.infて「インストール」を選択します。
それでも問題が解決しない場合は、インストーラーを管理者として実行して、VirtualBox を完全に再インストールしてください。
グラフィックドライバーを更新し、メモリまたはDLLの問題を修正する
グラフィックドライバーの問題もよくある根本原因の一つで、特にVirtualBoxがクラッシュしたりメモリアドレスに関するエラーが発生したりする場合によく見られます。デバイスマネージャー(devmgmt.msc)からGPUドライバーを更新してください。ディスプレイアダプターを右クリックし、「ドライバーの更新」を選択してください。更新しても問題が解決しない場合は、ドライバーをアンインストールして再インストールすることを検討してください。破損したDLLやドライバーのバグがランダムアクセスエラーの原因となる場合もあります。
システムファイルチェッカーを実行してDLLとシステムファイルを修復する
システムに破損したファイルがある場合、VirtualBox が動作しなくなる可能性があります。管理者権限でコマンドプロンプトを開き、次のコマンドを実行してください。
sfc /scannow
実行して破損したシステムファイルを修復してください。これだけで、0x80004005のような不可解なエラーが解決することもあります。
まとめ — 他に何も効果がないとき
- Windows と VirtualBox の両方が更新されていることを再確認してください。
- Hyper-V および関連機能が完全に無効になっていることを確認します。
- 重複または破損した VM 構成ファイルを削除します。
- グラフィック ドライバーとシステム ドライバーを更新または再インストールします。
- DLL の問題がないかシステム ファイル チェックを実行します。
- 何も機能していないと思われる場合は、VirtualBox を以前の安定したバージョンにロールバックするか、別のマシンで VM をテストして、問題がハードウェア固有のものであるかどうかを確認することを検討してください。
以上が、最も奥深いトラブルシューティングの方法です。このエラーは、システムがちょっとしたトラブルを起こしているだけの場合もあります。その場合は、これらの手順をうまく組み合わせることで解決できるでしょう。
まとめ
- VirtualBox とシステムを更新します。
- Hyper-V および関連する仮想化セキュリティ機能を無効にします。
- 構成または重複設定の問題を確認して修正します。
- 必要に応じてドライバーを再インストールしてください。
- DLL 破損を検出するためにシステム ファイル チェッカーを実行します。
- 変更するたびに再起動してテストします。
まとめ
通常、このエラーは、競合、設定の不具合、あるいは古いソフトウェアのせいかを特定すれば解決できます。場合によっては、機能を無効にしたり、ドライバーを更新したりするだけで解決できることもあります。あるいは、古いファイルを削除したり、設定をリセットしたりする必要があるかもしれません。これらの解決策のいずれかで、VMが再び起動するようになることを祈っています。幸運を祈ります。そして諦めないでください。VirtualBoxは気まぐれなところもありますが、忍耐は必ず報われます。