Erreur Docker pour Windows: «La virtualisation assistée par matériel et la protection de l'exécution des données doivent être activées dans le BIOS»


151

J'ai installé Docker et j'obtiens cette erreur lorsque j'exécute l'interface graphique:

La virtualisation assistée par matériel et la protection de l'exécution des données doivent être activées dans le BIOS

Cela semble être un bogue puisque Docker fonctionne comme un charme de la ligne de commande, mais je me demande si quelqu'un a une idée de pourquoi cela se produit?

Avant que vous ne demandiez, oui, j'ai activé la virtualisation dans le BIOS et l'utilitaire d'identification du processeur Intel confirme qu'il est activé. Docker, docker-machine et docker-compose fonctionnent tous depuis la ligne de commande, Virtualbox fonctionne, l'exécution de Docker à partir d'une VM Debian ou Ubuntu fonctionne.

Il y a juste ce problème étrange à propos de l'interface graphique.

Mes spécifications:

  • Édition anniversaire de Windows 10 Professionnel x64
  • Intel core i5-6300HQ à 2,30 GHz

Réponses:


340

Si les fonctionnalités décrites sont activées, le problème vient d'Hyper-V qui est désactivé ou de l'agent Hypervisor ne fonctionne pas

SOLUTION A (Si Hyper-V est totalement désactivé ou non installé)

  1. Ouvrez PowerShell en tant qu'administrateur et

  2. Activer Hyper-V avec

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

SOLUTION B (si la fonction Hyper-V est déjà activée mais ne fonctionne pas)

Activer l'hyperviseur avec

bcdedit /set hypervisorlaunchtype auto

Redémarrez maintenant le système et réessayez.

SOLUTION C

Si le problème persiste, Hyper-V sur votre système est probablement corrompu, donc

  1. Allez dans Panneau de configuration -> [Programmes] -> [Fonctionnalités Windows] et décochez complètement tous les composants liés à Hyper-V. Redémarrez le système.

  2. Activez à nouveau Hyper-V. Redémarrer.

REMARQUE 1 :

Hyper-V nécessite la virtualisation matérielle comme prérequis. Assurez-vous que votre PC le prend en charge, si oui et ne fonctionne toujours pas, il est possible que votre BIOS ne soit pas configuré correctement et que cette fonctionnalité soit désactivée. Dans ce cas, vérifiez, activez-le et réessayez. Les fonctionnalités de virtualisation peuvent être signalées sous différents noms en fonction de la plate-forme utilisée (par exemple, si vous ne voyez aucune option qui utilise explicitement l'étiquette de virtualisation, sur AMD, vous devez vérifier l' état des fonctionnalités SVM , sur Intel l' état des fonctionnalités VT-x ).

NOTE 2:

Hyper-V ne peut être installé qu'avec certaines versions, par exemple:

Windows 10 Entreprise; Windows 10 Professionnel; Éducation Windows 10.

Hyper-V ne peut pas être installé sur des versions Windows moins chères ou mobiles, par exemple:

Windows 10 Famille; Windows 10 Mobile; Windows 10 Mobile Entreprise.


3
@Julien essaie de désinstaller et de réinstaller Hyper-V voir la modification
Silverstorm

5
Au cas où quelqu'un d'autre aurait un problème similaire, j'avais récemment installé Bash sur Ubuntu sur Windows (qui utilise Hyper-V). Après l'avoir désinstallé et suivi les étapes de cette réponse, Docker a fonctionné pour moi!
Kyle Challis

9
J'exécute Windows 10 dans Bootcamp sur MacBook Pro. J'ai eu le même problème. J'ai d'abord essayé dism.exe /Online /Enable-Feature:Microsoft-Hyper-V /Allmais je n'ai pas semblé le résoudre, alors j'ai essayé bcdedit /set hypervisorlaunchtype autoet Docker fonctionne maintenant pour moi.
Johnny Oshika

1
Ce n'était pas le problème dans mon cas, c'était le fait que la virtualisation était désactivée dans le BIOS. J'ai dû activer la fonction de virtualisation dans l'onglet de sécurité du BIOS, ce qui a fait fonctionner le docker immédiatement après.
shahar_m

5
La solution B a fonctionné pour moi après la mise à niveau / la commutation de mon SSD via l'outil de migration Samsung SSD.
plocks le

19

Voici une solution de travail pour moi, veuillez suivre ces étapes

  1. Ouvrez PowerShell en tant qu'administrateur ou l'invite CMD en tant qu'administrateur

  2. Exécutez cette commande dans PowerShell-> bcdedit /set hypervisorlaunchtype auto

  3. Redémarrez maintenant le système et réessayez.

à votre santé.


4
A fonctionné pour moi, sans désinstaller Intel HAXM, mais maintenant vmware ne fonctionne plus :(
realtebo

11

J'ai désinstallé Intel HAXM et VirtualBox, Docker fonctionne maintenant


12
J'avais installé HAXM pour le développement Android et j'ai dû désactiver HyperV. Le supprimer a restauré Docker pour Windows. Maintenant, si quelqu'un peut me dire comment faire coexister l'émulateur Android et Docker?
Dieter Menne



3

Pour moi, tout ce que j'avais à faire était de désinstaller VMware.

Docker est maintenant en cours d'exécution


1

Pouvez-vous essayer d'activer Hyper-V manuellement et potentiellement créer et exécuter une machine virtuelle Hyper-V manuellement? Détails:


3
Pour moi, cela ne fonctionnait pas même lorsque Hyper-V était activé et le BIOS configuré; J'obtenais toujours cette erreur. La désactivation de Hyper-V +, le redémarrage de Windows, puis sa réactivation ont résolu le problème pour moi.
Tadej

1

Dans mon cas, j'ai dû désinstaller hyper-v, redémarrer le PC et exécuter à nouveau docker.


1

Essayez ceci dans PowerShell (admin activé):

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

Cela installera HyperVisor sans outils de gestion, puis vous pourrez exécuter Docker après cela.


1

J'ai essayé de nombreuses suggestions ci-dessus mais docker continue de se plaindre d'une erreur de virtualisation assistée par matériel. La virtualisation est activée dans le BIOS, et Hyper-V est également installé et activé. Après quelques essais et erreurs, j'ai finalement téléchargé l'outil coreinfo et j'ai découvert que Hypervisor n'était pas réellement activé. En utilisant ISE (64 bits) comme admin et exécutez la commande de la solution B ci-dessus et qui active l'hyperviseur avec succès (vérifié via coreinfo -v à nouveau). Après le redémarrage, docker fonctionne maintenant avec succès.


1

Essayez ces étapes

  1. Exécutez cette commande dans powershell ---> bcdedit / set hypervisorlaunchtype auto
  2. Redémarrez votre PC
  3. Maintenant, essayez docker --version en ligne cmd


0

J'utilise aussi vagrant. Il semble que je ne peux utiliser qu'une seule chose à la fois. La désinstallation de vagrant / virtualBox m'a permis d'exécuter Docker et vice versa



0

@Silverstorm

J'ai installé Hyperv et la virtualisation activée dans mon BIOS.

Mais la SOLUTION A n'a pas fonctionné pour moi.

Cependant, SOLUTION B a fonctionné comme un charme.

SOLUTION B (si la fonction Hyper-V est déjà activée mais ne fonctionne pas)

Activer l'hyperviseur avec

bcdedit / set hypervisorlaunchtype auto Redémarrez maintenant le système et réessayez.


0

Outre la réponse originale, j'ai fait ce qui suit:

  • Désactiver Hyper-V dans les fonctionnalités Windows
  • Activation et désactivation de la virtualisation dans le BIOS
  • Reconnectez-vous à Windows, activé Hyper-V. On m'a demandé qu'il y avait des mises à jour pour Hyper-V et j'ai fait la mise à jour. Redémarrez lorsque vous y êtes invité.
  • Ça a marché!

0

Si tout va bien avec l'option BIOS, je viens de forcer la désactivation et l'activation de toutes les fonctionnalités HyperV et cela a résolu mon problème --cmd Disable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-All --restart Enable-WindowsOptionalFeature -Online -FeatureName Microsoft- Hyper-V - Tous


0

Dans mon cas, j'ai dû activer la virtualisation dans les paramètres du BIOS.

  1. Redémarrez le PC
  2. Pendant que vous êtes sur l'écran de `` redémarrage '', appuyez sur l'une de ces touches et entrez les paramètres du bios dans Windows: esc, f1, f2, f3, f4, f8 ou supprimer
  3. Pour les systèmes basés sur Intel:
    • appuyez sur f7 (mode avancé)
    • aller à avancé
    • configuration cpa
    • activer la virtualisation

Et après toutes les étapes ci-dessus, cela fonctionne enfin :-)


0

Dans mon cas, même si j'ai utilisé toutes les solutions mentionnées ci-dessus, mais rien n'a fonctionné pour moi. J'ai donc décidé de désinstaller docker et de l'installer à nouveau.

Maintenant, dans le processus, j'ai remarqué que je n'ai pas vérifié Use Windows containers instead of Linux containers (this can be changed after installation)dans mon installation précédente, et c'est pourquoi j'ai eu le problème ci-dessus et les solutions ne l'ont toujours pas résolu. Assurez-vous donc de le vérifier avant d'exécuter le docker de bureau ou de le désinstaller et de le réinstaller en cochant cette option.

Processus d'installation de Docker

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.