No se puede instalar una VM en otra VM

23

Mi computadora host ejecuta Windows 10 y mi invitado es Ubuntu en VirtualBox. Estoy tratando de ejecutar una tercera máquina virtual en Ubuntu, pero VirtualBox dice:

Error al abrir una sesión para la máquina virtual Windows XP. VT-x no está disponible. (VERR_VMX_NO_VMX).

También devolvió un código de error de 0x80004005

Tengo la virtualización habilitada, por supuesto. Ni siquiera es una opción para apagar mi BIOS (MSI z170a). Mi máquina es de gama alta, así que sé que puede ejecutarla, he descartado todo lo que puedo.

SidedTech
fuente
44
FWIW, KVM puede hacerlo anidado.
Jonas Schäfer
1
Por lo que recuerdo, una máquina virtual interna de 32 bits debería funcionar, ya que eso no requiere virtualización de hardware (VT-x). Suponiendo que esté interesado en Windows XP de 32 bits, eso debería funcionar para usted.
CodesInChaos
44
¿Por qué anidar las cajas virtuales, de todos modos?
Xen2050
44
@ Xen2050 porque, VMception.
David Refoua
@DRSDavidSoft También fue mi primera vez ... SidedTech podría haber buscado VMception , lo habría encontrado ¿Puedes ejecutar un emulador de máquina (Bochs) dentro de una máquina virtual? lo que indirectamente responde a su Q. Hubiera adivinado algo como "Tuve que mover mi instalación de Linux a una VM [por alguna buena razón], pero todavía quiero ejecutar mis VM que mantengo en Linux y no sé si solo copiar archivos de configuración para ganar funcionará y no quiero probar "
Xen2050

Respuestas:

45

Lo que intenta hacer es la virtualización anidada. No es compatible con virtualbox y de ninguna manera es una prioridad para ellos.

En su lugar, deberá ejecutar la máquina virtual XP en el host.

En THEORY, podría ejecutar QEMU antiguo en la VM (emula todo el procesador y prácticamente todo el sistema) para hacer esto, pero el rendimiento será realmente muy malo.

Journeyman Geek
fuente
El rendimiento de hacer eso probablemente recordará las primeras soluciones de virtualización de PC (no asistidas por hardware). Piense lento MS-DOS en hardware moderno ...
un CVn
44
@ MichaelKjörling ¿Por qué la comparación? La virtualización de PC temprana fue asistida por hardware, pero no de la misma manera que hoy. VMWare solía ejecutar el código del anillo 0 en el anillo 1 con trampas en algunas instrucciones y otros trucos, como reescribir el código del núcleo. Hasta donde recuerdo, el método de VMWare fue en realidad un par de veces más rápido que VT-x, cuando VT-x salió por primera vez, de acuerdo con los puntos de referencia en ese momento, por lo que no fue lento en absoluto. Por cierto, ejecutar una versión antigua anidada de VMWare, o tal vez VBox con VT-x deshabilitado en un invitado de 32 bits, podría funcionar y funcionar relativamente bien. Incluso si solo lo hiciera por curiosidad.
nitro2k01
@ nitro2k01 Cuando Micheal rechazó las soluciones de virtualización "tempranas", quiso decir muy temprano como a mediados de los 90. En aquellos días había una cosa llamada Virtual PC (más tarde comprada por Microsoft) que se ejecutaba no solo en una Mac sino en una CPU PowerPC que emulaba x86. Su VMWare no es temprano, definitivamente es muy moderno
slebetman
@slebetman Virtual PC se lanzó por primera vez en 1997. VMWare se lanzó por primera vez en 1999, que también se trata de cuando lo probé por primera vez. Las comparaciones de referencia con VT-x, por supuesto, se hicieron mucho más tarde, pero lo mencioné solo para mostrar que el método de virtualización original de VMWare no era necesariamente lento. La PC virtual original, a pesar del nombre, no es realmente una máquina virtual, sino un emulador.
nitro2k01
@ nitro2k01: AH sí. Yo recuerdo eso. VMWare fusion que también emulaba x86 en máquinas PowerPC. Gracias por recordarme eso. Entonces VMWare, por evidencia que usted mismo proporcionó. Originalmente era realmente como Michael mencionó (a pesar del hecho de que no mencionó VMWare específicamente)
slebetman