127 votes

VMware Workstation et Device/Credential Guard ne sont pas compatibles

J'utilise VMware depuis un an sans problème, aujourd'hui je l'ai ouvert pour démarrer une de mes VM et j'ai eu un message d'erreur, voir la capture d'écran.

enter image description here

J'ai suivi le lien et les étapes, à l'étape 4 je dois monter un volume en utilisant "mountvol". Lorsque j'essaie de monter un volume en utilisant mountvol X: \\?\Volume{5593b5bd-0000-0000-0000-c0f373000000}\ il n'arrête pas de dire The directory is not empty. J'ai même créé une partition de 2 Go et toujours le même message.

Mes questions :

Comment puis-je monter le volume qui n'est pas vide alors qu'il l'est ?

Pourquoi ce Device/Credential Guard s'est-il activé automatiquement et comment puis-je m'en débarrasser ou le désactiver ?

CMD : enter image description here

88voto

user1751825 Points 1464

Il existe une bien meilleure façon de traiter cette question. Plutôt que de supprimer complètement Hyper-V, il suffit de faire un démarrage alternatif pour le désactiver temporairement lorsque vous avez besoin d'utiliser VMWare. Comme indiqué ici...

http://www.hanselman.com/blog/SwitchEasilyBetweenVirtualBoxAndHyperVWithABCDEditBootEntryInWindows81.aspx

C:\>bcdedit /copy {current} /d "No Hyper-V" 
The entry was successfully copied to {ff-23-113-824e-5c5144ea}. 

C:\>bcdedit /set {ff-23-113-824e-5c5144ea} hypervisorlaunchtype off 
The operation completed successfully.

note : L'ID généré par la première commande est celui que vous utilisez dans la seconde. Ne l'exécutez pas mot pour mot.

Quand vous redémarrez, vous verrez alors un menu avec deux options...

  • Windows 10
  • Pas de Hyper-V

Pour utiliser VMWare, il suffit donc de redémarrer et de choisir l'option "No Hyper-V".

Si vous voulez supprimer à nouveau une entrée de démarrage. Vous pouvez utiliser l'option /delete pour bcdedit.

D'abord, obtenez une liste des entrées de démarrage actuelles...

C:\>bcdedit /v

Cette liste énumère toutes les entrées avec leurs identifiants. Copiez l'ID correspondant, puis supprimez-le comme suit...

C:\>bcdedit /delete {ff-23-113-824e-5c5144ea}

Comme indiqué dans les commentaires, vous devez effectuer cette opération à partir d'une invite de commande élevée, et non de powershell. Dans powershell, la commande provoquera une erreur.

mise à jour : Il est possible d'exécuter ces commandes dans powershell, si les accolades sont échappées avec le backtick (`). Comme ça...

C:\WINDOWS\system32> bcdedit /copy `{current`} /d "No Hyper-V"

1 votes

Note : Exécuter des commandes dans la ligne de commande des administrateurs, en PowerShell cela ne fonctionne pas.

0 votes

Cela a fonctionné pour moi, mais comment puis-je annuler l'action ci-dessus ?

0 votes

Vous pouvez utiliser l'option /delete pour bcdedit, pour supprimer l'entrée clonée. J'ai mis à jour ma réponse ci-dessus.

85voto

magicandre1981 Points 1557

Device/Credential Guard est une machine virtuelle/mode virtuel sécurisé basé sur Hyper-V. qui héberge un noyau sécurisé pour rendre Windows 10 beaucoup plus sûr.

enter image description here

...l'instance VSM est séparée des fonctions normales du système d'exploitation. fonctions du système d'exploitation et est protégée contre les tentatives de lecture des informations dans ce mode. Les protections sont assistées par le matériel, car l'hyperviseur demande au matériel de traiter ces pages de mémoire différemment. demande au matériel de traiter ces pages de mémoire différemment. Ce site de la même manière que deux machines virtuelles sur le même hôte ne peuvent pas interagir l'une avec l'autre ; leur mémoire est indépendante et le matériel pour s'assurer que chaque VM ne peut accéder qu'à ses propres données.

A partir de là, nous avons maintenant un mode protégé où nous pouvons exécuter la sécurité opérations sensibles à la sécurité. Au moment de la rédaction, nous supportons trois capacités qui peuvent résider ici : l'autorité de sécurité locale (LSA), et les fonctions de contrôle de l'intégrité du code sous la forme de Kernel Mode Code (KMCI) et le contrôle d'intégrité du code de l'hyperviseur lui-même, qui est appelé Hypervisor Code Integrity (HVCI).

enter image description here

Lorsque ces capacités sont gérées par des Trustlets dans VSM, le système d'exploitation hôte hôte communique simplement avec eux par le biais de canaux et de standard à l'intérieur du système d'exploitation. Bien que cette communication spécifique aux Trustlets est autorisée, la tentative de lecture ou de manipulation des données dans VSM par un code ou un utilisateur malveillant du système d'exploitation hôte sera signifiée par un signal sonore. hôte tentent de lire ou de manipuler les données de VSM sera beaucoup plus difficile que sur un système non configuré, ce qui constitue un avantage en termes de sécurité.

L'exécution de LSA dans le VSM fait que le processus LSA lui-même (LSASS) reste dans le VSM. l'OS hôte et une instance supplémentaire spéciale de LSA (appelée LSAIso). - qui signifie LSA isolé) est créée. Ceci afin de permettre à tous les appels standard à LSA de continuer à fonctionner, ce qui offre une excellente et une excellente rétrocompatibilité, même pour les services ou les capacités qui qui nécessitent une communication directe avec LSA. À cet égard, on peut penser l'instance LSA restante dans l'OS hôte comme une instance "proxy" ou qui communique simplement avec la version isolée de la manière prescrite. manière prescrite.

Et Hyper-V et VMware n'ont pas travaillé en même temps jusqu'à 2020 , lorsque VMware a utilisé Hyper-V Platform pour coexister avec Hyper-V en commençant par Version 15.5.5 .

Comment fonctionne VMware Workstation avant la version 15.5.5 ?

VMware Workstation utilise traditionnellement un moniteur de machine virtuelle (VMM) qui fonctionne en mode privilégié et qui nécessite un accès direct au CPU ainsi qu'un accès à la prise en charge intégrée de la virtualisation du CPU (VT-x d'Intel et AMD-V d'AMD). Lorsqu'un hôte Windows active les fonctions de sécurité basées sur la virtualisation ("VBS"), Windows ajoute une couche de couche hyperviseur basée sur Hyper-V entre le matériel et Windows. Toute tentative d'exécuter le VMM traditionnel de VMware échoue parce qu'étant à l'intérieur d'Hyper-V, le VMM ne peut plus être utilisé. Hyper-V, le VMM n'a plus accès au support de virtualisation du matériel. du matériel.

Présentation du moniteur de niveau d'utilisateur

Pour résoudre ce problème de compatibilité Hyper-V/Host VBS, la plateforme VMware de VMware a réarchitecturé l'hyperviseur de VMware pour utiliser les API WHP de Microsoft. Cela signifie que nous devons modifier notre VMM pour qu'il s'exécute au niveau de l'utilisateur au lieu de s'exécuter en mode mode privilégié, ainsi que de le modifier pour qu'il utilise les API WHP afin de gérer l'exécution d'un invité au lieu d'utiliser directement le matériel sous-jacent. directement.

Qu'est-ce que cela signifie pour vous ?

VMware Workstation/Player peut désormais s'exécuter lorsque Hyper-V est activé. Vous n'avez plus à choisir entre exécutant VMware Workstation et Windows comme WSL, Device Guard et Credential Guard. Lorsque Hyper-V est activé, le mode ULM sera automatiquement utilisé afin que vous puissiez exécuter VMware Workstation normalement. Si vous n'utilisez pas du tout Hyper-V, VMware Workstation est suffisamment intelligent pour le détecter et le VMM sera utilisé.

Configuration requise

Pour exécuter Workstation/Player à l'aide des API de l'hyperviseur Windows, l'option minimale requise est Windows 10 20H1 build 19041.264. 19041.264. La version minimale de VMware Workstation/Player est 15.5.5.

Pour éviter cette erreur, mettez à jour votre Windows 10 à la version 2004/Build 19041 (mise à jour Mai 2020). et utiliser au moins VMware 15.5.5 .

11 votes

Mon Windows 10 (Anniversary Update) est à la version 14393.351 et sur les deux fonctionnalités mises en avant, je n'avais que "Hyper-V Hypervisor", mais pas "Isolated User Mode". J'ai pu résoudre le problème VMware en désinstallant uniquement la fonctionnalité "Hyper-V Hypervisor". Je suis heureux de ne pas avoir eu à passer par les étapes manuelles que VMware avait dans son manuel d'installation. KB

0 votes

@dashrendar ok, c'est le problème avec Win10. Avec chaque mise à jour des fonctionnalités, ils changent/renomment certaines options/fonctionnalités. Le blog a été écrit à une époque où la version 1511 était la version actuelle.

2 votes

Il n'est pas nécessaire de désactiver Hyper-V de cette manière, ni d'installer des utilitaires tiers. Hyper-V peut être activé et désactivé selon les besoins en utilisant simplement d'autres options de démarrage avec la commande intégrée bcdedit (voir ma réponse).

46voto

gue22 Points 143

Je ne suis toujours pas convaincu qu'Hyper-V est la chose pour moi, même avec les essais et tribulations de Docker de l'année dernière et je suppose que vous ne voudrez pas changer très fréquemment, donc plutôt que de créer un nouveau démarrage et de confirmer le démarrage par défaut ou d'attendre le délai d'attente à chaque démarrage, je change à la demande dans la console en mode administrateur en

bcdedit /set hypervisorlaunchtype off

Une autre raison de cet article : vous épargner des maux de tête : Vous pensiez encore allumer Hyper-V avec l'argument "on" ? Non. Trop simple pour MiRKoS..t. C'est auto !

Amusez-vous bien !
G.

0 votes

Cela fonctionne, surtout si vous avez besoin des deux (au lieu de désinstaller tout l'hyperviseur Hyper-V). Je passe sans cesse de l'un à l'autre pour m'amuser avec les deux technologies. C'est pourquoi je préfère cette méthode.

8 votes

Et bcdedit /set hypervisorlaunchtype auto si vous devez le rallumer.

2 votes

J'ai dû redémarrer pour pouvoir exécuter la VM.

23voto

Sharpowski Points 209

Pour que ce soit super facile :

  1. Juste télécharger ce script directement auprès de Microsoft.

  2. Exécutez votre Powershell en tant qu'administrateur, puis exécutez les commandes suivantes :

    • Pour vérifier si DG/CG est activé DG_Readiness.ps1 -Ready
    • Pour désactiver le DG/CG. DG_Readiness.ps1 -Disable

0 votes

Il serait plus utile que vous fournissiez des informations sur la façon d'utiliser correctement le script que vous dites de télécharger. Chaque fois que quelqu'un publie un script pour Powershell, il n'explique jamais correctement comment l'utiliser.

0 votes

Dans mon cas, je n'ai pas pu exécuter le script car l'exécution du script était désactivée. J'ai dû activer l'exécution de script d'abord avec la commande suivante : Set-ExecutionPolicy unrestricted Au redémarrage, j'ai été invité à désactiver Device Guard. Merci pour la solution !

1 votes

J'ai décoché toutes les cases dans le registre et il y avait toujours des erreurs. Ce script a fonctionné pour moi. J'ai enfin obtenu les invites au redémarrage pour désactiver la protection des périphériques et d'autres protections.

1voto

Nicholas K Points 6627

J'ai aussi beaucoup lutté avec cette question. Les réponses dans ce fil de discussion ont été utiles mais n'ont pas suffi à résoudre mon erreur. Vous devrez désactiver Hyper-V et Device guard comme les autres réponses l'ont suggéré. Vous trouverez plus d'informations à ce sujet dans aquí .

J'inclus les modifications à apporter en plus des réponses fournies ci-dessus. Le lien qui m'a finalement aidé est le suivant este .

Ma réponse va résumer uniquement la différence entre le reste des réponses (c'est-à-dire la désactivation de Hyper-V et de Device guard) et les étapes suivantes :

  1. Si vous avez utilisé la stratégie de groupe, désactivez le paramètre de stratégie de groupe que vous avez que vous avez utilisé pour activer Windows Defender Credential Guard (Computer Configuration -> Modèles d'administration -> Système -> Device Guard -> Activer la sécurité basée sur la virtualisation).

  2. Supprimez les paramètres de registre suivants :

    HKEY_LOCAL_MACHINE \System\CurrentControlSet\Control\LSA\LsaCfgFlags HKEY_LOCAL_MACHINE \Software\Policies\Microsoft\Windows\DeviceGuard\EnableVirtualizationBasedSecurity HKEY_LOCAL_MACHINE \Software\Policies\Microsoft\Windows\DeviceGuard\RequirePlatformSecurityFeatures

    Important : Si vous supprimez manuellement ces paramètres de registre, assurez-vous de supprimer tous. Si vous ne les supprimez pas tous, l'appareil risque de se mettre en mode récupération de BitLocker.

  3. Supprimez les variables EFI de Windows Defender Credential Guard à l'aide des éléments suivants bcdedit. A partir d'une invite de commande élevée (démarrage en mode administrateur), tapez les commandes suivantes :

     mountvol X: /s
    
     copy %WINDIR%\System32\SecConfig.efi X:\EFI\Microsoft\Boot\SecConfig.efi /Y
    
     bcdedit /create {0cb3b571-2f2e-4343-a879-d86a476d7215} /d "DebugTool" /application osloader
    
     bcdedit /set {0cb3b571-2f2e-4343-a879-d86a476d7215} path "\EFI\Microsoft\Boot\SecConfig.efi"
    
     bcdedit /set {bootmgr} bootsequence {0cb3b571-2f2e-4343-a879-d86a476d7215}
    
     bcdedit /set {0cb3b571-2f2e-4343-a879-d86a476d7215} loadoptions DISABLE-LSA-ISO
    
     bcdedit /set {0cb3b571-2f2e-4343-a879-d86a476d7215} device partition=X:
    
     mountvol X: /d
  4. Redémarrez le PC.

  5. Acceptez l'invitation à désactiver Windows Defender Credential Guard.

  6. Vous pouvez également désactiver la sécurité basée sur la virtualisation. pour désactiver Windows Defender Credential Guard.

0 votes

Si la réponse ci-dessus n'a pas fonctionné, essayez 1. bcdedit /set hypervisorlaunchtype off 2. redémarrez Windows

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X