Error de Docker para Windows: "La virtualización asistida por hardware y la protección de ejecución de datos deben estar habilitadas en el BIOS"

151

He instalado Docker y recibo este error cuando ejecuto la GUI:

La virtualización asistida por hardware y la protección de ejecución de datos deben estar habilitadas en el BIOS

Parece un error ya que Docker funciona de maravilla desde la línea de comandos, pero me pregunto si alguien tiene idea de por qué sucede esto.

Antes de preguntar, sí, he habilitado la virtualización en el BIOS y la Utilidad de identificación del procesador Intel confirma que está activada. Docker, docker-machine y docker-compose funcionan desde la línea de comandos, Virtualbox funciona, funciona Docker desde Debian o Ubuntu VM.

Solo existe este extraño problema sobre la GUI.

Mis especificaciones:

  • Edición de aniversario de Windows 10 Pro x64
  • Intel Core i5-6300HQ @ 2.30GHz
Julien
fuente

Respuestas:

340

Si las características descritas están habilitadas, el problema es con Hyper-V que está deshabilitado o el agente Hypervisor no se está ejecutando

SOLUCIÓN A (si Hyper-V está totalmente deshabilitado o no está instalado)

  1. Abra PowerShell como administrador y

  2. Habilite Hyper-V con

    dism.exe /Online /Enable-Feature:Microsoft-Hyper-V /All

SOLUCIÓN B (si la función Hyper-V ya está habilitada pero no funciona)

Habilitar hipervisor con

bcdedit /set hypervisorlaunchtype auto

Ahora reinicie el sistema e intente nuevamente.

SOLUCIÓN C

Si el problema persiste, probablemente Hyper-V en su sistema esté dañado, entonces

  1. Vaya al Panel de control -> [Programas] -> [Características de Windows] y desactive por completo todos los componentes relacionados con Hyper-V. Reinicia el sistema.

  2. Habilite Hyper-V nuevamente. Reiniciar.

NOTA 1 :

Hyper-V necesita virtualización de hardware como requisito previo. Asegúrese de que su PC lo admita, si es así y aún no funciona, existe la posibilidad de que su BIOS no esté configurado correctamente y esta función esté deshabilitada. En este caso, verifique, habilítelo e intente nuevamente. Las funciones de virtualización se pueden informar con diferentes nombres según la plataforma utilizada (por ejemplo, si no ve ninguna opción que use la etiqueta de virtualización explícitamente, en AMD debe verificar el estado de la función SVM , en Intel el estado de la función VT-x ).

NOTA 2:

Hyper-V solo se puede instalar con alguna versión, por ejemplo:

Windows 10 Enterprise; Windows 10 Professional; Windows 10 Educación.

Hyper-V no se puede instalar en versiones de Windows más baratas o móviles, por ejemplo:

Windows 10 Home; Windows 10 Mobile; Windows 10 Mobile Enterprise.

Tormenta de plata
fuente
3
@Julien intenta desinstalar y reinstalar Hyper-V ver la edición
Silverstorm
55
En caso de que alguien más tenga un problema similar, recientemente instalé Bash en Ubuntu en Windows (que usa Hyper-V). Después de desinstalarlo y luego seguir los pasos de esta respuesta, ¡Docker trabajó para mí!
Kyle Challis
9
Estoy ejecutando Windows 10 en Bootcamp en MacBook Pro. Yo tuve el mismo problema. Primero lo intenté, dism.exe /Online /Enable-Feature:Microsoft-Hyper-V /Allpero no pareció resolverlo, así que lo intenté bcdedit /set hypervisorlaunchtype autoy Docker ahora está corriendo por mí.
Johnny Oshika
1
Este no era el problema en mi caso, era el hecho de que la virtualización estaba deshabilitada en el BIOS. Tuve que habilitar la función de virtualización en la pestaña de seguridad en el BIOS, lo que provocó que Docker funcionara inmediatamente después.
shahar_m
55
La Solución B funcionó para mí después de actualizar / cambiar mi SSD a través de la Herramienta de migración SSD de Samsung.
bloquea
19

A continuación hay una solución que funciona para mí, siga estos pasos

  1. Abra PowerShell como administrador o CMD como administrador

  2. Ejecute este comando en PowerShell-> bcdedit /set hypervisorlaunchtype auto

  3. Ahora reinicie el sistema e intente nuevamente.

salud.

Lavekush Agrawal
fuente
44
Trabajó para mí, sin desinstalar Intel HAXM, pero ahora vmware ya no funciona :(
realtebo
11

Desinstalé Intel HAXM y VirtualBox, Docker ahora se ejecuta

Bagazo
fuente
12
Había instalado HAXM para el desarrollo de Android y tuve que desactivar HyperV. Al eliminarlo, Docker restaurado para Windows. ¿Ahora si alguien puede decirme cómo hacer que el emulador de Android y Docker coexistan?
Dieter Menne
1
itwriting.com/blog/…
Dieter Menne
3

Para mí, todo lo que tenía que hacer era desinstalar VMware.

Docker ahora se está ejecutando

Yahya Hussein
fuente
1

¿Puede intentar habilitar Hyper-V manualmente y crear y ejecutar una máquina virtual Hyper-V de forma manual? Detalles:

friism
fuente
3
Para mí no funcionó incluso cuando Hyper-V estaba habilitado y el BIOS configurado; Seguía recibiendo ese error. Desactivar Hyper-V + reiniciar Windows y luego habilitarlo nuevamente me resolvió el problema.
Tadej
1

En mi caso, tuve que desinstalar Hyper-V, reiniciar la PC y ejecutar Docker nuevamente.

aph5
fuente
1

Pruebe esto en PowerShell (administrador habilitado):

Enable-WindowsOptionalFeature –Online -FeatureName Microsoft-Hyper-V –All -NoRestart

Esto instalará HyperVisor sin herramientas de administración, y luego puede ejecutar Docker después de esto.

H35am
fuente
1

He intentado muchas sugerencias anteriores, pero Docker sigue quejándose del error de virtualización asistida por hardware. La virtualización está habilitada en el BIOS, y también Hyper-V está instalado y habilitado. Después de algunos intentos y errores, finalmente descargué la herramienta coreinfo y descubrí que Hypervisor no estaba habilitado. Usar ISE (64 bits) como administrador y ejecutar el comando desde la Solución B anterior y eso habilita el Hipervisor con éxito (comprobado a través de coreinfo -v nuevamente). Después de reiniciar, Docker ahora se está ejecutando correctamente.

Steven
fuente
1

Intenta estos pasos

  1. Ejecute este comando en powershell ---> bcdedit / set hypervisorlaunchtype auto
  2. Reinicia tu PC
  3. Ahora intente docker --version en línea cmd
Vamshi Krishna
fuente
0

El problema para mí se resolvió cuando desinstalé Cygwin.

Inez Van Laer
fuente
0

También uso vagabundo. Parece que solo puedo usar 1 cosa a la vez. Desinstalar vagrant / virtualBox me permitió ejecutar docker y viceversa

MGreenfield
fuente
0

@Silverstorm

Tenía Hyperv instalado y la virtualización habilitada en mi BIOS.

Pero la SOLUCIÓN A no funcionó para mí.

Sin embargo, la SOLUCIÓN B funcionó de maravilla.

SOLUCIÓN B (si la función Hyper-V ya está habilitada pero no funciona)

Habilitar hipervisor con

bcdedit / set hypervisorlaunchtype auto Ahora reinicie el sistema e intente nuevamente.

Ralph
fuente
0

Además de la respuesta original, he hecho lo siguiente:

  • Deshabilitar Hyper-V en las características de Windows
  • Activar y desactivar la virtualización en BIOS
  • Vuelva a iniciar sesión en Windows, habilitado Hyper-V. Se me solicitó que hay actualizaciones para Hyper-V e hice la actualización. Reinicie cuando se le solicite.
  • ¡Funcionó!
Peter Wen
fuente
0

Si todo está bien con la opción de BIOS, simplemente forcé la desactivación y habilitación de todas las funciones de HyperV y esto resolvió mi problema --cmd Disable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-All --restart Enable-WindowsOptionalFeature -Online -FeatureName Microsoft- Hyper-V –Todos

Poly Hamza
fuente
0

En mi caso, tuve que habilitar la virtualización en la configuración del BIOS.

  1. Reiniciar PC
  2. Mientras está en la pantalla de 'reinicio', presione cualquiera de estas teclas e ingrese la configuración de BIOS en Windows: esc, f1, f2, f3, f4, f8 o eliminar
  3. Para sistemas basados ​​en Intel:
    • presione f7 (modo avanzado)
    • ir a avanzado
    • configuración de cpa
    • habilitar la virtualización

Y después de todos los pasos anteriores, finalmente funciona :-)

EdwinN1337
fuente
0

En mi caso, aunque utilicé todas las soluciones mencionadas anteriormente, pero nada funcionó para mí. Así que decidí desinstalar Docker e instalarlo nuevamente.

Ahora en el proceso, he notado que no revisé Use Windows containers instead of Linux containers (this can be changed after installation)mi instalación anterior, y es por eso que obtuve el problema anterior y las soluciones aún no lo arreglaron. Por lo tanto, asegúrese de verificarlo antes de ejecutar el acoplador de escritorio o desinstalarlo e instalarlo nuevamente marcando esta opción.

Proceso de instalación de Docker

DINA TAKLIT
fuente