BAD_POOL_HEADER (0x00000019) : Causes et Solutions complètes
L'erreur BAD_POOL_HEADER avec le code d'arrêt 0x00000019 est un écran bleu qui indique une corruption de l'en-tête du pool de mémoire de Windows. Le « pool » est une région de mémoire utilisée par le noyau et les pilotes pour allouer dynamiquement de la mémoire. Chaque bloc alloué possède un en-tête (header) qui contient des métadonnées sur l'allocation (taille, type, tag). Lorsque cet en-tête est corrompu, Windows ne peut plus gérer correctement la mémoire et provoque un BSOD pour éviter des dommages plus graves.
Que signifie cette erreur ?
Windows gère deux types de pools de mémoire : le pool paginé (paged pool), dont le contenu peut être transféré sur le disque, et le pool non paginé (nonpaged pool), qui reste toujours en RAM. Les pilotes et le noyau utilisent des fonctions comme ExAllocatePool pour réserver de la mémoire dans ces pools. Chaque allocation contient un en-tête avec des informations de contrôle. Si un pilote ou un processus écrit au-delà de la zone qui lui a été allouée (buffer overflow), il peut corrompre l'en-tête de l'allocation adjacente, provoquant cette erreur.
Causes principales
- Pilote défectueux : Un pilote qui gère mal la mémoire (fuite de mémoire, écriture hors limites) est la cause la plus fréquente.
- Logiciel antivirus : Certains antivirus tiers utilisent intensivement le pool de mémoire du noyau et peuvent le corrompre.
- Mémoire RAM défectueuse : Des erreurs matérielles dans la RAM peuvent corrompre les données en mémoire, y compris les en-têtes de pool.
- Démarrage rapide (Fast Startup) : Cette fonctionnalité peut parfois causer des incohérences dans la gestion de la mémoire au démarrage.
- Conflit entre pilotes : Deux pilotes qui tentent d'accéder à la même zone de mémoire.
- Logiciel de virtualisation : VirtualBox, VMware ou Hyper-V peuvent parfois causer des conflits de pool mémoire.
Solutions étape par étape
1. Désactiver temporairement l'antivirus
Les antivirus tiers sont une cause très fréquente de cette erreur car ils interceptent de nombreuses opérations du noyau :
- Désinstallez temporairement votre antivirus tiers (Avast, Norton, Kaspersky, Bitdefender, McAfee, etc.).
- Utilisez l'outil de désinstallation officiel fourni par le fabricant pour un nettoyage complet :
- Avast : avastclear
- Norton : Norton Remove and Reinstall Tool
- Kaspersky : kavremover
- McAfee : MCPR (McAfee Consumer Product Removal Tool)
- Windows Defender prendra automatiquement le relais pour la protection.
- Utilisez votre ordinateur pendant quelques jours pour voir si l'erreur réapparaît.
- Si le problème est résolu, changez d'antivirus ou réinstallez la dernière version de votre antivirus actuel.
2. Mettre à jour tous les pilotes
Un pilote qui corrompt le pool mémoire doit être identifié et mis à jour :
- Ouvrez le Gestionnaire de périphériques (
devmgmt.msc). - Vérifiez chaque catégorie pour les périphériques avec un signe d'avertissement.
- Mettez à jour en priorité :
- Les pilotes de carte graphique (NVIDIA, AMD, Intel).
- Les pilotes réseau (Wi-Fi et Ethernet).
- Les pilotes de contrôleur de stockage (SATA, NVMe).
- Les pilotes USB, Bluetooth et audio.
- Vérifiez également les mises à jour Windows qui incluent des pilotes facultatifs : Paramètres > Windows Update > Options avancées > Mises à jour facultatives.
3. Exécuter le diagnostic mémoire
La RAM défectueuse peut corrompre les en-têtes de pool :
mdsched.exe
Choisissez de redémarrer immédiatement pour lancer le test. Pour des résultats plus détaillés, appuyez sur F1 pendant le test pour sélectionner le mode « Étendu » qui effectue des tests plus approfondis.
Pour un diagnostic encore plus fiable, utilisez MemTest86 :
- Créez une clé USB bootable avec MemTest86.
- Démarrez dessus et laissez tourner au moins 4 passes complètes.
- Si des erreurs sont détectées, remplacez la barrette de RAM défaillante.
4. Désactiver le démarrage rapide
Le démarrage rapide (Fast Startup) peut causer des problèmes de pool mémoire car il ne vide pas complètement la mémoire lors de l'arrêt :
- Ouvrez le Panneau de configuration > Options d'alimentation.
- Cliquez sur « Choisir l'action des boutons d'alimentation » dans le menu de gauche.
- Cliquez sur « Modifier des paramètres actuellement non disponibles ».
- Décochez « Activer le démarrage rapide (recommandé) ».
- Cliquez sur Enregistrer les modifications.
powercfg /h off. Cette commande désactive également l'hibernation.
5. Vérifier les conflits de pilotes
Utilisez le Vérificateur de pilotes Windows pour identifier un pilote défectueux :
- Ouvrez une invite de commandes en tant qu'administrateur.
- Tapez
verifieret appuyez sur Entrée. - Sélectionnez « Créer des paramètres standard ».
- Sélectionnez « Sélectionner automatiquement tous les pilotes installés sur cet ordinateur » ou choisissez des pilotes spécifiques suspects.
- Redémarrez. Le vérificateur surveillera les pilotes et provoquera un BSOD immédiat si un pilote effectue une opération interdite, en identifiant précisément le coupable.
verifier /reset puis redémarrez.
6. Réparer les fichiers système
Des fichiers système corrompus peuvent causer des problèmes de gestion du pool mémoire :
sfc /scannow
Puis si nécessaire :
DISM /Online /Cleanup-Image /RestoreHealth
7. Effectuer un démarrage minimal
Pour identifier si un logiciel tiers est responsable :
- Appuyez sur
Win + R, tapezmsconfig. - Onglet Services : cochez « Masquer tous les services Microsoft » puis « Désactiver tout ».
- Onglet Démarrage : ouvrez le Gestionnaire des tâches et désactivez tous les programmes au démarrage.
- Redémarrez et testez. Si l'erreur disparaît, réactivez les services un par un.
Prévention
- Maintenez vos pilotes à jour en vérifiant régulièrement les sites des fabricants.
- Évitez d'installer plusieurs antivirus simultanément.
- Surveillez l'état de votre RAM avec des tests périodiques.
- Évitez les logiciels de sources non fiables qui pourraient installer des pilotes de mauvaise qualité.