私は、Hyper-V対応のWindows 10 Pro 64bitおよびIntel VT-x仮想化テクノロジを実行しています。しかし、私がVirtualBox 64bitを実行しようとすると、WindowsはBSODになります。 VMwareを実行するとエラーが表示されます。
私の質問は、VirtualBoxとVMwareがHyper-Vを有効にした状態で実行できない理由です。ハードウェアとソフトウェアを含むあなたが持っているすべての詳細で説明してください。このエラーの内部的な原因を知りたいです。
これが私の発見です。ほとんどのサイトでは、BCDeditでブートエントリを追加するか、BCDeditでHyper-Vを無効にすることを推奨しています。例えば 「ハイパーバイザーなし」のブートエントリを作成する 、 同じマシンでHyper-VとVirtualBoxを実行する しかし、IはHyper-Vで QEMU を実行できます。 QemuはHyper-Vでエラーを表示せず、スムーズに動作します。
VirtualBoxとVMware Workstation(またはVMware Player)は、ハイパーバイザーレベル2と呼ばれています。Hyper-VまたはVMware ESXiは、ハイパーバイザーレベル1です。2つの種類のハイパーバイザーの主な違いの1つはアプリケーションです。後者はOS自体ですが、既存のOSです。
つまり、Hyper-Vを有効にすると、Windows 10の「ホスト」が仮想マシンになりました。特別なものですが、それでも仮想マシンです。
そのため、質問は「VirtualBoxとVMware WorkstationがHyper-V仮想マシン内で機能しない理由」に変更される可能性があります。 VMとして、Intel VT-X命令はあなたの仮想マシンからアクセスできなくなり、ホストだけがそれを持つことができるので、人は答えることができます。
QEMUは、仮想化ではなくエミュレーションを行わないために機能します。エミュレーションはまったく異なり、QEMUが非常に遅い理由を説明しています。仮想化は、完全に隔離されたマシンを別のマシンの中で実行するプロセスですが、プロセッサを利用しています。これには、仮想マシンとホストが命令互換であることが必要です。エミュレーションは実行中のOS内で任意のマシンを実行するためのプロセスです。プラットフォームの制限はありません。それがQEMUがAMD64プラットフォームでARMマシンを実行できる理由です。
注:QEMUには2つの動作モードがあります。
Windows Redstone 4ビルド以降、QEMUは WindowsハイパーバイザープラットフォームAPI を使用することでHyper-Vの下で実行できるようになります。
Windowsハイパーバイザープラットフォームアクセラレータ(WHPX)はQEMU に統合されつつあります 。
WindowsハイパーバイザープラットフォームAPIは、 Redstone 4ビルド に含まれる予定です。
WHPXの実験的サポートは QEMU 2.12 に含まれています
更新:Virtualbox 6.0はWHPX Virtualbox 6.0チェンジログ のサポートを追加した。