BAD_POOL_HEADER, the blue screen, explained and fixed

This stop code (0x00000019) means the header on a block of pool memory, the kernel’s shared workspace memory, was found corrupted. Something wrote past the end of its own allocation and stomped on the bookkeeping data next door. That something is usually a buggy driver; faulty RAM is the other regular cause, because memory that cannot hold data faithfully corrupts whatever lives in it.

The fix, in order

  1. Think about what changed. This code typically starts right after a driver update, a new antivirus, or new hardware. That change is your prime suspect, and removing it is often the whole fix.
  2. Boot into Safe Mode. Hold Shift while choosing Restart → Troubleshoot → Advanced options → Startup Settings → Safe Mode. In Safe Mode, uninstall the suspect driver or program, or roll the driver back in Device Manager.
  3. Update the remaining drivers. Storage, network, and graphics drivers from the manufacturer. Pool corruption is a driver writing error, and newer versions fix exactly these bugs.
  4. Remove third-party antivirus temporarily. Security software allocates pool memory constantly and is a documented source of this crash when it goes wrong. Windows Security covers the PC while you test.
  5. Test the RAM thoroughly. Run Windows Memory Diagnostic; if it passes and crashes continue, run several passes overnight and test one stick at a time. RAM that flips bits corrupts pool headers at random, which is why the crashes seem to come from nowhere.
  6. Repair system files. Admin Command Prompt: DISM /Online /Cleanup-Image /RestoreHealth, then sfc /scannow.

If it still happens

If drivers are current, security software is ruled out, and memory tests pass, check the drive’s health with chkdsk /f and use System Restore to step back before the problem. Driver Verifier can name the corrupting driver if you need certainty, it is covered on the DRIVER_VERIFIER_DETECTED_VIOLATION page, but expect blue screens while it hunts.

Common questions

What is a “pool” in BAD_POOL_HEADER? The pool is the kernel’s shared memory supply. Drivers request blocks from it for their work, and each block carries a small header describing it. When a driver writes beyond its block, it damages the next header, and Windows raises this stop code when it notices the damage.

Can bad RAM really cause BAD_POOL_HEADER? Yes, frequently. The corruption pattern looks random, different drivers blamed on different days, because the RAM is damaging whatever data happens to pass through it. That randomness is itself the clue: consistent blame on one driver means the driver; rotating blame usually means memory.

Related errors

BAD_POOL_CALLER · MEMORY_MANAGEMENT · DRIVER_VERIFIER_DETECTED_VIOLATION · CRITICAL_STRUCTURE_CORRUPTION