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.

Attention : Cette erreur peut apparaître de manière intermittente et rendre le système instable. Si vous n'arrivez pas à démarrer Windows normalement, utilisez le Mode sans échec pour effectuer les réparations.

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

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 :

  1. Désinstallez temporairement votre antivirus tiers (Avast, Norton, Kaspersky, Bitdefender, McAfee, etc.).
  2. 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)
  3. Windows Defender prendra automatiquement le relais pour la protection.
  4. Utilisez votre ordinateur pendant quelques jours pour voir si l'erreur réapparaît.
  5. 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 :

  1. Ouvrez le Gestionnaire de périphériques (devmgmt.msc).
  2. Vérifiez chaque catégorie pour les périphériques avec un signe d'avertissement.
  3. 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.
  4. 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 :

  1. Créez une clé USB bootable avec MemTest86.
  2. Démarrez dessus et laissez tourner au moins 4 passes complètes.
  3. 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 :

  1. Ouvrez le Panneau de configuration > Options d'alimentation.
  2. Cliquez sur « Choisir l'action des boutons d'alimentation » dans le menu de gauche.
  3. Cliquez sur « Modifier des paramètres actuellement non disponibles ».
  4. Décochez « Activer le démarrage rapide (recommandé) ».
  5. Cliquez sur Enregistrer les modifications.
Astuce : Vous pouvez aussi désactiver le démarrage rapide via l'invite de commandes administrateur : 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 :

  1. Ouvrez une invite de commandes en tant qu'administrateur.
  2. Tapez verifier et appuyez sur Entrée.
  3. Sélectionnez « Créer des paramètres standard ».
  4. Sélectionnez « Sélectionner automatiquement tous les pilotes installés sur cet ordinateur » ou choisissez des pilotes spécifiques suspects.
  5. 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.
Avertissement : Le Vérificateur de pilotes peut rendre votre système très instable. Assurez-vous de savoir comment démarrer en Mode sans échec pour le désactiver si nécessaire : 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 :

  1. Appuyez sur Win + R, tapez msconfig.
  2. Onglet Services : cochez « Masquer tous les services Microsoft » puis « Désactiver tout ».
  3. Onglet Démarrage : ouvrez le Gestionnaire des tâches et désactivez tous les programmes au démarrage.
  4. Redémarrez et testez. Si l'erreur disparaît, réactivez les services un par un.

Prévention

Résumé : L'erreur BAD_POOL_HEADER est causée par une corruption du pool mémoire, généralement due à un pilote défectueux ou un antivirus problématique. Désactivez l'antivirus tiers, mettez à jour vos pilotes et testez votre RAM pour résoudre le problème.