Blue Screen of Death (BSOD) Guide
A BSOD means Windows stopped on purpose to protect the system. The stop code on the screen is your starting point, not proof that one part is bad.
This page groups common codes by what IBRHUB usually checks first. For the authoritative definition of each code, use Microsoft's Bug check code reference and Stop code troubleshooting.
Personal experience
This guide comes from hands-on work on client PCs. One code can point to drivers, BIOS, RAM, storage, heat, or power. Use the tables to narrow the search, not as a final diagnosis. Most of these lessons were learned the hard way.
Before you use the tables
- Write down the full stop code (for example
0x0000000A) and the four parameters on the blue screen or in Event Viewer. - Open the matching Microsoft bug-check page for the official meaning.
- If the same code appears in more than one section here, read the overlap list below before you stop at the first match.
Codes that show up in more than one place
| Stop code | Name | Why it is listed more than once |
|---|---|---|
| 0x0000007A | KERNEL_DATA_INPAGE_ERROR | Often storage or cabling, but bad RAM can look the same. |
| 0x0000009C | MACHINE_CHECK_EXCEPTION | Serious hardware fault; newer Windows often reports it as WHEA instead. |
| 0x00000124 | WHEA_UNCORRECTABLE_ERROR | Common on modern PCs for CPU, RAM, PCIe, heat, or unstable overclocks. |
| 0x0000007F | UNEXPECTED_KERNEL_MODE_TRAP | Can be RAM, heat, drivers, or overclocking. |
| 0x0000008E | KERNEL_MODE_EXCEPTION_NOT_HANDLED | Often a driver, but RAM still belongs on the checklist. |
| 0x00000019 | BAD_POOL_HEADER | Driver, storage filter, or unstable memory can all fit. |
Memory & RAM
These codes often mean Windows lost trust in memory or pool data. Still check drivers and storage, not only RAM.
| Error Code | Error Name | Usually check |
|---|---|---|
| 0x0000001A | MEMORY_MANAGEMENT | RAM, unstable memory tuning, driver pool misuse |
| 0x0000004E | PFN_LIST_CORRUPT | RAM, drivers, sudden power loss |
| 0x00000050 | PAGE_FAULT_IN_NONPAGED_AREA | RAM, bad driver pointer, antivirus or filter drivers |
| 0x000000C1 | SPECIAL_POOL_DETECTED_MEMORY_CORRUPTION | RAM test, recent driver changes |
| 0x000000C2 | BAD_POOL_CALLER | Driver bug or memory corruption |
| 0x000000FC | ATTEMPTED_EXECUTE_OF_NOEXECUTE_MEMORY | Driver bug, malware, corrupted executable memory |
CPU, thermals & platform hardware
These often show up under load, after tuning, or when cooling is not keeping up. A driver can still be involved.
| Error Code | Error Name | Usually check |
|---|---|---|
| 0x0000007F | UNEXPECTED_KERNEL_MODE_TRAP | RAM, CPU overclock, overheating, driver stack issues |
| 0x0000009C | MACHINE_CHECK_EXCEPTION | CPU, motherboard, voltage instability; see WHEA on newer Windows |
| 0x00000101 | CLOCK_WATCHDOG_TIMEOUT | Hung CPU core, unstable overclock, firmware or power limits |
| 0x00000109 | CRITICAL_STRUCTURE_CORRUPTION | Memory instability, drivers, storage corruption |
| 0x00000124 | WHEA_UNCORRECTABLE_ERROR | CPU, RAM, PCIe device, thermals, PSU, aggressive overclocks |
| 0x00000018 | REFERENCE_BY_POINTER | Drivers, storage filters, memory corruption |
Drivers & kernel code
Microsoft usually ties these to kernel drivers or kernel code. If the failure is a bad pointer, RAM testing still matters.
| Error Code | Error Name | Usually check |
|---|---|---|
| 0x0000000A | IRQL_NOT_LESS_OR_EQUAL | Driver, bad pointer, incompatible software, then RAM |
| 0x0000003B | SYSTEM_SERVICE_EXCEPTION | Driver, bad pointer, graphics stack |
| 0x0000001E | KMODE_EXCEPTION_NOT_HANDLED | Driver, security software, unstable memory |
| 0x0000007B | INACCESSIBLE_BOOT_DEVICE | Storage driver, boot mode change, cable or controller |
| 0x0000007E | SYSTEM_THREAD_EXCEPTION_NOT_HANDLED | Driver conflict, filter driver, failing RAM |
| 0x0000008E | KERNEL_MODE_EXCEPTION_NOT_HANDLED | Driver rollback or update, then RAM and disk checks |
| 0x0000009F | DRIVER_POWER_STATE_FAILURE | GPU, chipset, USB, or Bluetooth power-managed drivers |
| 0x000000C5 | DRIVER_CORRUPTED_EXPOOL | Corrupted driver pool, buggy driver, malware |
| 0x000000D1 | DRIVER_IRQL_NOT_LESS_OR_EQUAL | Driver named on screen, storage or network filter, antivirus |
| 0x000000CE | DRIVER_UNLOADED_WITHOUT_CANCELING_PENDING_OPERATIONS | Driver unload bug after update or uninstall |
| 0x00000093 | INVALID_KERNEL_HANDLE | Kernel code tried to close a protected or invalid handle; driver or Verifier |
| 0x00000133 | DPC_WATCHDOG_VIOLATION | Driver stuck too long; storage, network, audio, GPU |
| 0x0000001D | NO_SPIN_LOCK_AVAILABLE | Driver or kernel corruption; malware second |
| 0x0000003D | INTERRUPT_EXCEPTION_NOT_HANDLED | Driver ISR problem, IRQ conflict, failing hardware |
| 0x000000C4 | DRIVER_VERIFIER_DETECTED_VIOLATION | Driver Verifier caught a driver bug |
| 0x000000BE | ATTEMPTED_WRITE_TO_READONLY_MEMORY | Driver writing to protected memory |
| 0x0000010D | WDF_VIOLATION | KMDF driver bug; often USB, storage, or a custom kernel driver |
Storage & file systems
Check drives, cables, controllers, and boot settings before blaming CPU or GPU.
| Error Code | Error Name | Usually check |
|---|---|---|
| 0x00000023 | FAT_FILE_SYSTEM | FAT corruption, failing drive, unsafe removal |
| 0x00000024 | NTFS_FILE_SYSTEM | NTFS corruption, bad sectors, sudden power loss |
| 0x0000007A | KERNEL_DATA_INPAGE_ERROR | SSD or HDD, SATA or NVMe cable, controller, then RAM |
| 0x00000077 | KERNEL_STACK_INPAGE_ERROR | Disk, cable, controller, or page-file path |
| 0x000000ED | UNMOUNTABLE_BOOT_VOLUME | Boot volume corruption, wrong boot mode, loose connection |
| 0x000000F2 | HARDWARE_INTERRUPT_STORM | Interrupt storm; two devices sharing an IRQ incorrectly, or a driver not releasing its interrupt |
| 0x00000055 | FILE_SYSTEM | File-system driver fault or on-disk corruption |
GPU & display
Start with GPU drivers, thermals, and power before swapping unrelated parts.
| Error Code | Error Name | Usually check |
|---|---|---|
| 0x000000EA | THREAD_STUCK_IN_DEVICE_DRIVER | GPU driver hang, or storage or RAID driver on screen |
| 0x00000116 | VIDEO_TDR_ERROR | GPU driver timeout, unstable overclock, overheating |
| 0x00000117 | VIDEO_TDR_TIMEOUT_DETECTED | GPU driver stopped responding |
| 0x00000119 | VIDEO_SCHEDULER_INTERNAL_ERROR | GPU scheduler failure; driver or VRAM instability |
| 0x0000010E | VIDEO_MEMORY_MANAGEMENT_INTERNAL | VRAM or DirectX kernel fault; GPU driver update or hardware issue |
Power, firmware & critical Windows failures
These often sit behind random reboots, failed boots, or crashes under load. 0x9E is uncommon on normal desktops and is usually tied to servers or clusters.
| Error Code | Error Name | Usually check |
|---|---|---|
| 0x0000009E | USER_MODE_HEALTH_MONITOR | Stuck critical service; common on servers, not a desktop PSU symptom |
| 0x00000080 | NMI_HARDWARE_FAILURE | Serious hardware fault |
| 0x00000081 | SPIN_LOCK_INIT_FAILURE | Early boot failure; firmware, driver, or corruption |
| 0x000000EF | CRITICAL_PROCESS_DIED | Critical Windows process died; corruption, drivers, storage, failed update |
| 0x000000F4 | CRITICAL_OBJECT_TERMINATION | Critical system process or thread exited unexpectedly |
What you can try
The steps below follow official guidance from Microsoft, ASUS, and MSI, with community patterns drawn from threads on r/techsupport, r/buildapc, r/overclocking, Tom's Hardware, the AMD community, and Microsoft Q&A. The community steps reflect recurring patterns, not guaranteed fixes. Try one change at a time and retest before the next.
First steps before anything else
- Note the exact stop code and time. Copy the code from the blue screen or Event Viewer before the PC reboots. The four parameters below the code sometimes narrow the cause down significantly.
- Open Event Viewer right after a crash. Go to
Windows Logs > System, filter by Critical and Error, and look for Event ID 41 (Kernel-Power), 1001 (BugCheck), or 6008. The Details tab shows the raw stop code and sometimes the name of the.sysfile responsible. - Use Reliability Monitor for a timeline. Search for it in the Start menu. Red circles mark crashes. Select one to see what else happened in that window: driver installs, updates, or software changes often appear nearby.
- Enable minidump collection if it is off. Go to
System Properties > Advanced > Startup and Recovery > Settings. Set the dump type to Small memory dump (256 KB). Dumps go toC:\Windows\Minidumpand help identify the guilty driver or module on repeat crashes. - Undo the last change first. Whether it was a driver, a Windows update, a BIOS setting, or a new hardware part, reversing the last change before the crashes began is often the fastest fix.
- Use Safe Mode if Windows will not stay up. In Safe Mode only basic drivers load. From there you can roll back drivers and uninstall bad updates. See Start your PC in safe mode.
- Update Windows, BIOS, and firmware. Microsoft, ASUS, and MSI all recommend current updates before deep hardware testing. A BIOS update is especially important when a newer CPU is running on an older board.
- Keep free space on the system drive. Microsoft recommends about 10–15% free so paging and servicing can work.
- Scan for malware when corruption is possible. Use Microsoft Safety Scanner or equivalent.
BIOS, firmware, and tuning
Official guidance from ASUS and MSI treats wrong firmware settings and mismatched storage modes as common crash triggers, especially after upgrades or fresh Windows installs. Community threads add several tuning-specific patterns.
Official steps
- Load BIOS defaults if you recently changed overclocking, voltages, or memory settings.
- Keep the storage mode the same as when Windows was installed. Changing AHCI, RAID, or Intel VMD after install can produce
INACCESSIBLE_BOOT_DEVICE. - Reseat or remove recently added RAM, GPU, and storage. Test without extra USB gear, sound cards, or enclosures.
- Check PSU headroom after a GPU upgrade, and use the board vendor's QVL list when a new part triggered the crashes.
What people often report
- WHEA (
0x124) and CLOCK_WATCHDOG (0x101) after a manual overclock or voltage tweak: the most common pattern in community threads is returning to BIOS defaults and retesting. If stock settings crash too, update the BIOS and chipset drivers. Many boards shipped before a CPU release date have incorrect default voltages for that chip. - CPU undervolt that was stable for months and then suddenly crashes: a common find is the offset was too aggressive. Users on Intel 11th/12th gen and AMD Ryzen often reduce the negative offset in small steps (for example from −50 mV to −25 mV) until stable. Reverting fully to auto voltage confirms whether undervolt is the cause.
- AMD PBO / Curve Optimizer crashes (
0x124,0x101): disabling PBO entirely and retesting is the fastest isolation step. Some users find stock settings also crash on a board with outdated BIOS, and a firmware update resolves it without touching PBO settings. - AMD Ryzen downclock for stability: a smaller group of users have set a manual, slightly lower clock through Ryzen Master or BIOS when
0x101appears under mixed workloads. This is a workaround when root cause is unclear, not a substitute for finding the real fault. - Fast Startup causing crashes on resume (
0x9F,0x133): disabling Fast Startup underPower Options > Choose what the power buttons dois a quick test when crashes happen after wake from sleep or a soft shutdown. - Infinity Fabric / FCLK instability on AMD (random
MEMORY_MANAGEMENT,WHEA): some users stabilize the system by setting FCLK manually to match memory speed rather than leaving it on auto. Stepping the ratio down one notch from 1:1 to a lower preset is another community approach when XMP is at the limit of the platform.
Drivers, Windows updates, and apps
Microsoft's own crash analysis puts third-party driver code at roughly 70% of stop errors, making this section the highest-yield first target.
Official steps
- Roll back a driver or Windows update that arrived just before the first crash.
- Do a clean GPU driver reinstall for display and TDR codes. MSI has guides for NVIDIA, AMD, and Intel.
- Use clean boot to see whether antivirus, RGB, backup, or filter software is involved.
- Repair Windows files after
CRITICAL_PROCESS_DIEDor repeated corruption stops:SFC /scannowandDISM /Online /Cleanup-Image /RestoreHealth. - Turn off Driver Verifier when testing is done.
DRIVER_VERIFIER_DETECTED_VIOLATIONis often the result of Verifier itself, not a real driver fault.
What people often report
VIDEO_TDR_FAILURE(0x116/0x117) withnvlddmkm.sys: the most repeated community fix is DDU (Display Driver Uninstaller) in Safe Mode, then a fresh driver from the NVIDIA website. Some users find the Game Ready driver introduces the crash and switch to the Studio branch, which tends to be more conservative with power states.DPC_WATCHDOG_VIOLATION(0x133) after a driver or update: besides DDU, community threads often point to disabling Fast Startup and, on NVIDIA systems, setting Power Management Mode in NVIDIA Control Panel to Prefer maximum performance rather than Adaptive or Optimal Power.- Antivirus or security software (
BEDaisy.sys, third-party firewall drivers): temporarily disabling or uninstalling the security product resolvesDPC_WATCHDOGandIRQL_NOT_LESS_OR_EQUALfor some users. If the stop code names a.sysfile on the blue screen, searching that filename usually points to the product. DRIVER_POWER_STATE_FAILURE(0x9F) on sleep/wake: the guilty driver is often GPU, USB hub, Bluetooth, or NIC. Device Manager's Power Management tab for each USB Root Hub has a "Allow the computer to turn off this device to save power" option; disabling it is a common workaround.- BSOD only with a specific app or game: some crashes only appear because an app's anti-cheat, overlay, or kernel-mode component conflicts. A clean boot confirms it; removing the app confirms the fix.
Memory, CPU tuning, and heat
Official steps
- Test RAM with Windows Memory Diagnostic or MemTest86.
- Disable XMP, DOCP, or EXPO and retest at JEDEC defaults.
- Watch CPU and GPU temperatures under load. Keep laptops on wall power and use a high-performance power plan while testing.
- Reseat RAM and confirm the kit is in the correct slots per the board manual.
- If RAM tests pass but WHEA or memory stops continue, keep CPU, motherboard, and PSU on the list.
What people often report
- Run MemTest86 overnight, not just the Windows tool. Windows Memory Diagnostic misses many real errors. MemTest86 on a USB drive before Windows loads is the community standard. Any error count above zero means the stick is suspect; test one stick at a time in the recommended single-slot position.
- XMP/DOCP enabled → BSODs, disabled → stable. This is one of the most common patterns on
r/buildapc. The XMP profile is correct for the kit but the board's auto-tuning applies wrong secondary timings. Some users fix it by setting the primary timings manually to match the XMP spec while leaving the rest on auto. - Single-stick isolation found a bad DIMM even after MemTest86 passed. Some failing sticks only fail under dual-channel stress, not when tested individually. If two sticks pass solo but crash together, try swapping which slot each occupies.
- Replacing one stick from a matched kit caused new crashes. The two sticks may share different die revisions. Buying a full replacement kit is usually more reliable than replacing one stick.
MEMORY_MANAGEMENTstill crashing after all RAM tests pass: community threads sometimes end at a CPU with a degraded memory controller (IMC), or a PSU that delivers slightly low voltage under memory stress. Swapping to known-good RAM from a different vendor, or testing on a different motherboard, narrows this down.
Storage and boot problems
Official steps
- Reseat SATA, NVMe, and M.2 drives and confirm the drive shows up in BIOS.
- Run
chkdsk /f /rand the drive vendor's diagnostic tool for in-page and file-system codes. - Do not change RAID, AHCI, or VMD on a working install without preparing to repair boot drivers.
- Back up immediately when the drive reports hardware failure or the same file-system stop keeps returning.
What people often report
KERNEL_DATA_INPAGE_ERROR(0x7A) resolved by reseating or replacing the NVMe drive. The M.2 slot or the drive edge connector can develop an intermittent connection after a board flex or thermal expansion cycle. Removing, cleaning the contacts, and reseating is a fast first check.- CrystalDiskInfo or the vendor tool (Samsung Magician, WD Dashboard, Seagate SeaTools) found no errors, yet crashes continued. Community experience is that some drives fail under sequential load but pass short diagnostics. Running the extended vendor test, or testing with a live Linux USB and
badblocks, finds what quick tests miss. - SATA cable swap fixed the crash. Older SATA cables can develop a hairline break inside the sheath that only opens under movement or heat. Swapping to a new cable is a cheap test worth trying before concluding the drive is bad.
INACCESSIBLE_BOOT_DEVICEafter a BIOS update changed the VMD/RAID setting. ASUS and MSI both document this. The fix is restoring the original storage mode in BIOS. If the mode was genuinely changed by the update, you may need to enter recovery mode to repair boot drivers or reinstall.
GPU and display problems
Official steps
- Remove GPU overclocks and driver overlays before replacing the card.
- Try the previous GPU driver if the newest version crashes right away.
- Reseat the GPU and recheck PCIe power cables.
- Try a different display cable or port when the crash only happens during display changes.
What people often report
VIDEO_TDR_FAILURE(0x116) on NVIDIA, fixed by switching from Game Ready to Studio driver. Studio releases are built for stability over performance and are less aggressive with power transitions. This is worth trying when a specific Game Ready version introduced the crash.- NVIDIA Control Panel → Power Management Mode → "Prefer maximum performance" stopped random TDRs. The default Adaptive setting can cause voltage drops on some GPU/board combinations under variable load. Locking to maximum performance eliminates the transition.
- Reducing GPU core clock and VRAM by 100–150 MHz in MSI Afterburner (with power limit at stock) resolved random TDR crashes on some RTX 40-series cards. This points to marginal silicon that passes GPU burn tests but fails under Windows's dynamic power management.
- Laptop TDR crash only when unplugging or plugging in the charger: the iGPU/dGPU switch triggered by power state change can crash the display driver. Disabling Hybrid Graphics or Switchable Graphics in BIOS and running on dedicated GPU only is a known fix.
- Registry TDR timeout extension as a diagnostic step: adding
TdrDelay = 10(DWORD) andTdrDdiDelay = 25toHKLM\System\CurrentControlSet\Control\GraphicsDriversmakes Windows wait longer before declaring the GPU hung. If crashes become less frequent or disappear, the GPU is recovering slowly rather than actually failing: a driver or thermal issue, not dead hardware.
Often fixable without new hardware
- Bad GPU, chipset, network, storage, or audio driver after an update
- A Windows quality update or app install that landed just before the crashes
- XMP, DOCP, EXPO, PBO, CPU undervolt, or GPU overclock settings that are too aggressive for the silicon or cooling
- Wrong BIOS storage mode, outdated firmware for the CPU generation, or a bad EC state on laptops
- Loose RAM, GPU, NVMe, or a weak GPU power cable
- Fast Startup interfering with driver state on resume
- Low disk space, damaged system files, or malware
- Overheating from dust buildup, dried thermal paste, or blocked vents
Harder to fix quickly
- The same WHEA or machine-check stop after stock settings, latest BIOS, and a clean Windows install
- Storage tools report hardware failure or the drive disappears in BIOS
- Crashes continue with minimal hardware installed and only basic drivers loaded
CRITICAL_PROCESS_DIEDorCRITICAL_OBJECT_TERMINATIONkeeps returning after in-place repair, restore, and clean driver testing- MemTest86 passes all night but crashes still happen under Windows load. Consider IMC, PSU, or motherboard
- The PC still dies on AC power with factory defaults and the latest BIOS
If you reach that point, keep the stop code, Event Viewer time, and any minidump file. Warranty, vendor service, or a focused part-swap plan is more useful at that stage than another round of random driver installs.
Need help with recurring stop codes? IBRHUB can review dumps, event logs, and recent changes to narrow the fault faster than guesswork.