Error Medic

Windows Stop Code (Blue Screen) Fix Guide: CRITICAL_PROCESS_DIED, MEMORY_MANAGEMENT, 0xC000021A & More

Fix Windows stop code blue screen errors including 0xC000021A, MEMORY_MANAGEMENT, CRITICAL_PROCESS_DIED & more. Step-by-step repair commands included.

Last updated:
Last verified:
2,180 words
Key Takeaways
  • Windows stop codes (BSODs) are caused by driver corruption, RAM faults, disk errors, system file corruption, or failed Windows Updates — each code points to a specific subsystem failure.
  • The most common stop codes — 0xC000021A, CRITICAL_PROCESS_DIED, MEMORY_MANAGEMENT, INACCESSIBLE_BOOT_DEVICE, and KERNEL_SECURITY_CHECK_FAILURE — each have distinct root causes and targeted fixes.
  • Quick fix path: Boot into Safe Mode or WinRE, run 'sfc /scannow' and 'DISM /Online /Cleanup-Image /RestoreHealth', check RAM with Windows Memory Diagnostic, and roll back recent drivers or updates if the BSOD started after a change.
Fix Approaches Compared
MethodWhen to UseTimeRisk
SFC + DISM scanSystem file corruption, stop codes after update15–30 minLow
Windows Memory Diagnostic / MemTest86MEMORY_MANAGEMENT, PFN_LIST_CORRUPT, BAD_POOL_CALLER30 min – 8 hrsLow
Driver rollback / uninstallTDR_FAILURE, nvlddmkm.sys, netio.sys, stop code after driver install5–15 minLow
Startup Repair (WinRE)0xC000021A, INACCESSIBLE_BOOT_DEVICE, UNMOUNTABLE_BOOT_VOLUME10–20 minLow
CHKDSK /f /rNTFS_FILE_SYSTEM, ntfs.sys, disk I/O stop codes30–120 minLow–Medium
System RestoreStop code appeared after specific software/update10–20 minLow–Medium
Uninstall recent Windows UpdateStop code after update, PROCESS1_INITIALIZATION_FAILED5–10 minLow
Bootrec / BCD rebuild0x0000007B, INACCESSIBLE_BOOT_DEVICE on boot10–20 minMedium
Clean reinstall WindowsAll else fails, recurring stop codes, severe corruption1–2 hrsHigh (data loss risk)

Understanding Windows Stop Codes

A Windows stop code — colloquially called a Blue Screen of Death (BSOD) — is Windows' last-resort mechanism for preventing hardware or OS damage when a fatal, unrecoverable error is detected. The screen displays a QR code, a frowning emoji, a plain-English error name (e.g., CRITICAL_PROCESS_DIED), and a hex stop code (e.g., 0x000000EF). These codes map directly to a specific system component that failed.

Common Stop Codes and Their Meanings

0xC000021A / c000021a / 000021a / 00021a / 021a / 21a — All variant spellings of the same error: a fatal system error in the Windows subsystem (winlogon.exe or csrss.exe crashed). Often triggered by a bad Windows Update, corrupt system files, or a third-party security product interfering with system processes.

CRITICAL_PROCESS_DIED (0x000000EF) — A critical Windows process (e.g., System, smss.exe) terminated unexpectedly. Caused by driver bugs, RAM errors, or file system corruption.

MEMORY_MANAGEMENT (0x0000001A) — A severe error in Windows' memory manager. Usually faulty RAM, incorrect RAM timings in BIOS, or a driver writing to memory it doesn't own.

KERNEL_SECURITY_CHECK_FAILURE (0x00000139) — A data structure integrity check failed in kernel mode. Common after driver updates, RAM failures, or malware.

INACCESSIBLE_BOOT_DEVICE (0x0000007B) — Windows cannot access the volume containing the OS during boot. Triggered by SATA mode changes (AHCI vs IDE), corrupted boot sector, missing storage drivers, or BitLocker issues.

DRIVER_POWER_STATE_FAILURE (0x0000009F) — A driver fails to handle power transitions (sleep/wake). Almost always a third-party driver bug.

DPC_WATCHDOG_VIOLATION (0x00000133) — A deferred procedure call ran too long. Usually caused by an incompatible SSD firmware, outdated storage driver, or GPU driver.

BAD_POOL_CALLER (0x000000C2) — A process made an invalid pool memory request. Typically a faulty or incompatible driver.

PFN_LIST_CORRUPT (0x0000004E) — The page frame number list is corrupted. Almost always bad RAM or a failing hard drive.

TDR_FAILURE / nvlddmkm.sys — GPU driver timed out and failed to recover. Update or clean-install the NVIDIA/AMD driver.

NTFS_FILE_SYSTEM / ntfs.sys — NTFS file system driver encountered an unrecoverable error. Disk corruption or failing drive.

NMI_HARDWARE_FAILURE — Non-maskable interrupt from hardware. Indicates serious hardware fault (bad RAM, PSU, or motherboard).

CLOCK_WATCHDOG_TIMEOUT — A CPU core stopped responding. Overclocking instability, cooling failure, or CPU/motherboard fault.

WDF_VIOLATION / CACHE_MANAGER / REFERENCE_BY_POINTER / WORKER_INVALID — Driver framework or kernel worker thread errors. Usually a specific buggy driver.


Step 1: Capture the Stop Code

Before fixing, identify the exact stop code:

  1. If the PC reboots instantly, open System Properties > Advanced > Startup and Recovery > Settings and uncheck "Automatically restart" so you can read the screen.
  2. After a BSOD, open Event Viewer > Windows Logs > System and look for critical errors around the crash time.
  3. Use WinDbg or WhoCrashed to analyze dump files in C:\Windows\Minidump\.

Step 2: Boot into Safe Mode or WinRE

If Windows won't start, access the Windows Recovery Environment (WinRE):

  • Force-interrupt boot three times (hold power button during the Windows logo) to trigger Automatic Repair, then choose Advanced Options > Troubleshoot > Advanced Options.
  • From there you can access Startup Repair, Command Prompt, System Restore, or Uninstall Updates.

For Safe Mode: Advanced Options > Startup Settings > Restart > press 4 or F4.


Step 3: Run SFC and DISM

System file corruption causes dozens of different stop codes. Run these commands from an elevated Command Prompt or WinRE Command Prompt:

DISM /Online /Cleanup-Image /RestoreHealth
sfc /scannow

Always run DISM first so SFC has good files to draw from. Reboot after completion.


Step 4: Check and Repair the Disk

For NTFS_FILE_SYSTEM, INACCESSIBLE_BOOT_DEVICE, UNMOUNTABLE_BOOT_VOLUME:

chkdsk C: /f /r /x

If you cannot run this from Windows, use WinRE Command Prompt and replace C: with the actual Windows drive letter (may appear as D: in WinRE).


Step 5: Fix the Boot Record (0xC000021A / 0x0000007B)

From WinRE Command Prompt:

bootrec /fixmbr
bootrec /fixboot
bootrec /scanos
bootrec /rebuildbcd

If bootrec /fixboot returns "Access is denied", run:

bcdboot C:\Windows /s C: /f ALL

Step 6: Test RAM

For MEMORY_MANAGEMENT, BAD_POOL_CALLER, PFN_LIST_CORRUPT, NMI_HARDWARE_FAILURE:

  • Windows Memory Diagnostic: Search "mdsched.exe" > Restart now and check for problems.
  • For thorough testing, use MemTest86 (bootable USB, run overnight for 2+ passes).
  • If errors are found, reseat RAM sticks, test one at a time, and replace faulty modules.
  • Also check RAM XMP/EXPO profile settings in BIOS — overly aggressive timings can cause instability.

Step 7: Roll Back or Uninstall Problematic Drivers

For TDR_FAILURE, nvlddmkm.sys, netio.sys, DRIVER_POWER_STATE_FAILURE:

  1. Boot into Safe Mode.
  2. Open Device Manager, right-click the suspected device (GPU, NIC, etc.).
  3. Choose Properties > Driver > Roll Back Driver, or uninstall and reinstall a clean driver version.
  4. For NVIDIA BSODs: use DDU (Display Driver Uninstaller) in Safe Mode before reinstalling.

Step 8: Uninstall Recent Windows Updates

For stop codes appearing only after Windows Update:

  • Settings > Windows Update > Update History > Uninstall Updates
  • Or from WinRE: Advanced Options > Uninstall Updates > Uninstall latest quality/feature update

Step 9: Use System Restore

If a restore point exists from before the BSOD started:

  • WinRE > Advanced Options > System Restore
  • Choose a restore point predating the issue.

Step 10: Nuclear Option — In-Place Upgrade or Clean Install

If all else fails, perform a Windows 11/10 in-place upgrade repair (keeps files and apps) by booting from Windows installation media and choosing "Upgrade" while running from within Windows. As a last resort, perform a clean install.


Special Cases

0xC000021A after a Windows Update: This is extremely common. Microsoft has released patches for several botched updates that caused this. First try uninstalling the latest update via WinRE. If that fails, run sfc /scannow and DISM from WinRE Command Prompt.

CLOCK_WATCHDOG_TIMEOUT: Disable any CPU/RAM overclocking. Load BIOS defaults. Check CPU temperatures with HWMonitor.

PROCESS1_INITIALIZATION_FAILED: Often accompanies 0xC000021A. The same SFC/DISM/bootrec sequence applies.

ATTEMPTED_EXECUTE_OF_NOEXECUTE_MEMORY: Usually a driver trying to execute code from a non-executable memory region. Update all drivers and run sfc /scannow.

FAULTY_HARDWARE_CORRUPTED_PAGE: Hardware-level memory issue. Test RAM and check disk health with wmic diskdrive get status or CrystalDiskInfo.

Frequently Asked Questions

bash
# ============================================================
# WINDOWS STOP CODE DIAGNOSTIC & REPAIR SCRIPT
# Run in an elevated Command Prompt or WinRE Command Prompt
# ============================================================

# --- STEP 1: Repair Windows image and system files ---
DISM /Online /Cleanup-Image /CheckHealth
DISM /Online /Cleanup-Image /ScanHealth
DISM /Online /Cleanup-Image /RestoreHealth
sfc /scannow

# --- STEP 2: Check disk for errors (schedule for next reboot if locked) ---
chkdsk C: /f /r /x
# If the drive is locked, type Y to schedule on next boot

# --- STEP 3: Check disk S.M.A.R.T. status ---
wmic diskdrive get model,status

# --- STEP 4: Rebuild Boot Configuration Data (for boot-loop stop codes) ---
# Run from WinRE Command Prompt:
bootrec /fixmbr
bootrec /fixboot
bootrec /scanos
bootrec /rebuildbcd

# If bootrec /fixboot gives "Access is Denied":
bcdboot C:\Windows /s C: /f ALL

# --- STEP 5: View recent BSODs via Event Viewer (PowerShell) ---
Get-EventLog -LogName System -EntryType Error -Newest 20 | Where-Object {$_.Source -like "*Bugcheck*" -or $_.Source -like "*Kernel*"} | Format-List TimeGenerated, Message

# --- STEP 6: List minidump files for WinDbg / WhoCrashed analysis ---
dir C:\Windows\Minidump\

# --- STEP 7: Disable automatic restart on BSOD (so you can read the code) ---
wmic recoveros set AutoReboot = False

# --- STEP 8: Scan for malware in Safe Mode (Windows Defender) ---
"C:\Program Files\Windows Defender\MpCmdRun.exe" -Scan -ScanType 2

# --- STEP 9: Check RAM via Windows Memory Diagnostic ---
mdsched.exe
# (Will prompt to restart and test memory)

# --- STEP 10: Roll back a specific Windows Update (replace KB number) ---
wusa /uninstall /kb:5034441 /quiet /norestart

# --- STEP 11: Enable verbose BSOD logging ---
reg add "HKLM\SYSTEM\CurrentControlSet\Control\CrashControl" /v CrashDumpEnabled /t REG_DWORD /d 2 /f
# 2 = kernel memory dump, 3 = complete dump, 1 = small memory dump

# --- STEP 12: Check driver verifier (advanced -- use with caution) ---
# Enable verifier to catch bad drivers (will cause BSOD if bad driver found):
verifier /standard /all
# Disable after testing:
verifier /reset

# --- STEP 13: Export system info for further diagnosis ---
msinfo32 /report C:\msinfo_report.txt
dxdiag /t C:\dxdiag_report.txt
E

Error Medic Editorial

The Error Medic Editorial team is composed of senior DevOps engineers, SRE practitioners, and Windows system administrators with a combined 40+ years of experience diagnosing OS-level failures, kernel panics, and blue screen errors across enterprise and consumer environments. Our guides are built from real incident post-mortems, Microsoft documentation, and hands-on lab testing. We publish actionable, command-first troubleshooting content for developers, IT professionals, and power users who need reliable fixes fast.

Sources

Related Articles in Other Windows Stop Code

Explore More windows Guides