Windows Stop Code (BSOD) Fix Guide: Critical_Process_Died, Memory_Management, 0xC000021A & More
Fix Windows stop codes including 0xC000021A, Memory_Management, Critical_Process_Died & more. Step-by-step repair commands for every major BSOD.
- Windows stop codes (BSODs) are triggered by hardware failures, corrupted system files, bad drivers, or memory errors — the hex code on screen identifies the exact fault category.
- Common culprits include faulty RAM (MEMORY_MANAGEMENT, PFN_LIST_CORRUPT), incompatible or outdated drivers (DPC_WATCHDOG_VIOLATION, TDR_FAILURE, nvlddmkm.sys), and corrupted OS files (CRITICAL_PROCESS_DIED, 0xC000021A, INACCESSIBLE_BOOT_DEVICE).
- Quick fix sequence: run 'sfc /scannow' and 'DISM /RestoreHealth' to repair system files, update or roll back recent drivers, run Windows Memory Diagnostic for RAM faults, and use Startup Repair from a bootable USB if Windows cannot boot.
| Method | When to Use | Time | Risk |
|---|---|---|---|
| SFC + DISM Scan | Corrupted system files (CRITICAL_PROCESS_DIED, 0xC000021A, NTFS_FILE_SYSTEM) | 15–30 min | Low |
| Driver Rollback / Update | After Windows Update or new hardware install (DPC_WATCHDOG, TDR_FAILURE, nvlddmkm.sys) | 10–20 min | Low |
| Windows Memory Diagnostic / MemTest86 | MEMORY_MANAGEMENT, PFN_LIST_CORRUPT, BAD_POOL_CALLER | 30 min – 8 hrs | Low |
| Startup Repair (Bootable USB) | PC won't boot — INACCESSIBLE_BOOT_DEVICE, UNMOUNTABLE_BOOT_VOLUME, 0xC000021A | 20–40 min | Low |
| CHKDSK /f /r | NTFS_FILE_SYSTEM, UNMOUNTABLE_BOOT_VOLUME, disk corruption | 30–90 min | Low-Medium |
| System Restore / Reset | Persistent BSODs after updates with no clear driver/hardware cause | 30–90 min | Medium |
| Reinstall Windows | All other fixes failed; hardware is confirmed healthy | 1–2 hrs | High (data loss) |
Understanding Windows Stop Codes
A Windows stop code — colloquially called the Blue Screen of Death (BSOD) — is a kernel-level error that forces Windows to halt to prevent data corruption or hardware damage. Each stop code is a unique identifier paired with a hexadecimal value (e.g., 0x0000007B, 0xC000021A) and a human-readable name (e.g., INACCESSIBLE_BOOT_DEVICE, CRITICAL_PROCESS_DIED). Windows 10 and 11 also display a QR code on the BSOD screen you can scan to look up the specific error.
Step 1: Record and Identify the Stop Code
Before fixing anything, capture the exact stop code. Modern Windows displays the symbolic name in large text (e.g., MEMORY_MANAGEMENT) and the hex code below it. If the screen flashes too fast, do the following:
- Open Start → Settings → System → About → Advanced system settings.
- Under Startup and Recovery, click Settings.
- Uncheck Automatically restart so the BSOD stays on screen long enough to read.
- After recording the code, check the minidump files at
C:\Windows\Minidump\using WinDbg or the free WhoCrashed tool.
Common stop codes and their meaning:
CRITICAL_PROCESS_DIED/CRITICAL_SERVICE_FAILED— A core Windows process or service terminated unexpectedly.0xC000021A/c000021a/oxc000021a— Windows Subsystem or SMSS.EXE crashed; often caused by mismatched system DLLs after a bad update or third-party software.MEMORY_MANAGEMENT/0x1A— RAM hardware fault or memory address conflict.PFN_LIST_CORRUPT— Page Frame Number list in RAM is damaged; usually bad RAM or a faulty driver.BAD_POOL_CALLER— A process made an illegal memory pool request; typically a buggy driver.INACCESSIBLE_BOOT_DEVICE/0x0000007B— Windows cannot read the boot partition; caused by missing storage drivers, corrupt boot sector, or BIOS SATA mode change.UNMOUNTABLE_BOOT_VOLUME— The boot volume's file system is damaged.DPC_WATCHDOG_VIOLATION— A deferred procedure call exceeded its time limit; often caused by an incompatible SSD driver or outdated firmware.CLOCK_WATCHDOG_TIMEOUT— A processor core is not responding; CPU overclocking or failing hardware.KERNEL_SECURITY_CHECK_FAILURE— A data structure integrity check failed; caused by malware, bad RAM, or outdated drivers.TDR_FAILURE/nvlddmkm.sys— GPU driver crashed and failed to recover (NVIDIA driver file).DRIVER_POWER_STATE_FAILURE— A driver did not correctly manage a power transition (sleep/wake).NETIO.SYS— Network driver fault, often antivirus or VPN related.NMI_HARDWARE_FAILURE— Non-maskable interrupt from a hardware device; indicates serious hardware fault.WDF_VIOLATION— Windows Driver Framework rule violation by a kernel-mode driver.FAULTY_HARDWARE_CORRUPTED_PAGE— Hardware (usually RAM or storage) is writing corrupt data.WORKER_INVALID— A work item queued by a driver has an invalid state.REFERENCE_BY_POINTER— An object's reference count is illegal; kernel or driver bug.ATTEMPTED_EXECUTE_OF_NOEXECUTE_MEMORY— Code tried to execute from non-executable memory (DEP violation); possible malware or driver bug.PROCESS1_INITIALIZATION_FAILED— Windows Session Manager (SMSS.EXE) failed to initialize; similar to 0xC000021A.NTFS_FILE_SYSTEM/ntfs.sys— NTFS file system driver encountered an error; usually disk corruption.CACHE_MANAGER— File system cache encountered a fatal error.
Step 2: Run System File and Image Repair
For most stop codes caused by corrupted OS files, start here. Boot into Windows (or use the Advanced Recovery environment if Windows won't start).
From within Windows: Open an elevated Command Prompt (Run as Administrator) and run:
sfc /scannow
DISM /Online /Cleanup-Image /CheckHealth
DISM /Online /Cleanup-Image /ScanHealth
DISM /Online /Cleanup-Image /RestoreHealth
Restart after each pass. If sfc reports it could not fix files, run DISM first to repair the component store, then run sfc again.
From the Windows Recovery Environment (WinRE): If Windows won't boot, boot from a Windows installation USB, select Repair your computer → Troubleshoot → Advanced Options → Command Prompt, then:
sfc /scannow /offbootdir=C:\ /offwindir=C:\Windows
DISM /Image:C:\ /Cleanup-Image /RestoreHealth
(Replace C: with your Windows drive letter as seen from WinRE — use diskpart + list vol to confirm.)
Step 3: Fix Disk Errors
For NTFS_FILE_SYSTEM, UNMOUNTABLE_BOOT_VOLUME, and INACCESSIBLE_BOOT_DEVICE:
chkdsk C: /f /r /x
Schedule it to run on next reboot if the drive is in use. Also repair the boot sector:
bootrec /fixmbr
bootrec /fixboot
bootrec /rebuildbcd
Step 4: Address Driver Issues
For TDR_FAILURE, DPC_WATCHDOG_VIOLATION, DRIVER_POWER_STATE_FAILURE, nvlddmkm.sys:
- Boot into Safe Mode (hold Shift while clicking Restart → Troubleshoot → Advanced Options → Startup Settings → Safe Mode with Networking).
- Open Device Manager, look for devices with a yellow warning icon.
- Right-click the problematic driver → Update driver or Roll back driver.
- For NVIDIA GPU crashes (nvlddmkm.sys): uninstall the driver using DDU (Display Driver Uninstaller) in Safe Mode, then reinstall the latest driver from nvidia.com.
- For stop codes after a Windows Update, use Device Manager → View → Show hidden devices to find recently changed drivers.
Step 5: Test and Replace RAM
For MEMORY_MANAGEMENT, PFN_LIST_CORRUPT, BAD_POOL_CALLER, FAULTY_HARDWARE_CORRUPTED_PAGE:
- Press Win + R, type
mdsched.exe, and choose to restart and check for memory problems. - For thorough testing, download MemTest86 (bootable USB), and run at least 2 full passes.
- If errors are found, reseat RAM sticks, test one stick at a time to isolate the faulty module.
- Run the following from PowerShell to check reliability history:
Get-WinEvent -LogName System | Where-Object {$_.LevelDisplayName -eq 'Error'} | Select-Object TimeCreated, Message -First 20
Step 6: Fix 0xC000021A / CRITICAL_PROCESS_DIED After Update
This is the most common post-update BSOD. Exact error shown on screen:
Your PC ran into a problem and needs to restart. Stop code: 0xC000021A
- Boot from Windows USB → Startup Repair (often fixes it automatically).
- If not fixed, open Command Prompt from WinRE and run:
dism /image:C:\ /cleanup-image /revertpendingactions
ren C:\Windows\system32\drivers\ndis.sys ndis.sys.bak
- Uninstall the latest Windows Update:
dism /image:C:\ /get-packages
dism /image:C:\ /remove-package /packagename:<PACKAGE_NAME>
- As a last resort, use System Restore from WinRE → Choose a restore point prior to the update.
Step 7: Fix INACCESSIBLE_BOOT_DEVICE (0x0000007B)
This stop code almost always appears after a hardware change or BIOS update that switches the SATA controller mode.
- Enter BIOS/UEFI and verify the SATA mode is set to AHCI (not IDE or RAID) unless you were using RAID before.
- If you changed SATA mode, Windows may need the AHCI driver injected. Boot from WinRE and run:
reg load HKLM\SYSTEM_OFFLINE C:\Windows\System32\config\SYSTEM
reg add "HKLM\SYSTEM_OFFLINE\ControlSet001\Services\msahci" /v Start /t REG_DWORD /d 0 /f
reg add "HKLM\SYSTEM_OFFLINE\ControlSet001\Services\iaStorV" /v Start /t REG_DWORD /d 0 /f
reg unload HKLM\SYSTEM_OFFLINE
- Rebuild the BCD store:
bootrec /rebuildbcd
Step 8: Handle Persistent or Recurring BSODs
If you keep getting Windows stop codes despite the above fixes:
- Check Event Viewer (Win + X → Event Viewer → Windows Logs → System) for critical errors immediately before each crash.
- Use WhoCrashed or WinDbg Preview (from Microsoft Store) to analyze minidump files in
C:\Windows\Minidump\. - Run the Windows Hardware Lab Kit stress tests if CPU or motherboard instability is suspected.
- Consider a clean Windows reinstall if all hardware checks out — use Reset this PC → Remove everything from Settings.
Frequently Asked Questions
# ============================================================
# Windows Stop Code Diagnostic & Repair Script
# Run each section in an ELEVATED Command Prompt or PowerShell
# ============================================================
# --- STEP 1: System File Checker (repair corrupted OS files) ---
sfc /scannow
# --- STEP 2: DISM Image Repair (must run before sfc if sfc fails) ---
DISM /Online /Cleanup-Image /CheckHealth
DISM /Online /Cleanup-Image /ScanHealth
DISM /Online /Cleanup-Image /RestoreHealth
# --- STEP 3: Check Disk for file system errors (schedule on reboot) ---
chkdsk C: /f /r /x
# Type Y when prompted to schedule on next restart
# --- STEP 4: Boot Repair (run from WinRE Command Prompt) ---
bootrec /fixmbr
bootrec /fixboot
bootrec /rebuildbcd
# --- STEP 5: List recent Windows Updates (identify culprit after update BSOD) ---
wmic qfe list brief /format:table
# Or in PowerShell:
Get-HotFix | Sort-Object InstalledOn -Descending | Select-Object -First 10
# --- STEP 6: View recent critical system errors (PowerShell) ---
Get-WinEvent -LogName System | Where-Object { $_.Level -eq 1 -or $_.Level -eq 2 } | Select-Object TimeCreated, Id, Message | Select-Object -First 20 | Format-List
# --- STEP 7: Check minidump files for crash analysis ---
# List all minidump files
dir C:\Windows\Minidump\
# Open most recent minidump in WinDbg (if installed)
"C:\Program Files (x86)\Windows Kits\10\Debuggers\x64\windbg.exe" -z C:\Windows\Minidump\*.dmp
# --- STEP 8: Memory test (launch Windows Memory Diagnostic) ---
mdsched.exe
# Choose: Restart now and check for problems
# --- STEP 9: Enable AHCI driver for INACCESSIBLE_BOOT_DEVICE (WinRE only) ---
# Run from WinRE Command Prompt after replacing C: with correct drive
reg load HKLM\SYSTEM_OFFLINE C:\Windows\System32\config\SYSTEM
reg add "HKLM\SYSTEM_OFFLINE\ControlSet001\Services\msahci" /v Start /t REG_DWORD /d 0 /f
reg add "HKLM\SYSTEM_OFFLINE\ControlSet001\Services\iaStorV" /v Start /t REG_DWORD /d 0 /f
reg unload HKLM\SYSTEM_OFFLINE
# --- STEP 10: SFC + DISM from WinRE (offline repair when Windows won't boot) ---
# First confirm Windows drive letter with diskpart
diskpart
# Inside diskpart:
# list vol
# exit
# Then run offline SFC and DISM:
sfc /scannow /offbootdir=C:\ /offwindir=C:\Windows
DISM /Image:C:\ /Cleanup-Image /RestoreHealth
# --- STEP 11: Revert pending Windows Update actions (fix 0xC000021A) ---
dism /image:C:\ /cleanup-image /revertpendingactions
# --- STEP 12: Remove a specific Windows Update package (WinRE) ---
# List packages:
dism /image:C:\ /get-packages
# Remove by name:
# dism /image:C:\ /remove-package /packagename:<EXACT_PACKAGE_NAME>
# --- STEP 13: Driver verifier (identify rogue drivers - advanced) ---
# Run in normal Windows, then reboot to trigger BSOD with driver name:
verifier /standard /all
# To disable after identifying the driver:
verifier /resetError Medic Editorial
The Error Medic Editorial team is composed of senior DevOps engineers, Windows system administrators, and SRE professionals with 10+ years of experience diagnosing kernel failures, hardware faults, and OS-level errors across enterprise and consumer Windows environments. Our guides are tested against real crash scenarios and updated with each major Windows release.
Sources
- https://learn.microsoft.com/en-us/windows-hardware/drivers/debugger/bug-check-code-reference2
- https://support.microsoft.com/en-us/windows/windows-stop-errors-blue-screen-or-black-screen-da6038dc-0e90-2d41-e85e-6d851c0ef97e
- https://learn.microsoft.com/en-us/windows-hardware/manufacture/desktop/windows-recovery-environment--windows-re--technical-reference
- https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/sfc
- https://stackoverflow.com/questions/tagged/bsod
- https://www.reddit.com/r/techsupport/search/?q=windows+stop+code+0xc000021a