Error Medic

Computer Keeps Blue Screening Windows 10: Complete BSOD Fix Guide

Fix Windows 10 blue screen of death (BSOD) crashes fast. Step-by-step diagnosis using WinDbg, Event Viewer, and built-in tools to stop recurring BSODs.

Last updated:
Last verified:
2,287 words
Key Takeaways
  • Faulty RAM, corrupted drivers (especially GPU and storage controllers), and failing hard drives are the top hardware causes of recurring Windows 10 BSODs.
  • Recently installed Windows Updates, third-party antivirus software, and overclocked hardware settings frequently trigger software-side blue screens.
  • Quick fixes: note the STOP code shown on the blue screen, run 'sfc /scannow' and 'DISM /Online /Cleanup-Image /RestoreHealth' in an elevated Command Prompt, update or roll back drivers, and run Windows Memory Diagnostic to rule out RAM issues.
Fix Approaches Compared
MethodWhen to UseTimeRisk
SFC / DISM System File RepairCorrupted Windows system files suspected15-30 minLow
Driver Rollback / UpdateBSOD started after a driver or Windows Update10-20 minLow
Windows Memory DiagnosticRandom BSODs with no clear pattern (RAM suspect)30-60 minNone
Check Disk (chkdsk)BSODs with disk-related STOP codes (e.g., 0x0000007A)30-90 minLow
System RestoreBSODs began after a specific software or update change15-30 minLow-Medium
Overclocking Reset (BIOS defaults)Overclocked CPU/RAM causing instability5 minLow
Clean Boot / Startup RepairSoftware conflict or corrupted boot environment20-40 minLow
Windows 10 Reset / ReinstallAll other steps failed, persistent BSOD loop1-3 hoursHigh (data risk)

Understanding Why Windows 10 Keeps Blue Screening

A Blue Screen of Death (BSOD) — technically a STOP error — occurs when Windows encounters a critical failure it cannot recover from safely. The system halts to prevent data corruption or hardware damage. On Windows 10, the blue screen typically displays:

  • A sad face emoji and the message: "Your PC ran into a problem and needs to restart. We're just collecting some error info, and then we'll restart for you."
  • A STOP code such as SYSTEM_THREAD_EXCEPTION_NOT_HANDLED, IRQL_NOT_LESS_OR_EQUAL, MEMORY_MANAGEMENT, CRITICAL_PROCESS_DIED, or KERNEL_SECURITY_CHECK_FAILURE.
  • A QR code (on newer builds) linking to Microsoft support for that specific code.
  • A fault module name (e.g., ntoskrnl.exe, nvlddmkm.sys, ataport.sys).

If your computer keeps blue screening on Windows 10, the first step is always to capture the STOP code and the faulting module. Everything else flows from that information.


Step 1: Capture and Decode the STOP Code

During the BSOD, photograph the screen with your phone before the PC restarts. You need:

  1. The STOP code (e.g., 0x0000001E or the text version like KMODE_EXCEPTION_NOT_HANDLED).
  2. The faulting file name (listed after the STOP code, e.g., nvlddmkm.sys = NVIDIA driver).

After restart, check the Windows Event Log and minidump files:

  1. Press Win + X → select Event Viewer.
  2. Navigate to Windows Logs → System.
  3. Filter by Error and look for events with Source BugCheck or Kernel-Power (Event ID 41).
  4. Minidump files are stored at C:\Windows\Minidump\ — these are the gold standard for BSOD analysis.

Common STOP codes and their primary causes:

STOP Code Common Cause
IRQL_NOT_LESS_OR_EQUAL (0x0000000A) Driver accessing invalid memory address
MEMORY_MANAGEMENT (0x0000001A) Faulty RAM or memory corruption
SYSTEM_THREAD_EXCEPTION_NOT_HANDLED Driver crash (check faulting .sys file)
CRITICAL_PROCESS_DIED (0x000000EF) Core Windows process terminated unexpectedly
KERNEL_SECURITY_CHECK_FAILURE Memory corruption, often driver or malware
PAGE_FAULT_IN_NONPAGED_AREA (0x00000050) Faulty RAM, driver, or corrupted page file
NTFS_FILE_SYSTEM (0x00000024) Hard drive / SSD filesystem corruption
WHEA_UNCORRECTABLE_ERROR Hardware error: CPU, RAM, or overheating

Step 2: Run System File Checker and DISM

Corrupted Windows system files are a very common cause of recurring BSODs. Run these commands in an elevated Command Prompt (right-click Start → Command Prompt (Admin) or Windows PowerShell (Admin)):

sfc /scannow

Wait for the scan to complete (5-15 minutes). If it reports "Windows Resource Protection found corrupt files but was unable to fix some of them", run DISM first to repair the repair source:

DISM /Online /Cleanup-Image /RestoreHealth

Then re-run sfc /scannow. Restart the PC after completion.


Step 3: Update or Roll Back Drivers

Drivers are the #1 software cause of Windows 10 BSODs. The faulting .sys file name on the blue screen tells you which driver to target:

  • nvlddmkm.sys → NVIDIA graphics driver
  • atikmdag.sys / amdkmdag.sys → AMD graphics driver
  • iaStorA.sys → Intel Rapid Storage Technology driver
  • ntoskrnl.exe → Usually RAM, overclocking, or a driver conflict (not the kernel itself)
  • win32kfull.sys → Windows graphics subsystem (often a display driver issue)

To roll back a driver:

  1. Press Win + X → Device Manager.
  2. Right-click the suspect device → Properties → Driver tab.
  3. Click Roll Back Driver if available.

To update all drivers, use Windows Update (Settings → Update & Security → View Optional Updates → Driver Updates) or download directly from the manufacturer's website (NVIDIA, AMD, Intel, Dell, HP, Lenovo, etc.).


Step 4: Test Your RAM

If the STOP code is MEMORY_MANAGEMENT, PAGE_FAULT_IN_NONPAGED_AREA, or the BSODs are completely random with different codes each time, RAM is a prime suspect.

Built-in Windows Memory Diagnostic:

  1. Press Win + R → type mdsched.exe → Enter.
  2. Choose Restart now and check for problems.
  3. The tool runs on reboot. Check results in Event Viewer → Windows Logs → System, filtering for Source MemoryDiagnostics-Results.

For more thorough testing, boot from a USB drive running MemTest86 (free, open-source) and run at least 2 full passes. Any errors = faulty RAM that needs replacement.


Step 5: Check Your Hard Drive or SSD

Storage failures cause BSODs with codes like NTFS_FILE_SYSTEM, PAGE_FAULT_IN_NONPAGED_AREA, and 0x0000007A (KERNEL_DATA_INPAGE_ERROR).

Run Check Disk:

chkdsk C: /f /r /x

(You'll be prompted to schedule this on next restart — type Y and restart.)

Also check your drive's S.M.A.R.T. status using CrystalDiskInfo (free) or in PowerShell:

Get-PhysicalDisk | Get-StorageReliabilityCounter | Select-Object DeviceId, ReadErrorsTotal, WriteErrorsTotal, Temperature

Step 6: Check for Overheating

Thermal issues cause WHEA_UNCORRECTABLE_ERROR and random BSODs under load. Use HWMonitor or Core Temp to monitor CPU/GPU temperatures. Safe operating ranges:

  • CPU: below 85°C under full load
  • GPU: below 90°C under full load

If temperatures are too high: clean dust from vents and fans, reapply thermal paste (for laptops that are 2+ years old), and ensure the device is on a hard flat surface.


Step 7: Analyze Minidump Files with WinDbg

For recurring BSODs with no obvious cause, minidump analysis with WinDbg gives definitive answers:

  1. Install WinDbg from the Microsoft Store or Windows SDK.
  2. Open WinDbg → File → Open Crash Dump → navigate to C:\Windows\Minidump\ → open the most recent .dmp file.
  3. In the command window, type: !analyze -v
  4. Look for MODULE_NAME, FAULTING_MODULE, and STACK_TEXT in the output.

This output will directly name the driver or process responsible for the crash.


Step 8: Perform a System Restore or Reset

If BSODs started after a Windows Update or software installation:

  1. Press Win + R → type rstrui.exe → follow the wizard to a restore point before the BSODs began.

If no restore point is available and nothing else works:

  1. Go to Settings → Update & Security → Recovery.
  2. Under Reset this PC, click Get started.
  3. Choose Keep my files (safest option) or Remove everything for a clean slate.

Special Case: Laptop Keeps Blue Screening on Battery

If your laptop keeps blue screening specifically on battery power, the issue is often:

  • A failing battery causing voltage fluctuations (replace the battery).
  • Power management driver conflicts — update the ACPI driver via Device Manager.
  • Fast Startup causing hibernation corruption: disable via Control Panel → Power Options → Choose what the power buttons do → uncheck Turn on fast startup.

Frequently Asked Questions

powershell
# ============================================================
# Windows 10 BSOD Diagnostic & Fix Script
# Run in an ELEVATED PowerShell or Command Prompt window
# ============================================================

# --- 1. Check for recent BugCheck events in System log ---
Write-Host "=== Recent BSOD Events (Last 30 Days) ==="
Get-WinEvent -FilterHashtable @{LogName='System'; Id=1001; StartTime=(Get-Date).AddDays(-30)} -ErrorAction SilentlyContinue |
  Select-Object TimeCreated, Message |
  Format-List

# --- 2. List all minidump files with dates ---
Write-Host "`n=== Minidump Files ==="
Get-ChildItem -Path "C:\Windows\Minidump\" -Filter "*.dmp" -ErrorAction SilentlyContinue |
  Sort-Object LastWriteTime -Descending |
  Select-Object Name, LastWriteTime, @{N='SizeMB';E={[math]::Round($_.Length/1MB,2)}}

# --- 3. Run System File Checker ---
Write-Host "`n=== Running SFC (this may take 10-15 minutes) ==="
sfc /scannow

# --- 4. Run DISM health repair ---
Write-Host "`n=== Running DISM RestoreHealth (requires internet) ==="
DISM /Online /Cleanup-Image /RestoreHealth

# --- 5. Schedule Check Disk on C: drive ---
Write-Host "`n=== Scheduling CHKDSK on next restart ==="
echo Y | chkdsk C: /f /r /x

# --- 6. Check drive SMART reliability counters ---
Write-Host "`n=== Drive Reliability Counters ==="
Get-PhysicalDisk | ForEach-Object {
  $disk = $_
  $counters = $disk | Get-StorageReliabilityCounter
  [PSCustomObject]@{
    DiskNumber        = $disk.DeviceId
    Model             = $disk.FriendlyName
    ReadErrors        = $counters.ReadErrorsTotal
    WriteErrors       = $counters.WriteErrorsTotal
    Temperature       = $counters.Temperature
    Wear              = $counters.Wear
  }
} | Format-Table -AutoSize

# --- 7. List recently installed drivers (last 30 days) ---
Write-Host "`n=== Recently Installed or Changed Drivers ==="
Get-WinEvent -FilterHashtable @{LogName='System'; Id=7036; StartTime=(Get-Date).AddDays(-30)} -ErrorAction SilentlyContinue |
  Where-Object { $_.Message -match 'driver' } |
  Select-Object TimeCreated, Message -First 20 | Format-List

# --- 8. Check for pending Windows Updates (requires PSWindowsUpdate module) ---
# Uncomment the lines below if PSWindowsUpdate module is installed
# Install-Module PSWindowsUpdate -Force
# Get-WUList

# --- 9. Check CPU and memory usage (basic snapshot) ---
Write-Host "`n=== System Resource Snapshot ==="
$os = Get-CimInstance Win32_OperatingSystem
$cpuLoad = (Get-CimInstance Win32_Processor | Measure-Object -Property LoadPercentage -Average).Average
[PSCustomObject]@{
  'CPU Load %'         = "$cpuLoad%"
  'Total RAM (GB)'     = [math]::Round($os.TotalVisibleMemorySize/1MB,2)
  'Free RAM (GB)'      = [math]::Round($os.FreePhysicalMemory/1MB,2)
  'Used RAM (GB)'      = [math]::Round(($os.TotalVisibleMemorySize - $os.FreePhysicalMemory)/1MB,2)
  'Last Boot Time'     = $os.LastBootUpTime
} | Format-List

# --- 10. Export results to desktop for reference ---
Write-Host "`n=== Exporting summary to Desktop ==="
$reportPath = "$env:USERPROFILE\Desktop\BSOD_Diagnostic_Report_$(Get-Date -Format 'yyyyMMdd_HHmmss').txt"
(
  "BSOD Diagnostic Report - $(Get-Date)",
  "SFC and DISM were executed. Check output above for errors.",
  "CHKDSK scheduled for next boot.",
  "Review minidump files at C:\Windows\Minidump\ with WinDbg for deep analysis."
) | Out-File -FilePath $reportPath
Write-Host "Report saved to: $reportPath"

# ============================================================
# WinDbg Quick Reference (run inside WinDbg command window)
# Open dump: File -> Open Crash Dump -> C:\Windows\Minidump\*.dmp
# Then type:
#   !analyze -v          <- Full automated analysis
#   lmvm <module_name>   <- Show driver version info
#   !process 0 0         <- List all processes at time of crash
#   .bugcheck            <- Show bugcheck codes
# ============================================================
E

Error Medic Editorial

Error Medic Editorial is a team of senior DevOps engineers, SREs, and Windows systems administrators with combined decades of experience diagnosing OS-level failures, kernel panics, and hardware instability across enterprise and consumer environments. Our troubleshooting guides are built from real incident postmortems, manufacturer documentation, and hands-on lab testing — not guesswork.

Sources

Related Articles in Windows 10 Blue Screening

Explore More windows Guides