CRITICAL_STRUCTURE_CORRUPTION (stop code 0x109) is Windows finding its most protected kernel structures damaged — the code and data it guards with PatchGuard precisely because nothing should ever touch them. Something did. CRITICAL_STRUCTURE_CORRUPTION (stop code 0x109) is Windows finding its most protected kernel structures damaged — the code and data it guards with PatchGuard precisely because nothing should ever touch them. Something did.
That something is usually a driver with a bug, occasionally bad RAM, rarely malware. What you do about it is a driver hunt plus a hardware sanity check, in that order. That something is usually a driver with a bug, occasionally bad RAM, rarely malware. What you do about it is a driver hunt plus a hardware sanity check, in that order — about an hour of focused work.
Why this happens
- A buggy kernel-level driver. Antivirus, anti-cheat, virtualization, and VPN drivers operate where their bugs trip this check.
- Bad RAM. Memory corruption damages kernel structures directly, indistinguishable from a driver bug in the dump.
- Unstable overclock. Corrupted execution corrupts the very structures PatchGuard verifies.
- Rootkit or bootkit malware. Malicious kernel patching is exactly what PatchGuard was built to catch.
- Corrupted system files. Damaged kernel binaries fail their own integrity checks.
- Driver conflict after a feature update. New kernel layouts break old drivers’ assumptions about structure locations.
How to fix it
Work through these in order, from the quickest and most likely fixes to the deeper ones. Stop as soon as the crashes stop.
Fix 1: Scan for rootkits and malware first
This is the one stop code where malware is a first-class suspect — rule it out early. This is the one stop code where malware is a first-class suspect — rule it out early with the offline scan, which catches rootkits that hide from in-Windows scanners.
- Run a Full scan in Windows Security > Virus & threat protection > Scan options.
- Then run the Microsoft Defender Offline scan, which boots into a clean environment where rootkits cannot hide.
- If anything is found and removed, restart and monitor — a cleaned rootkit often ends the crashes immediately.
Fix 2: Reset overclocks to stock
Two minutes that eliminates an entire cause category. Two minutes that eliminates an entire cause category — PatchGuard cannot distinguish overclock corruption from driver corruption, so stock speeds remove the ambiguity.
- Load optimized defaults in BIOS/UEFI.
- Remove Intel XTU, Ryzen Master, Afterburner, or ThrottleStop settings — uninstall the tools temporarily.
- Disable XMP/EXPO. Test for a few days at full stock before concluding anything.
Fix 3: Identify the driver with Driver Verifier
Verifier catches the corrupting driver at the moment of corruption. Verifier catches the corrupting driver at the moment of corruption — anti-cheat and virtualization drivers deserve special suspicion for this stop code.
- Run
verifier, create custom settings with Special pool enabled. - Select all non-Microsoft drivers and restart.
- Use the PC until it crashes, then read the dump in WinDbg Preview (
!analyze -v) for the IMAGE_NAME. - Update, roll back, or remove that driver — anti-cheat and virtualization drivers deserve special suspicion. Run
verifier /resetwhen done.
Fix 4: Update or remove the suspect
Act on the Verifier evidence. Act on the Verifier evidence: update the driver, try the previous version if already current, or remove the product if no fixed version exists.
- Update the driver from its vendor; if already current, try the previous version.
- For anti-cheat drivers (game-specific), update the game — the driver ships with it.
- For virtualization products, update to the latest release; old versions clash with new Windows kernels.
- If no update exists and crashes persist, uninstall the product and test without it.
Fix 5: Test the RAM
When Verifier implicates different drivers across crashes, the corruption source is hardware. When Verifier implicates different drivers across crashes, the corruption source is hardware — the RAM test is the definitive check.
- Run
mdsched.exe> Restart now and check for problems. - Follow with overnight MemTest86 if the quick test is clean but crashes continue.
- Replace failing sticks. Our memory management walkthrough details RAM isolation.
Fix 6: Repair Windows and check the drive
The final software layer — for further reading on these repair commands, see Microsoft’s Windows support hub . Corrupted kernel binaries fail their own integrity checks — SFC and DISM repair them, and chkdsk verifies the disk underneath.
- Elevated prompt:
sfc /scannowthenDISM /Online /Cleanup-Image /RestoreHealth. chkdsk C: /f /rwith a reboot for the full scan.- If corruption keeps reappearing after repair, suspect the drive —
wmic diskdrive get statusand the maker’s SMART tool confirm. For related kernel-structure crashes, see our kernel security check guide .
Fix 7: Disable virtualization-based features temporarily as a test
Hyper-V, Memory integrity, and virtualization-based security change how kernel structures are guarded — a buggy driver that trips PatchGuard may behave under different settings, which is diagnostic.
- Go to Windows Security > Device security > Core isolation and toggle Memory integrity off temporarily.
- Test for a few days. If crashes stop, a driver is incompatible with HVCI — identify it via the incompatible-driver message or Verifier, and update it.
- Re-enable Memory integrity afterward — leaving it off permanently trades real security for a workaround.
- Similarly, if you run Hyper-V or WSL2, test with virtualization features disabled to isolate hypervisor-adjacent drivers.
Closing
CRITICAL_STRUCTURE_CORRUPTION sounds like the system is falling apart, but it is usually one driver writing where it should not — find it with Verifier, fix it, and move on. Scan for malware once, reset any overclocks, and let the evidence name the driver instead of guessing. PatchGuard crashes feel ominous because the protected structures sound vital — they are, but the cause is usually mundane. Hunt the driver, check the RAM, and this one resolves like any other.
