Microsoft Windows Stop Code Errors: Complete Troubleshooting Guide (BSOD Fix)
Fix Microsoft Windows stop code errors including MEMORY_MANAGEMENT, CRITICAL_PROCESS_DIED, and more. Step-by-step commands and permanent solutions.
- Windows Stop Code errors (BSODs) are triggered by hardware failures, driver conflicts, corrupt system files, or bad memory modules — identifying the exact stop code from Event Viewer or the minidump file narrows the root cause immediately.
- MEMORY_MANAGEMENT stop codes (0x0000001A) specifically point to RAM faults, faulty drivers writing outside allocated memory, or corrupted virtual memory settings — running Windows Memory Diagnostic and MemTest86 is the first mandatory step.
- Quick fix summary: Note the exact stop code, boot into Safe Mode if needed, run 'sfc /scannow' and 'DISM /Online /Cleanup-Image /RestoreHealth' to repair system files, update or roll back drivers, then run Windows Memory Diagnostic — most BSODs resolve within these four actions.
| Method | When to Use | Time | Risk |
|---|---|---|---|
| SFC + DISM Scan | Corrupted system files, random BSODs after Windows Update | 15-30 min | Low |
| Driver Rollback / Update | BSOD started after installing new hardware or updating drivers | 10-20 min | Low-Medium |
| Windows Memory Diagnostic | MEMORY_MANAGEMENT (0x1A), PAGE_FAULT_IN_NONPAGED_AREA (0x50) | 30-60 min | None |
| MemTest86 (Bootable) | Repeated MEMORY_MANAGEMENT BSODs, SFC finds no errors | 2-8 hours | None |
| Startup Repair (WinRE) | Cannot boot normally, BSOD at login screen or POST | 20-40 min | Low |
| System Restore | BSOD started after software install or Windows Update | 15-30 min | Medium (reverts changes) |
| Clean Driver Install (DDU) | GPU/NIC driver-related stop codes persist after rollback | 20-40 min | Medium |
| RAM Replacement | MemTest86 confirms hardware errors on specific RAM stick | 30-60 min | Low (hardware swap) |
| Windows Reset / Reinstall | All other methods exhausted, recurring stop codes | 1-3 hours | High (data risk without backup) |
Understanding Microsoft Windows Stop Code Errors
A Windows Stop Code error — commonly called a Blue Screen of Death (BSOD) — appears when Windows detects a critical system fault from which it cannot safely recover. The operating system halts completely, displays a blue screen with a stop code (e.g., MEMORY_MANAGEMENT, CRITICAL_PROCESS_DIED, KERNEL_SECURITY_CHECK_FAILURE), and either reboots automatically or waits for user intervention.
The full error URL Microsoft displays on modern Windows 10/11 BSODs is:
https://www.microsoft.com/en-us/windows/stop-code
This page provides a general overview, but the actionable fix lives in the specific stop code itself. Always record:
- The stop code string (e.g.,
MEMORY_MANAGEMENT) - The hexadecimal value (e.g.,
0x0000001A) - Any parameter values listed in parentheses
- The faulting module name if visible (e.g.,
ntfs.sys,nvlddmkm.sys)
Common Windows Stop Codes and Their Meanings
| Stop Code | Hex | Primary Cause |
|---|---|---|
| MEMORY_MANAGEMENT | 0x0000001A | RAM hardware fault, driver memory corruption |
| PAGE_FAULT_IN_NONPAGED_AREA | 0x00000050 | Bad RAM, faulty driver, corrupt system files |
| CRITICAL_PROCESS_DIED | 0x000000EF | Core Windows process killed unexpectedly |
| SYSTEM_SERVICE_EXCEPTION | 0x0000003B | Driver bug, antivirus conflict |
| KERNEL_SECURITY_CHECK_FAILURE | 0x00000139 | Corrupted kernel data, driver issue |
| IRQL_NOT_LESS_OR_EQUAL | 0x0000000A | Driver accessing invalid memory address |
| DRIVER_IRQL_NOT_LESS_OR_EQUAL | 0x000000D1 | Specific driver at fault (named in screen) |
| BAD_POOL_HEADER | 0x00000019 | Heap corruption, faulty driver |
| NTFS_FILE_SYSTEM | 0x00000024 | Disk corruption, failing HDD/SSD |
| WHEA_UNCORRECTABLE_ERROR | 0x00000124 | CPU/hardware-level uncorrectable error |
Step 1: Collect Diagnostic Information
1a. Find the stop code in Event Viewer:
- Press
Win + X→ select Event Viewer - Navigate to Windows Logs → System
- Filter by Event ID 41 (unexpected shutdown) or Event ID 1001 (BugCheck)
- The BugCheck entry contains the stop code hex value and parameters
1b. Analyze the minidump file:
Minidump files are saved to C:\Windows\Minidump\ after each BSOD. Use WinDbg or the online Microsoft symbol server to analyze them.
1c. Check system uptime and crash history: Open PowerShell as Administrator and run:
Get-EventLog -LogName System -EntryType Error -Newest 20 | Where-Object {$_.EventID -eq 41 -or $_.EventID -eq 1001} | Format-List TimeGenerated, Message
Step 2: Repair System Files (SFC + DISM)
System file corruption is responsible for a significant percentage of recurring BSODs. Run these commands in sequence from an elevated command prompt:
:: Step 1 - DISM repairs the Windows component store
DISM /Online /Cleanup-Image /CheckHealth
DISM /Online /Cleanup-Image /ScanHealth
DISM /Online /Cleanup-Image /RestoreHealth
:: Step 2 - SFC uses the repaired store to fix system files
sfc /scannow
After both complete, restart your PC and check if the BSOD recurs.
If you cannot boot normally, boot into Windows Recovery Environment (WinRE):
- Hold
Shiftwhile clicking Restart from the Start menu - Go to Troubleshoot → Advanced Options → Command Prompt
- Run
sfc /scannow /offbootdir=C:\ /offwindir=C:\Windows
Step 3: Diagnose and Fix Memory Issues (MEMORY_MANAGEMENT Stop Code)
The MEMORY_MANAGEMENT stop code (0x0000001A) and related codes like PAGE_FAULT_IN_NONPAGED_AREA (0x50) almost always involve RAM.
3a. Run Windows Memory Diagnostic:
mdsched.exe
Choose Restart now and check for problems. Windows will run two passes of memory tests and report errors on reboot. Check Event Viewer → Windows Logs → System for Event ID 1201 (MemoryDiagnostics-Results) after restart.
3b. Check virtual memory settings:
- Right-click This PC → Properties → Advanced system settings
- Under Performance, click Settings → Advanced tab → Change
- Ensure Automatically manage paging file size is checked, OR set a manual minimum of 1.5x your RAM size
3c. Reseat RAM modules: Power off the PC, open the case, remove RAM sticks, clean the contacts with isopropyl alcohol, and reseat firmly. If you have multiple sticks, test one at a time.
3d. Run MemTest86 for hardware confirmation: Download MemTest86 from memtest86.com, create a bootable USB, and run for at least 2 full passes (ideally overnight). Any errors confirm faulty RAM requiring replacement.
Step 4: Update or Roll Back Drivers
Driver-related stop codes frequently name the offending .sys file on the BSOD screen (e.g., nvlddmkm.sys for NVIDIA, atikmdag.sys for AMD GPU drivers).
4a. Roll back a driver:
- Press
Win + X→ Device Manager - Expand the relevant category (Display Adapters, Network Adapters, etc.)
- Right-click the device → Properties → Driver tab → Roll Back Driver
4b. Update drivers via PowerShell:
# Check for driver updates via Windows Update
Get-WindowsUpdate -Category Drivers -Install -AcceptAll
4c. Use Display Driver Uninstaller (DDU) for GPU drivers: For persistent GPU-related BSODs, boot into Safe Mode and use DDU to completely remove the GPU driver before installing the latest version from the manufacturer's website.
To boot into Safe Mode:
bcdedit /set {default} safeboot minimal
shutdown /r /t 0
:: After fixing, remove safeboot flag:
bcdedit /deletevalue {default} safeboot
Step 5: Check Disk Health
For stop codes like NTFS_FILE_SYSTEM (0x24) or CRITICAL_PROCESS_DIED (0xEF), the storage drive may be failing.
:: Check and repair disk errors (schedule for next reboot)
chkdsk C: /f /r /x
:: Check NVMe/SSD health via PowerShell
Get-PhysicalDisk | Get-StorageReliabilityCounter | Select-Object DeviceId, ReadErrorsTotal, WriteErrorsTotal, Temperature
For SMART data analysis, download CrystalDiskInfo (free) and check for Caution or Bad status on reallocated sectors or pending sectors.
Step 6: Use WinDbg to Analyze Minidump Files
For recurring or unresolved BSODs, minidump analysis pinpoints the exact driver or module causing the fault.
Install WinDbg from Microsoft Store, then:
- Open WinDbg → File → Open Crash Dump
- Navigate to
C:\Windows\Minidump\and open the most recent.dmpfile - In the command window, type:
!analyze -v - Look for the PROBABLE_CAUSE and FAULTING_MODULE fields in the output
Alternatively, use the free WhoCrashed tool which automates minidump analysis and provides human-readable explanations.
Step 7: Last Resort — System Restore or Reset
System Restore (if a restore point exists before BSODs started):
rstrui.exe
Choose a restore point dated before the BSOD began. This reverts system files and registry but preserves personal files.
Windows Reset (if all else fails):
- Settings → System → Recovery → Reset this PC
- Choose Keep my files to preserve personal data
- Choose Remove everything for a clean slate (backup data first)
Preventing Future Stop Code Errors
- Enable Windows Update for automatic driver and security patches
- Run
sfc /scannowmonthly as preventive maintenance - Monitor RAM and disk health quarterly with dedicated tools
- Avoid overclocking without proper cooling and stability testing
- Keep only signed, WHQL-certified drivers installed
Frequently Asked Questions
# ============================================================
# Windows Stop Code Diagnostic & Fix Script
# Run as Administrator in PowerShell
# ============================================================
Write-Host "=== Windows Stop Code Diagnostic Tool ===" -ForegroundColor Cyan
# --- 1. Check recent BSODs from Event Log ---
Write-Host "
[1] Recent BSOD Events (Last 30 days):" -ForegroundColor Yellow
Get-WinEvent -FilterHashtable @{LogName='System'; Id=41,1001; StartTime=(Get-Date).AddDays(-30)} -ErrorAction SilentlyContinue |
Select-Object TimeCreated, Id, Message |
Format-Table -AutoSize
# --- 2. List minidump files ---
Write-Host "
[2] Minidump Files Found:" -ForegroundColor Yellow
$dumpPath = "C:\Windows\Minidump"
if (Test-Path $dumpPath) {
Get-ChildItem $dumpPath -Filter "*.dmp" | Sort-Object LastWriteTime -Descending | Select-Object Name, LastWriteTime, @{N='SizeMB';E={[math]::Round($_.Length/1MB,2)}}
} else {
Write-Host "No minidump directory found. Ensure small memory dumps are enabled." -ForegroundColor Red
}
# --- 3. Ensure minidumps are enabled ---
Write-Host "
[3] Configuring Small Memory Dump (if not set):" -ForegroundColor Yellow
$crashControl = "HKLM:\SYSTEM\CurrentControlSet\Control\CrashControl"
Set-ItemProperty -Path $crashControl -Name "CrashDumpEnabled" -Value 3 # Small memory dump
Set-ItemProperty -Path $crashControl -Name "MinidumpsDir" -Value "C:\Windows\Minidump"
Write-Host "Minidump configured." -ForegroundColor Green
# --- 4. Run DISM health check ---
Write-Host "
[4] Running DISM Component Store Health Check:" -ForegroundColor Yellow
DISM /Online /Cleanup-Image /CheckHealth
# --- 5. Run SFC scan ---
Write-Host "
[5] Running SFC System File Check:" -ForegroundColor Yellow
sfc /scannow
# --- 6. Check disk health ---
Write-Host "
[6] Physical Disk Reliability Counters:" -ForegroundColor Yellow
try {
Get-PhysicalDisk | ForEach-Object {
$rel = $_ | Get-StorageReliabilityCounter
[PSCustomObject]@{
Drive = $_.FriendlyName
ReadErrors = $rel.ReadErrorsTotal
WriteErrors = $rel.WriteErrorsTotal
TempCelsius = $rel.Temperature
WearLevel = $rel.Wear
}
} | Format-Table -AutoSize
} catch {
Write-Host "Could not retrieve disk counters. Run CrystalDiskInfo for detailed SMART data." -ForegroundColor DarkYellow
}
# --- 7. Check for driver updates via Windows Update ---
Write-Host "
[7] Checking Windows Update for Driver Updates:" -ForegroundColor Yellow
try {
$session = New-Object -ComObject Microsoft.Update.Session
$searcher = $session.CreateUpdateSearcher()
$results = $searcher.Search("IsInstalled=0 and Type='Driver'")
if ($results.Updates.Count -gt 0) {
Write-Host "Pending driver updates found: $($results.Updates.Count)" -ForegroundColor Red
$results.Updates | ForEach-Object { Write-Host " - $($_.Title)" }
} else {
Write-Host "No pending driver updates." -ForegroundColor Green
}
} catch {
Write-Host "Unable to query Windows Update. Check Windows Update manually." -ForegroundColor DarkYellow
}
# --- 8. Memory diagnostic reminder ---
Write-Host "
[8] Schedule Windows Memory Diagnostic on Next Reboot:" -ForegroundColor Yellow
Write-Host "Run: mdsched.exe and choose 'Restart now and check for problems'" -ForegroundColor White
# --- 9. RAM info ---
Write-Host "
[9] Installed RAM Modules:" -ForegroundColor Yellow
Get-WmiObject Win32_PhysicalMemory | Select-Object BankLabel, Capacity, Speed, Manufacturer, PartNumber | Format-Table -AutoSize
# --- 10. Check CPU temperature (requires OpenHardwareMonitor or HWiNFO running) ---
Write-Host "
[10] Uptime Since Last Boot:" -ForegroundColor Yellow
$os = Get-WmiObject Win32_OperatingSystem
$uptime = (Get-Date) - $os.ConvertToDateTime($os.LastBootUpTime)
Write-Host "System uptime: $([math]::Floor($uptime.TotalHours)) hours $($uptime.Minutes) minutes"
Write-Host "
=== Diagnostic Complete ===" -ForegroundColor Cyan
Write-Host "Review results above. Next steps:"
Write-Host " 1. If SFC found errors -> Run: DISM /Online /Cleanup-Image /RestoreHealth then sfc /scannow again"
Write-Host " 2. If disk errors found -> Run: chkdsk C: /f /r (schedules on reboot)"
Write-Host " 3. For MEMORY_MANAGEMENT codes -> Run mdsched.exe or boot MemTest86 USB"
Write-Host " 4. Check minidump files with WinDbg: !analyze -v"
Write-Host " 5. For driver BSODs -> Device Manager -> Roll Back or update the flagged driver"Error Medic Editorial
The Error Medic Editorial team is composed of senior DevOps engineers, SREs, and Windows systems administrators with 10+ years of experience diagnosing and resolving critical system failures across enterprise and consumer environments. Our guides are built from real incident postmortems, Microsoft documentation, and hands-on lab testing. We specialize in translating cryptic error codes into clear, actionable fix procedures for engineers and power users alike.
Sources
- https://support.microsoft.com/en-us/windows/resolving-stop-blue-screen-errors-in-windows-10-a3b03526-b32f-4803-bc01-8e5f22e77e58
- https://learn.microsoft.com/en-us/windows-hardware/drivers/debugger/bug-check-0x1a--memory-management
- https://learn.microsoft.com/en-us/windows-hardware/drivers/debugger/analyzing-a-kernel-mode-dump-file-with-windbg
- https://learn.microsoft.com/en-us/windows/win32/debug/system-error-codes
- https://support.microsoft.com/en-us/windows/use-startup-repair-to-fix-startup-problems-b0a7eabb-e368-59a2-0a9e-b5f7b27dd2cb
- https://stackoverflow.com/questions/tagged/windows-error-reporting