VirtualBoxまたはVMwareがWindows 10でHyper-Vを有効にして実行できないのはなぜですか


58

Hyper-VおよびIntel VT-x仮想化テクノロジーを有効にしたWindows 10 Pro 64ビットを実行しています。VirtualBox 64bitを実行しようとすると、WindowsがBSODになります。VMwareを実行すると、エラーが表示されます。

Hyper-Vを有効にしてVirtualBoxとVMwareを実行できないのはなぜですか?ハードウェアやソフトウェアなど、詳細をすべて説明してください。このエラーの内部的な原因を知りたい。

これが私の発見です。ほとんどのサイトでは、BCDeditでブートエントリを追加するか、BCDeditでHyper-Vを無効にすることをお勧めします。例えば、「いいえ、ハイパーバイザ」ブートエントリの作成同じマシン上で実行のHyper-VとVirtualBoxのを。しかし、Hyper-VでQEMU実行できます。QemuはHyper-Vでエラーを表示せず、スムーズに実行されます。


2
Hyper-Vは、ネストされた仮想化をサポートしていません(ハードウェアアクセラレーションを使用)。ただし、通常の状況ではクラッシュしません。VirtualBoxは、x64ゲストを実行できないと文句を言うでしょう。それだけです。そのため、誤動作しているデバイスドライバーなど、他の何かが間違っています。
ダニエルB

なるほど、確かにクラッシュします。ただし、これも正常ではありません。クラッシュは決して正常ではありません。これはHyper-Vのバグのようです。おそらくマイクロソフトに連絡してください。
ダニエルB

QEMUはハイパーバイザーではないことを指摘する価値があります。Hyper-V ネストされた仮想化をサポートします。
ラムハウンド

回答:


67

VirtualBoxとVMware Workstation(およびVMware Player)は「レベル2ハイパーバイザー」です。Hyper-VおよびVMware ESXiは「レベル1ハイパーバイザー」です。

主な違いは、レベル2ハイパーバイザーは既存のOS内で実行されるアプリケーションであり、レベル1ハイパーバイザーはOS自体です。

これは、Hyper-Vを有効にすると、Windows 10の「ホスト」が仮想マシンになったことを意味します。特別なものですが、仮想マシンです。

したがって、あなたの質問は、「VirtualBoxとVMware WorkstationがHyper-V仮想マシン内で動作しないのはなぜですか」ということです。VMとして、Intel VT-X命令は仮想マシンからアクセスできなくなり、ホストのみがアクセスできるため、答えが得られます。

QEMUが機能するのは、仮想化ではなくエミュレーションを行うためです。これは完全に異なり、QEMUが非常に遅い理由を説明しています。仮想化は、完全に分離されたマシンを別のマシン内で実行するプロセスですが、プロセッサの助けを借ります。これには、仮想マシンとホストの命令互換性が必要です。

エミュレーションは、実行中のOS内で任意のマシンを実行するプロセスであり、プラットフォームの制限はありません。QEMUがamd64プラットフォームでARMマシンを実行できる理由です。

注:QEMUには2つの動作モードがあります。

  • エミュレータとして機能します。これは上で説明したこのモードです
  • ゲストアーキテクチャがホストのアーキテクチャと互換性があり、VT命令が存在する場合、KVMの助けを借りて仮想化ソフトウェアとして動作できます。

1
仮想化により、ハイパーバイザーがvmが使用できるプロセッサー時間のみを制限するプロセッサーを除き、「偽の」システム全体が作成されます。したがって、armホストでのみarm、x86 / amd64ホストでx86、amd64ホストでamd64などを仮想化できます。エミュレータは、特定のプラットフォーム用にコンパイルされたバイナリの各命令を別のプラットフォームで実行するように再コンパイルします。QEMUは、たとえばコンソールエミュレーターと同じファミリーに属します(psx、dolphin、virtualboy、project64、MAME ...)
Veovis

仮想化(はい、エミュレーションではありません)は、ハードウェア支援仮想化が利用可能になるずっと前から利用できました。必要に応じてネストできます。
ダニエルB

2
VirtualBoxが「ネストされたVT-x / AMD-V」を利用できないのはなぜですか?これはハードウェアの制限ですか?Hyper-Vの?
user643011

21

Windows Redstone 4ビルド以降、QEMUはWindows Hypervisor Platform APIを採用することでHyper-Vの下で実行できるようになります

Windows Hypervisor Platform Accelerator(WHPX)はQEMUに統合されており、パッチはマージのために送信されます。

Windows Hypervisor Platform APIはRedstone 4ビルドに含まれます

WHPXの実験的サポートは、 QEMU 2.12に

更新:Virtualbox 6.0は、WHPX Virtualbox 6.0変更ログのサポートを追加しました

更新2:VMWareは、VMWare WorkstationとFusionの今後のバージョンでWHPXのサポートを追加します。 VMware WorkstationとHyper-V –連携


3
理論上、このAPIはVMWareとVirtualBoxでも使用できます。
ラムハウンド

@Ramhound VirtualBoxまたはVMwareで実行できますか?その記事はqemuについてのみ言及しています。
ビスワプリヨ

@Biswapriyo VMWareとVirtualBoxはドキュメントから直接可能であると判断しました。ただし、VMWareとVirtualBoxはアプリケーションに必要な変更を加える必要があります
-Ramhound

これがNested VT-x / AMD-Vとどのように異なるか説明できますか?
user643011

Virtualbox 6.0のWHPXサポートは非​​常に高い品質です。今のところほとんど機能しません。
user643011
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.