为什么VirtualBox或VMware无法在Windows 10上启用Hyper-V的情况下运行


57

我正在运行Windows 10 Pro 64位并启用Hyper-V和Intel VT-x虚拟化技术。当我尝试运行64位VirtualBox时,Windows进入BSOD。当我运行VMware时,它显示一个错误。

为什么VirtualBox和VMware无法在启用Hyper-V的情况下运行?请详细说明所有详细信息,包括硬件和软件。我想知道此错误的内部原因。

这是我的一些发现。大多数站点建议使用BCDedit添加引导项,或使用BCDedit禁用Hyper-V。例如,创建“无管理程序”启动条目在同一台计算机上运行Hyper-V和VirtualBox。但是我可以使用Hyper-V 运行QEMU。Qemu在Hyper-V中没有显示任何错误,并且运行平稳。


2
Hyper-V不支持嵌套虚拟化(具有硬件加速功能)。但是,在正常情况下它不会崩溃。VirtualBox会抱怨它无法运行x64 guest虚拟机,仅此而已。因此,其他问题如设备驱动程序故障或任何其他问题都是错误的。
Daniel B

我知道,确实确实崩溃了。但是,再次:这是不正常的。崩溃从来都不是正常的。看来这是Hyper-V中的错误。您可能应该就此与Microsoft联系。
Daniel B

值得指出的是,QEMU不是管理程序。Hyper-V 确实支持嵌套虚拟化。
拉姆猎犬,

Answers:


66

VirtualBox和VMware Workstation(和VMware Player)是“ 2级虚拟机管理程序”。Hyper-V和VMware ESXi是“ 1级管理程序”。

主要区别是2级虚拟机管理程序是在现有操作系统中运行的应用程序,而1级虚拟机管理程序是操作系统本身。

这意味着,当您启用Hyper-V时,您的Windows 10“主机”将成为虚拟机。一个特殊的,但仍然是虚拟机。

因此,您的问题将更恰当地是:“为什么VirtualBox和VMware Workstation无法在Hyper-V虚拟机中工作?” 一个人可以回答,因为作为虚拟机,英特尔VT-X指令不再可从您的虚拟机访问,只有主机可以访问它。

QEMU之所以起作用,是因为它不进行虚拟化而是进行仿真,这是完全不同的,并解释了为什么QEMU速度缓慢。虚拟化是在另一个计算机内部运行完整的隔离计算机的过程,但需要借助处理器。这要求虚拟机和主机必须是指令兼容的。

仿真是在运行中的操作系统中运行任何计算机的过程,没有平台限制,这就是为什么QEMU可以在amd64平台上运行ARM机器的原因。

注意:QEMU有2种操作模式:

  • 它可以用作仿真器,这是上面说明的模式
  • 如果来宾体系结构与主机兼容,并且如果存在VT指令,则它可以在KVM的帮助下用作虚拟化软件。

1
虚拟化会创建一个完整的“伪造”系统,除了处理器之外,虚拟机管理程序只会限制虚拟机可以使用的处理器时间。因此,您只能在arm主机上虚拟化arm,在x86 / amd64主机上虚拟化x86,在amd64主机上虚拟化amd64,等等。仿真器将重新编译每个指令,以编译为特定平台编译的二进制文件,以便在另一个平台上运行。QEMU与控制台仿真器属于同一家族(例如,psx,dolphin,virtualboy,
project64

虚拟化(是的,不是仿真)早在硬件辅助虚拟化可用之前就已经可用。可以根据需要嵌套。
Daniel B

2
为什么VirtualBox无法利用“嵌套VT-x / AMD-V”优势?这是硬件的限制吗?Hyper-V?
user643011

21

从Windows Redstone 4版本开始,QEMU将能够通过使用Windows Hypervisor Platform API在Hyper-V下运行。

Windows Hypervisor平台加速器(WHPX)已集成到QEMU 补丁中,以供合并

Windows Hypervisor Platform API将包含在Redstone 4版本中

QEMU 2.12中包含对WHPX的实验支持

更新:Virtualbox 6.0添加了对WHPX Virtualbox 6.0 Changelog的支持。

更新2:VMWare将在即将发布的VMWare Workstation和融合版本中增加对WHPX的支持。 VMware Workstation和Hyper-V –协同工作


3
理论上,该API也可以由VMWare和VirtualBox使用。
Ramhound

@Ramhound可以使用VirtualBox或VMware完成吗?那篇文章只提到qemu。
Biswapriyo

@Biswapriyo我确定可以直接从文档中获取VMWare和VirtualBox。但是,VMWare和VirtualBox必须对其应用程序进行必要的更改
-Ramhound

您能解释一下这与Nested VT-x / AMD-V有何不同吗?
user643011

Virtualbox 6.0的WHPX支持非常出色。现在几乎无法使用。
user643011
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.