Microsoft Stop Code (Blue Screen of Death): Complete Fix Guide for All BSOD Errors
Fix Microsoft stop codes including 0xC000021A, BAD_POOL_CALLER, IRQL_NOT_LESS_OR_EQUAL & more. Step-by-step BSOD troubleshooting with real commands.
- Microsoft stop codes (BSODs) are triggered by critical system failures — most commonly caused by faulty drivers, corrupted system files, bad RAM, failing storage devices, or incompatible Windows updates.
- Common stop codes include 0xC000021A (critical system process failure), BAD_POOL_CALLER (memory pool corruption), IRQL_NOT_LESS_OR_EQUAL (driver accessing invalid memory), KERNEL_SECURITY_CHECK_FAILURE (data corruption detected), and INACCESSIBLE_BOOT_DEVICE (Windows cannot read the boot partition).
- Quick fix summary: Boot into Safe Mode, run 'sfc /scannow' and DISM to repair system files, roll back or update drivers, check RAM with Windows Memory Diagnostic, inspect Event Viewer logs, and visit https://www.microsoft.com/en-us/safety/pc-security/blue-screen.aspx for official stop code lookups.
| Method | When to Use | Time | Risk |
|---|---|---|---|
| SFC & DISM Scan | Corrupted system files, after failed Windows Update | 15–30 min | Low |
| Driver Rollback / Update | IRQL_NOT_LESS_OR_EQUAL, DRIVER_POWER_STATE_FAILURE after driver change | 10–20 min | Low |
| Windows Memory Diagnostic | BAD_POOL_CALLER, MEMORY_MANAGEMENT BSODs, random crashes | 30–60 min | None |
| Startup Repair (WinRE) | 0xC000021A, INACCESSIBLE_BOOT_DEVICE, system won't boot | 15–45 min | Low |
| System Restore | BSOD started after update or software install | 20–40 min | Low–Medium |
| Uninstall Problematic Update | Microsoft update caused blue screen immediately after install | 10–15 min | Low |
| Reset / Reinstall Windows | All other methods failed, persistent BSOD on every boot | 1–3 hours | High (data loss possible) |
| Check & Replace Hardware | RAM/disk errors confirmed by diagnostics, physical damage | Varies | Medium |
Understanding Microsoft Stop Codes
A Microsoft stop code — colloquially known as the Blue Screen of Death (BSOD) or, in newer Windows versions, sometimes a Green Screen of Death — is Windows' last-resort mechanism to prevent system damage when a fatal, unrecoverable error occurs. The system halts all operations, dumps memory to disk, and displays a stop code that identifies the type of failure.
Modern Windows 10 and 11 BSODs display a sad face emoji, a brief description, a QR code you can scan to visit https://www.microsoft.com/en-us/safety for more information, and the stop code itself (e.g., KERNEL_SECURITY_CHECK_FAILURE). Older formats show 0x-prefixed hexadecimal codes like 0x0000000A.
Most Common Microsoft Stop Codes and Their Meanings
- 0xC000021A / 0xC00021A / Stop Code 21A — A critical user-mode subsystem (winlogon.exe or csrss.exe) has failed. Often triggered by corrupted system files, mismatched DLLs after an update, or third-party security software conflicts.
- BAD_POOL_CALLER (0x000000C2) — A process requested invalid memory pool allocation. Usually caused by a buggy driver or corrupted memory.
- IRQL_NOT_LESS_OR_EQUAL / DRIVER_IRQL_NOT_LESS_OR_EQUAL (0x0000000A / 0x000000D1) — A driver or process attempted to access a memory address at an inappropriate IRQL (interrupt request level). Frequently tied to network adapter, GPU, or disk controller drivers.
- KERNEL_SECURITY_CHECK_FAILURE (0x00000139) — Windows Kernel detected data structure corruption. Causes include faulty RAM, outdated drivers, or malware.
- INACCESSIBLE_BOOT_DEVICE (0x0000007B) — Windows cannot access the partition containing the OS at boot. Triggered by storage driver changes, corrupted BCD, or a failing SSD/HDD.
- MEMORY_MANAGEMENT (0x0000001A) — Indicates a serious problem with Windows memory management. Often hardware RAM or paging file corruption.
- DRIVER_POWER_STATE_FAILURE (0x0000009F) — A driver failed to handle a power state transition (sleep/hibernate/resume). Usually caused by outdated device drivers.
Step 1: Capture and Identify Your Stop Code
Before you can fix anything, you need the exact stop code. If your system reboots too quickly:
- Go to Control Panel → System → Advanced System Settings → Startup and Recovery → Settings.
- Uncheck Automatically restart under System Failure.
- The next BSOD will pause so you can read the stop code.
Alternatively, analyze the saved minidump:
- Dump files are saved to
C:\Windows\Minidump\(small memory dumps) orC:\Windows\MEMORY.DMP(full dump). - Use WinDbg (from the Windows SDK) or the free WhoCrashed tool to analyze them.
- In WinDbg, run:
!analyze -vafter opening the dump file.
You can also search the Windows Event Log:
- Press Win + R, type
eventvwr.msc, hit Enter. - Navigate to Windows Logs → System.
- Filter for Critical and Error events around the time of the BSOD.
Step 2: Boot Into Safe Mode
If Windows won't boot normally, access Safe Mode:
- From Settings: Settings → Update & Security → Recovery → Advanced Startup → Restart Now → Troubleshoot → Advanced Options → Startup Settings → Restart → Press 4 for Safe Mode.
- From a bootloop: Windows will automatically enter the Recovery Environment (WinRE) after 2–3 failed boots. Choose Troubleshoot → Advanced Options → Startup Settings.
- With installation media: Boot from a Windows USB/DVD, choose Repair your computer, then navigate to Advanced Options.
Step 3: Repair System Files with SFC and DISM
This is the first actionable fix for most stop codes, especially 0xC000021A and MEMORY_MANAGEMENT.
Open an elevated Command Prompt (right-click Start → Command Prompt (Admin)) and run:
sfc /scannow
If SFC reports errors it cannot fix, run DISM to repair the Windows image first:
DISM /Online /Cleanup-Image /CheckHealth
DISM /Online /Cleanup-Image /ScanHealth
DISM /Online /Cleanup-Image /RestoreHealth
Then rerun sfc /scannow. Reboot after completion.
Step 4: Roll Back or Update Drivers
For stop codes like IRQL_NOT_LESS_OR_EQUAL, DRIVER_IRQL_NOT_LESS_OR_EQUAL, DRIVER_POWER_STATE_FAILURE, and KERNEL_SECURITY_CHECK_FAILURE:
- Boot into Safe Mode.
- Open Device Manager (Win + X → Device Manager).
- Look for devices with a yellow warning icon.
- Right-click the suspect device (often GPU, network adapter, or storage controller) → Properties → Driver → Roll Back Driver.
- If Roll Back is grayed out, right-click → Update Driver and search automatically.
For GPU drivers specifically, use DDU (Display Driver Uninstaller) in Safe Mode to cleanly remove the old driver before installing a fresh copy from the manufacturer's website.
Step 5: Check RAM with Windows Memory Diagnostic
For BAD_POOL_CALLER and MEMORY_MANAGEMENT stop codes:
- Press Win + R, type
mdsched.exe, hit Enter. - Choose Restart now and check for problems.
- The tool runs automatically and reports errors on next login.
For deeper testing, use MemTest86 (bootable USB), which runs outside Windows and is more thorough.
Step 6: Fix INACCESSIBLE_BOOT_DEVICE
This stop code requires working with the BCD (Boot Configuration Data) and storage drivers:
- Boot from Windows installation media.
- Choose Repair your computer → Troubleshoot → Advanced Options → Command Prompt.
- Run:
bootrec /fixmbr
bootrec /fixboot
bootrec /scanos
bootrec /rebuildbcd
- If that doesn't help, ensure storage controller drivers (NVMe/SATA) are present by checking BIOS settings — switching from RAID to AHCI mode or vice versa can cause this error.
Step 7: Uninstall a Problematic Windows Update
If the BSOD started immediately after a Windows Update:
- Go to Settings → Update & Security → View Update History → Uninstall Updates.
- Sort by Installed On date.
- Uninstall the most recent Cumulative Update or driver update.
- Alternatively, use WinRE: Troubleshoot → Advanced Options → Uninstall Updates.
Step 8: Microsoft Surface-Specific BSOD Fixes
For Microsoft Surface Blue Screen issues (Surface Pro, Surface Book, Surface Laptop):
- Perform a two-button shutdown: Hold Power + Volume Down for 15 seconds until the Surface logo appears twice.
- Update Surface firmware via Settings → Windows Update — Surface firmware is delivered via Windows Update.
- Visit the Microsoft Surface Recovery Image page to download and restore the original factory image if all else fails.
- For Surface-specific driver issues, download the Surface Update Tool from Microsoft's official site.
Step 9: Microsoft Teams Blue Screen
A recurring BSOD caused specifically when using Microsoft Teams is often related to GPU driver issues with hardware acceleration:
- Open Teams → Settings → General → Disable GPU hardware acceleration.
- Update your GPU driver.
- Check for Teams updates: Profile icon → Check for updates.
Step 10: Last Resort — Reset Windows
If all other steps fail:
- Go to Settings → Update & Security → Recovery → Reset this PC.
- Choose Keep my files or Remove everything.
- Follow the on-screen instructions.
For completely unbootable systems, use a Windows 10/11 installation USB and choose Reset this PC from WinRE.
Frequently Asked Questions
# ============================================================
# Microsoft Stop Code Diagnostic & Fix Script
# Run as Administrator in PowerShell or Command Prompt
# ============================================================
# --- 1. Check System File Integrity ---
Write-Host "[1/7] Running System File Checker..." -ForegroundColor Cyan
sfc /scannow
# --- 2. Repair Windows Image with DISM ---
Write-Host "[2/7] Running DISM restore health..." -ForegroundColor Cyan
DISM /Online /Cleanup-Image /RestoreHealth
# --- 3. Check Disk for Errors (C: drive) ---
Write-Host "[3/7] Scheduling CHKDSK on next reboot..." -ForegroundColor Cyan
chkdsk C: /f /r /x
# Note: If drive is in use, it will schedule for next reboot — type Y to confirm
# --- 4. List recent critical events from System log ---
Write-Host "[4/7] Pulling recent critical/error events from System log..." -ForegroundColor Cyan
Get-WinEvent -LogName System -MaxEvents 50 | Where-Object {$_.LevelDisplayName -eq 'Critical' -or $_.LevelDisplayName -eq 'Error'} | Select-Object TimeCreated, Id, Message | Format-List
# --- 5. Export BugCheck (BSOD) events specifically ---
Write-Host "[5/7] Searching for BugCheck stop code events (Event ID 1001)..." -ForegroundColor Cyan
Get-WinEvent -LogName System | Where-Object {$_.Id -eq 1001} | Select-Object -First 10 TimeCreated, Message | Format-List
# --- 6. List recently installed drivers ---
Write-Host "[6/7] Listing drivers installed in last 30 days..." -ForegroundColor Cyan
Get-WindowsDriver -Online | Where-Object {$_.Date -gt (Get-Date).AddDays(-30)} | Select-Object ProviderName, OriginalFileName, Date | Sort-Object Date -Descending
# --- 7. Find and list minidump files for WinDbg analysis ---
Write-Host "[7/7] Listing minidump files in C:\Windows\Minidump..." -ForegroundColor Cyan
$dumpPath = "C:\Windows\Minidump"
if (Test-Path $dumpPath) {
Get-ChildItem -Path $dumpPath -Filter "*.dmp" | Sort-Object LastWriteTime -Descending | Select-Object Name, LastWriteTime, @{Name='SizeMB';Expression={[math]::Round($_.Length/1MB,2)}}
Write-Host "Open dumps with WinDbg: windbg -z C:\Windows\Minidump\<filename>.dmp" -ForegroundColor Yellow
Write-Host "Then run: !analyze -v" -ForegroundColor Yellow
} else {
Write-Host "No minidump folder found. Ensure small memory dumps are enabled in System Properties." -ForegroundColor Red
}
# --- Fix: Repair Boot Configuration Data (for INACCESSIBLE_BOOT_DEVICE) ---
# Run these from WinRE Command Prompt if Windows won't boot:
# bootrec /fixmbr
# bootrec /fixboot
# bootrec /scanos
# bootrec /rebuildbcd
# --- Fix: Roll back a specific driver (example: network adapter) ---
# Get-PnpDevice | Where-Object {$_.FriendlyName -like "*Network*"}
# pnputil /delete-driver <oem##.inf> /uninstall /reboot
Write-Host "`nDiagnostic complete. Review output above and check C:\Windows\Minidump\ for crash dumps." -ForegroundColor GreenError Medic Editorial
The Error Medic Editorial team is composed of senior DevOps engineers, Windows system administrators, and SRE professionals with over a decade of combined experience diagnosing and resolving critical Windows errors, blue screens, and system failures across enterprise and consumer environments. Our guides are grounded in real-world incident response and official Microsoft documentation.
Sources
- https://learn.microsoft.com/en-us/windows-hardware/drivers/debugger/bug-check-code-reference2
- https://support.microsoft.com/en-us/windows/troubleshoot-blue-screen-errors-5c62726c-6489-52da-a372-3831bd349625
- https://learn.microsoft.com/en-us/windows-hardware/drivers/debugger/getting-started-with-windbg
- https://learn.microsoft.com/en-us/windows/client-management/troubleshoot-stop-errors
- https://answers.microsoft.com/en-us/windows/forum/all/how-to-fix-stop-code-0xc000021a/
- https://stackoverflow.com/questions/tagged/bsod
- https://support.microsoft.com/surface/surface-recovery-image