Windows 11 : « Intégrité de la mémoire » (Core Isolation / HVCI) se désactive — causes et correctifs définitifs

La bascule « Intégrité de la mémoire » (Core Isolation / HVCI) de Windows 11 se désactive toute seule ? Voici un plan d’action exhaustif — matériel, firmware, pilotes et configuration — pour l’activer et la maintenir activée de façon durable, sans tâtonner.

Sommaire

Comprendre le problème et ses symptômes

L’Intégrité de la mémoire (HVCI, Hypervisor‑Enforced Code Integrity) est une composante de la Virtualization‑Based Security (VBS) qui isole la mémoire noyau dans un environnement protégé par l’hyperviseur Windows. Quand cette option se désactive, Windows l’indique dans Sécurité Windows > Sécurité de l’appareil > Isolation du noyau avec une alerte invitant à « Activer l’intégrité de la mémoire ». Parfois, l’activation échoue avec un message de pilotes incompatibles, ou bien l’option repasse à Désactivé après un redémarrage ou une mise à jour.

La cause la plus fréquente : un pilote noyau non conforme HVCI (ancien, mal signé, utilisant des API obsolètes), une virtualisation firmware désactivée, un BIOS/UEFI trop ancien ou un changement de configuration (mise à jour du GPU, ajout d’un périphérique PCIe, activation d’un outil de virtualisation tiers, etc.).

Résumé exécutif : la check‑list fiable

Appliquez ces étapes dans l’ordre. Si l’une échoue, corrigez avant de passer à la suivante.

ÉtapeActionDétails essentielsCommandes / Outils utiles
1. Vérifier les prérequis matérielsConfirmer que la plateforme prend en charge VBS– CPU 64 bits avec Intel VT‑x ou AMD‑V.
SLAT (Second Level Address Translation).
IOMMU (Intel VT‑d / AMD‑Vi) pour bloquer les accès DMA.
TPM 2.0 (physique ou firmware).
systeminfo /nh Cherchez « Configuration requise pour Hyper‑V ».
msinfo32 > Vérifier « Mode BIOS : UEFI » et « Sécurité basée sur la virtualisation ».
2. Contrôler le firmware UEFILe microprogramme doit être compatible VBS– Table WMST (Windows SMM Security Mitigations Table) conforme.
– Table UEFI Memory Attributes (MAT) correcte : séparation code/données, alignement 4 Kio, protections RO/NX.
Secure MOR v2 pour l’effacement sécurisé de la mémoire.
Secure Boot activé.
Mettre à jour le BIOS/UEFI vers la dernière version stable du constructeur.
3. Activer la virtualisationActiver VT‑x/SVM et VT‑d/AMD‑Vi dans l’UEFI– « Intel Virtualization Technology » / « SVM » (AMD).
– « Intel VT‑d » ou « AMD‑Vi » (IOMMU).
– Laisser Hyper‑V disponible (Windows gère l’hyperviseur pour VBS).
Après réglage UEFI, vérifiez : systeminfo et bcdedit /enum {current} (hypervisorlaunchtype=Auto)
4. Mettre à jour BIOS, microprogramme et pilotesSupprimer tout héritage incompatible– Installez le BIOS/UEFI le plus récent.
– Mettez à jour chipset, GPU, réseau, stockage via le constructeur.
– Appliquez toutes les mises à jour Windows.
Gestionnaire de périphériques > clic droit > Mettre à jour. Privilégiez les packages OEM récents.
5. Rechercher les pilotes incompatiblesIdentifier et corriger les bloqueurs HVCI– Lancez Driver Verifier avec l’option Code Integrity Compatibility.
– Exécutez le test HVCI Readiness du Windows HLK (si disponible).
– Dans Sécurité de l’appareil > Détails Isolation du noyau, tout pilote listé doit être mis à jour, remplacé ou supprimé.
verifier /standard /driver <nom.sys> Get-ComputerInfo | Select-Object DeviceGuard* Observateur d’événements : Microsoft > Windows > CodeIntegrity > Operational.
6. Activer VBS & IntégritéActiver l’option une fois la conformité atteinteSécurité Windows > Sécurité de l’appareil > Isolation du noyau > bascule « Intégrité de la mémoire ».
OU via stratégie de groupe : Configuration ordinateur > Modèles d’administration > Système > Device Guard > Activer la sécurité basée sur la virtualisation + HypervisorEnforcedCodeIntegrity = Enabled.
Redémarrez après l’activation. Vérifiez l’état avec PowerShell (ci‑dessous).
7. Redémarrer et validerConfirmer la persistance– Vérifiez que l’option reste Activée après 2 redémarrages.
– Inspectez les journaux CodeIntegrity/Operational pour détecter des erreurs HVCI.
– Contrôlez la Protection DMA du noyau (Kernel DMA Protection) dans Sécurité de l’appareil.
Get-CimInstance -ClassName Win32_DeviceGuard Get-ComputerInfo | Select-Object DeviceGuard*

Informations complémentaires utiles

  • Désactivation temporaire : pour diagnostiquer un pilote, vous pouvez désactiver HVCI provisoirement, redémarrer, remplacer le pilote, puis réactiver l’intégrité de la mémoire.
  • Éviter les conflits Hyper‑V : Hyper‑V doit rester disponible, mais certains hyperviseurs tiers (Workstation, VirtualBox anciens) exigent des versions « compatibles Hyper‑V ».
  • Scripts de vérification rapide : systeminfo /nh et Get‑ComputerInfo | Select‑Object DeviceGuard* résument l’état VBS/HVCI.
  • Persistance : après mise à jour d’un pilote ou du BIOS, Windows peut désactiver l’option par précaution ; répétez les étapes 4 et 5.

Tutoriel détaillé et étapes pas à pas

Vérifier le matériel et le mode d’amorçage

  1. Ouvrez msinfo32 et contrôlez :
    • Mode BIOS : UEFI (pas « Hérité »).
    • État de démarrage sécurisé : Activé.
    • Sécurité basée sur la virtualisation : idéalement En cours d’exécution une fois HVCI activé.
  2. Dans un Invite de commandes administrateur : systeminfo Recherchez la section « Configuration requise pour Hyper‑V ». Vous devez voir Extensions du mode de moniteur de machine virtuelle : Oui, SLAT : Oui, La virtualisation est activée dans le microprogramme : Oui, DEP : Oui.

Activer la virtualisation dans l’UEFI

Redémarrez et entrez dans l’UEFI. Activez :

  • Intel Virtualization Technology (ou SVM côté AMD),
  • Intel VT‑d / AMD‑Vi (IOMMU),
  • Conservez Secure Boot activé.

De retour sous Windows :

bcdedit /enum {current}

Vérifiez hypervisorlaunchtype Auto. Si ce n’est pas le cas :

bcdedit /set hypervisorlaunchtype auto

Mettre à jour le BIOS/UEFI et les pilotes clés

Un BIOS ancien ou un pilote noyau historique suffit à faire repasser HVCI à Off au démarrage. Appliquez :

  • Le dernier BIOS/UEFI fourni par l’OEM (répare souvent MAT/WMST et IOMMU).
  • Les pilotes OEM récents : chipset (Intel/AMD), GPU (DCH), réseau (Wi‑Fi/Ethernet), stockage (NVMe/RAID), audio. Évitez les pilotes génériques trop anciens.
  • Les mises à jour facultatives de Windows Update dans « Mises à jour de pilotes ».

Identifier et corriger les pilotes incompatibles

Si Intégrité de la mémoire refuse de s’activer car un pilote est listé comme « incompatible » :

  1. Ouvrez Sécurité Windows > Sécurité de l’appareil > Détails de l’isolation du noyau et notez chaque pilote signalé (nom.sys).
  2. Recherchez une version signée moderne du pilote (site OEM). Si indisponible : remplacez le composant (ex. adaptateur USB, carte capture), ou supprimez le logiciel associé.
  3. Avec Driver Verifier (Admin) : verifier /standard /driver nom_du_pilote.sys Redémarrez, reproduisez, puis inspectez Observateur d’événements > Microsoft > Windows > CodeIntegrity > Operational pour des erreurs détaillant les appels interdits par HVCI.

Exemples typiques de bloqueurs : anciens filtres sécurité, pilotes d’overclocking/monitoring hérités, filtres de stockage (anciens pilotes RAID), pilotes audio « enhancements », pilotes d’émulation ou de virtualisation obsolètes. Chaque fois que possible, migrez vers des pilotes DCH et des versions 2020+.

Activer HVCI via l’interface graphique

  1. Ouvrez Sécurité Windows > Sécurité de l’appareil > Isolation du noyau.
  2. Activez la bascule Intégrité de la mémoire, puis redémarrez.
  3. De retour, validez avec PowerShell : Get-ComputerInfo | Select-Object DeviceGuard* | Format-List Assurez‑vous que l’intégrité du code « enforced by hypervisor » est Active.

Activer HVCI via stratégie de groupe (GPO) ou Registre

En environnement géré ou si l’UI échoue, forcez la configuration :

Stratégie de groupe

  1. gpedit.msc > Configuration ordinateur > Modèles d’administration > Système > Device Guard.
  2. Ouvrez Activer la sécurité basée sur la virtualisation et choisissez :
    • Sécurité basée sur la virtualisation : Activée,
    • Protection basée sur la virtualisation de l’intégrité du code : Activée avec verrouillage UEFI (idéalement),
    • Protection DMA : Active si disponible (plateforme compatible).
  3. Fermez, exécutez : gpupdate /force puis redémarrez.

Registre (administrateur)

Attention : sauvegardez votre Registre. Créez un fichier .reg et importez :

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\DeviceGuard]
"EnableVirtualizationBasedSecurity"=dword:00000001
"RequirePlatformSecurityFeatures"=dword:00000003

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\DeviceGuard\Scenarios\HypervisorEnforcedCodeIntegrity]
"Enabled"=dword:00000001 

Signification :

  • EnableVirtualizationBasedSecurity=1 : VBS activé.
  • RequirePlatformSecurityFeatures=3 : Secure Boot + protection DMA requises (1 = Secure Boot seul).
  • ...HVCI\Enabled=1 : HVCI activée.

Valider la persistance et diagnostiquer via les journaux

Après redémarrage :

  • Double redémarrage : assurez‑vous que HVCI reste activée après deux cycles complets (certaines migrations de pilote nécessitent un second boot).
  • Journaux : Observateur d’événements > Journaux des applications et services > Microsoft > Windows > CodeIntegrity > Operational. Recherchez des erreurs ou avertissements ; corrigez les pilotes incriminés.
  • État synthétique (PowerShell) : Get-CimInstance -ClassName Win32_DeviceGuard | Select-Object SecurityServicesConfigured, SecurityServicesRunning, VirtualizationBasedSecurityStatus

Scripts d’audit et de remédiation « prêts à l’emploi »

Audit rapide VBS/HVCI

# Exécuter dans PowerShell (Administrateur)
$dg = Get-CimInstance -ClassName Win32_DeviceGuard
$ci = Get-ComputerInfo | Select-Object -ExpandProperty DeviceGuard* -ErrorAction SilentlyContinue
"=== VBS/HVCI ==="
$dg | Format-List *
"=== DeviceGuard (Get-ComputerInfo) ==="
$ci
"=== Hyperviseur Windows ==="
bcdedit /enum {current}
"=== Hyper-V Requirements (systeminfo) ==="
systeminfo | Select-String "Hyper-V" -Context 0,4

Forcer l’activation (si prérequis OK)

# PowerShell (Administrateur) - forcer VBS/HVCI
reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard" /v EnableVirtualizationBasedSecurity /t REG_DWORD /d 1 /f
reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard" /v RequirePlatformSecurityFeatures /t REG_DWORD /d 3 /f
reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard\Scenarios\HypervisorEnforcedCodeIntegrity" /v Enabled /t REG_DWORD /d 1 /f
bcdedit /set hypervisorlaunchtype auto
Write-Host "Redémarrez l’ordinateur pour appliquer les changements."

Désactivation temporaire (pour remplacer un pilote)

# À utiliser UNIQUEMENT pour maintenance temporaire
reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard\Scenarios\HypervisorEnforcedCodeIntegrity" /v Enabled /t REG_DWORD /d 0 /f
Write-Host "Redémarrez, remplacez le(s) pilote(s), puis réactivez HVCI."

Cas particuliers et scénarios fréquents

Coexistence avec des hyperviseurs tiers, WSL 2 et outils développeur

  • WSL 2 / Docker Desktop : compatibles si l’hyperviseur Windows est actif (hypervisorlaunchtype=Auto). Mettez ces outils à jour.
  • VMware Workstation, VirtualBox : utilisez des versions « compatibles Hyper‑V » (modes basés sur l’API Windows Hypervisor Platform). Les versions anciennes exigent la désactivation d’Hyper‑V, ce qui casse VBS/HVCI.
  • Mode noyau de débogage : tout débogage noyau ou patchguard‑like peut empêcher HVCI. Désactivez‑les en production.

Matériel portable avec stations d’accueil

Certains docks PCIe/Thunderbolt ajoutent des périphériques DMA ; si Kernel DMA Protection est indisponible, HVCI peut se désactiver par prudence. Mettez à jour le firmware du dock et les pilotes thunderbolt/USB4, et revalidez l’étape 1.

Pilotes « fantômes »

Après une désinstallation, il peut rester des services noyau désactivés mais présents, détectés par HVCI. Pour les nettoyer :

pnputil /enum-drivers | Select-String -Pattern "oem" -Context 0,6
# Identifier le package du pilote concerné
pnputil /delete-driver oemXX.inf /uninstall /force

Politiques WDAC / Device Guard conflictuelles

Des stratégies WDAC (Windows Defender Application Control) personnalisées peuvent interagir avec HVCI. Si vous gérez un parc : vérifiez que la politique n’interdit pas l’initialisation HVCI ou n’exige pas des pilotes spécifiques non conformes.

Retour arrière BIOS/UEFI

Chez certains OEM, le rollback réactive des options héritées (CSM, Legacy USB). Assurez‑vous que le CSM/Legacy Boot est désactivé.


Tableaux de référence rapide

Pré‑requis & où les vérifier

Pré‑requisOù/CommentAttendu
UEFI + Secure Bootmsinfo32UEFI / Démarrage sécurisé : Activé
VT‑x/SVM + SLATsysteminfoOui / Oui
IOMMU (VT‑d/AMD‑Vi)UEFI > Advanced/ChipsetActivé
TPM 2.0tpm.mscVersion 2.0, prêt
Hyperviseur Windowsbcdedithypervisorlaunchtype : Auto

Registre & valeurs clés (HVCI/VBS)

CléValeurRôle
HKLM\...\DeviceGuard\EnableVirtualizationBasedSecurityDWORD 1Active VBS
HKLM\...\DeviceGuard\RequirePlatformSecurityFeaturesDWORD 3Secure Boot + DMA
HKLM\...\DeviceGuard\Scenarios\HypervisorEnforcedCodeIntegrity\EnabledDWORD 1Active HVCI

Messages courants → actions

Symptôme/MessageCause probableAction recommandée
« Pilotes incompatibles détectés »Pilote noyau legacyMettre à jour / remplacer le pilote, nettoyer les restes (pnputil)
Bascule repasse à OFF après redémarrageNouveau pilote ou mise à jour BIOSRejouer étapes 4–5, double redémarrage, vérifier journaux
« La virtualisation n’est pas activée »VT‑x/SVM/VT‑d désactivé dans l’UEFIActiver virtualisation + IOMMU, vérifier bcdedit
Conflits avec une VM tierceHyperviseur non compatibleMettre à jour VMware/VirtualBox, activer compatibilité Hyper‑V

Bonnes pratiques pour une activation qui tient dans le temps

  • Mises à jour prévisibles : figez les versions de pilotes critiques (stockage, VPN, sécurité) et testez HVCI sur un groupe pilote avant déploiement large.
  • Surveillance : surveillez le journal CodeIntegrity et l’état Win32_DeviceGuard via script, alertez en cas de bascule.
  • Hygiène logicielle : désinstallez les outils noyau non essentiels (anciens filtres, outils d’overclocking) sur postes d’entreprise.
  • Firmware à jour : conservez une politique de mise à jour BIOS/UEFI annuelle minimum.

FAQ

HVCI ralentit‑il mon PC ? Sur du matériel récent (SLAT/IOMMU), l’impact est généralement faible. Sur des plateformes anciennes, l’overhead peut être perceptible ; privilégiez l’actualisation matérielle plutôt que de désactiver HVCI.

Faut‑il installer Hyper‑V ? Non : VBS/HVCI utilise l’hyperviseur Windows, même sans le rôle Hyper‑V complet. Il faut seulement que l’hyperviseur puisse se lancer (hypervisorlaunchtype=Auto).

Pourquoi HVCI se désactive après Windows Update ? Windows peut désactiver HVCI si un nouveau pilote noyau ne satisfait plus les exigences. Ce comportement protège la stabilité. Répétez les étapes 4–5, corrigez le pilote, puis réactivez.

Puis‑je forcer HVCI sur du matériel non compatible ? Non. Sans UEFI, SLAT, IOMMU et Secure Boot, HVCI n’est pas supporté et peut provoquer des instabilités.


Procédure de bout en bout (condensé « copier‑coller »)

  1. Vérifiez UEFI/Secure Boot/VT‑x/SLAT via msinfo32 et systeminfo.
  2. Activez VT‑x/SVM et VT‑d/AMD‑Vi dans l’UEFI, puis : bcdedit /set hypervisorlaunchtype auto
  3. Mettez à jour BIOS/UEFI + pilotes chipset/GPU/réseau/stockage.
  4. Nettoyez les pilotes incompatibles (UI Sécurité Windows + pnputil + verifier).
  5. Activez HVCI via l’UI ou GPO/Registre (valeurs ci‑dessus).
  6. Double redémarrage, puis validez : Get-CimInstance Win32_DeviceGuard
  7. Surveillez les journaux CodeIntegrity/Operational et la protection DMA.

Conclusion

Si vous suivez rigoureusement la séquence matériel → firmware → pilotes → activation logicielle, l’option « Intégrité de la mémoire » reste activée de manière stable. La clé est de supprimer les pilotes non conformes, maintenir l’UEFI et autoriser l’hyperviseur Windows. Conservez ce guide comme check‑list après chaque changement matériel/logiciel impactant le noyau.


Annexe : commandes utiles (mémo)

# État Device Guard / VBS / HVCI
Get-CimInstance -ClassName Win32_DeviceGuard | Format-List *

# Résumé DeviceGuard dans Get-ComputerInfo

Get-ComputerInfo | Select-Object DeviceGuard* | Format-List

# Hyperviseur Windows

bcdedit /enum {current}

# Hyper-V Requirements

systeminfo | Select-String "Hyper-V" -Context 0,4

# Journaux HVCI

eventvwr.msc  # Microsoft > Windows > CodeIntegrity > Operational

# Driver Verifier ciblé

verifier /standard /driver nom_du_pilote.sys

# Nettoyage pilote PnP

pnputil /enum-drivers
pnputil /delete-driver oemXX.inf /uninstall /force 

Annexe : modèle de note d’intervention

Machine/BIOS :
- UEFI : Oui / Secure Boot : Oui
- Virtualisation : VT-x/SVM : Oui | VT-d/AMD-Vi : Oui
- TPM : 2.0

Pilotes :

* Chipset/GPU/Net/Storage : à jour (versions >= 2022)
* Pilotes legacy retirés : (liste)

Configuration :

* HVCI : Activé via UI / GPO
* bcdedit : hypervisorlaunchtype=Auto
* DeviceGuard : VBS actif, HVCI actif

Validation :

* Journaux CodeIntegrity : OK
* Double reboot : OK
* Outils tiers (VM/WSL/Docker) : compatibles 
Sommaire