¿Por qué VitualBox o VMware no se pueden ejecutar con Windows 10 habilitado para Hyper-V?

36

Estoy ejecutando Windows 10 Pro 64bit con Hyper-V habilitado y también habilité la tecnología de virtualización Intel VT-x. Pero cuando quiero ejecutar VirtualBox 64bit Windows entra en un BSOD. Cuando ejecuto VMware se muestra un error.

Mi pregunta es ¿Por qué VirtualBox y VMware no se pueden ejecutar con Hyper-V habilitado? Por favor explique con todos los detalles que tiene, incluyendo hardware y software. Quiero saber la causa interna de este error.

Aquí algunos hallazgos míos. La mayoría de los sitios sugieren agregar una entrada de inicio con BCDedit o deshabilitar el hipervisor con BCDedit. p.ej. Creando una entrada de arranque "sin hipervisor" , Ejecute Hyper-V y VirtualBox en la misma máquina . Pero yo poder correr QEMU con Hyper-V . Qemu no muestra ningún error con Hyper-V y se ejecuta sin problemas.

Biswapriyo
fuente
1
Hyper-V no admite la virtualización anidada (con aceleración de hardware). Sin embargo, no se estrellará en circunstancias normales. VirtualBox se quejaría de que no puede ejecutar invitados x64 y eso es todo. Entonces, algo más está mal, como un controlador de dispositivo defectuoso o lo que sea.
Daniel B
Ya veo, de hecho se estrella. Sin embargo, de nuevo: Esto no es normal. Un choque es Nunca normal. Parece que este es un error en Hyper-V. Probablemente debería ponerse en contacto con Microsoft al respecto.
Daniel B
Vale la pena señalar que QEMU no es un hipervisor. Hyper-V hace Soporta virtualización anidada.
Ramhound

Respuestas:

40

VirtualBox y VMware Workstation (o VMware Player) es lo que llamamos un hipervisor de nivel 2. Hyper-V o VMware ESXi son, sin embargo, el nivel 1 de Hypervisor. Una de las principales diferencias entre los dos tipos de hipervisor es que la primera es una aplicación que se ejecuta dentro de un sistema operativo existente, mientras que la última es el sistema operativo en sí.

Esto significa que cuando ha habilitado Hyper-V, su "host" de Windows 10 se convirtió en una máquina virtual. Una especial, pero no obstante una máquina virtual.

Entonces, su pregunta puede cambiarse a: "¿Por qué VirtualBox y VMware Workstation no funcionan dentro de una máquina virtual Hyper-V?". Se puede responder porque, como máquina virtual, la instrucción Intel VT-X no es más accesible desde su máquina virtual, solo el host puede tenerla.

QEMU funciona porque no hace virtualización sino emulación, que es completamente diferente y explica por qué QEMU es muy lento. La virtualización es el proceso para ejecutar una máquina aislada completa dentro de otra, pero con la ayuda del procesador. Esto requiere que la máquina virtual y el host sean compatibles con las instrucciones. La emulación es el proceso para ejecutar cualquier máquina dentro de un sistema operativo en ejecución, no hay restricción de plataforma, es por eso que QEMU puede ejecutar una máquina ARM en una plataforma amd64.

Nota: QEMU tiene 2 modos de funcionamiento:

  • Puede funcionar como un emulador, este es el modo que expliqué anteriormente.
  • puede funcionar como un software de virtualización con la ayuda de KVM si la arquitectura del huésped es compatible con la del host y si la instrucción VT está presente, por supuesto.
Veovis
fuente
1
La virtualización crea un sistema "falso" completo, a excepción del procesador donde el hipervisor solo limita la cantidad de tiempo de procesador que la máquina virtual puede usar. De modo que puede virtualizar el brazo solo en un host de brazo, x86 en un host x86 / amd64, amd64 en un host amd64, etc. Un emulador recompilará cada instrucción de un binario compilado para que una plataforma específica se ejecute en otra plataforma. QEMU pertenece a la misma familia que los emuladores de consola, por ejemplo (psx, dolphin, virtualboy, project64, MAME ...)
Veovis
Virtualización (sí, no emulación) ha estado disponible mucho antes de que la virtualización asistida por hardware estuviera disponible. Se puede anidar como se desee.
Daniel B
11

A partir de la compilación de Windows Redstone 4, QEMU podrá ejecutarse bajo Hyper-V empleando el API de plataforma de hipervisor de Windows .

El acelerador de plataforma de hipervisor de Windows (WHPX) se está integrando a QEMU los parches son enviados para la fusión .

La API de la plataforma de hipervisor de Windows se incluirá en Redstone 4 construir

El soporte experimental para WHPX está incluido en QEMU 2.12

Actualizar: Virtualbox 6.0 agregó soporte para WHPX Virtualbox 6.0 Changelog .

nkef
fuente
2
Esta API en teoría podría ser utilizada por VMWare y VirtualBox también.
Ramhound
@Ramhound ¿Se puede hacer con VirtualBox o VMware? Ese artículo solo menciona qemu.
Biswapriyo
@Biswapriyo determiné que VMWare y VirtualBox eran posibles directamente desde la documentación. Sin embargo, VMWare y VirtualBox tendrían que hacer los cambios necesarios en su aplicación.
Ramhound