Error Medic

Computer Keeps Blue Screening Windows 10: Complete Fix Guide (BSOD Troubleshooting)

Fix Windows 10 blue screen of death (BSOD) with step-by-step diagnostics: check drivers, RAM, disk, temps, and use WinDbg to pinpoint the root cause fast.

Last updated:
Last verified:
2,111 words
Key Takeaways
  • Faulty, outdated, or incompatible device drivers are the #1 cause of repeated BSODs on Windows 10 — especially after Windows Update or hardware changes.
  • Failing RAM, overheating CPUs/GPUs, corrupted system files, and bad disk sectors are the next most common hardware-side root causes of persistent blue screens.
  • Quick-fix priority order: note the STOP code shown on the blue screen → run 'sfc /scannow' and 'DISM /Online /Cleanup-Image /RestoreHealth' → roll back or update suspect drivers → run Windows Memory Diagnostic → check disk health with SMART data → if all else fails, perform a Windows 10 Reset keeping your files.
Fix Approaches Compared
MethodWhen to UseTimeRisk
Read STOP code & Event ViewerFirst step — always identify the error code before anything else5-10 minNone
SFC & DISM system file repairCorrupted Windows files suspected; BSOD mentions ntoskrnl.exe or system files15-30 minVery Low
Roll back / update driversBSOD started after a Windows Update, new hardware install, or driver update10-20 minLow
Windows Memory Diagnostic / MemTest86Random BSODs with codes MEMORY_MANAGEMENT, IRQL_NOT_LESS_OR_EQUAL, or PAGE_FAULT_IN_NONPAGED_AREA30 min – 8 hrsNone
CHKDSK disk scanBSODs with NTFS_FILE_SYSTEM or BAD_SYSTEM_CONFIG_INFO codes, or on old/spinning HDDs30-120 minLow
Check temperatures & reseat hardwareBSODs under load, gaming, or during intensive tasks; PC shuts off randomly15-30 minLow (if careful)
WinDbg kernel dump analysisRecurring BSOD with unknown cause; need to pinpoint exact failing module20-40 minNone
Windows 10 Reset (keep files)All software fixes exhausted; system still unstable1-2 hrsMedium (backup first)
Clean Windows 10 reinstallReset did not resolve; possible deep OS or driver store corruption2-4 hrsHigh (backup all data)

Understanding Why Windows 10 Keeps Blue Screening

A Blue Screen of Death (BSOD) — technically a Stop Error — occurs when Windows detects a fatal condition from which it cannot safely recover. The kernel halts execution to prevent data corruption. Every BSOD displays a STOP code (e.g., CRITICAL_PROCESS_DIED, SYSTEM_SERVICE_EXCEPTION, IRQL_NOT_LESS_OR_EQUAL) and writes a memory dump file to C:\Windows\Minidump\ that you can analyze later.

If your computer or laptop keeps blue screening on Windows 10 repeatedly — not just once — it nearly always indicates one of four categories:

  1. Driver-level bugs (most common, ~60% of cases)
  2. Hardware failure — RAM, storage, or overheating
  3. Windows system file corruption
  4. Malware or third-party software conflicts

Step 1: Record the STOP Code

The single most important piece of information is the STOP code displayed in large text on the blue screen. Examples:

  • SYSTEM_SERVICE_EXCEPTION (0x0000003B)
  • IRQL_NOT_LESS_OR_EQUAL (0x0000000A)
  • MEMORY_MANAGEMENT (0x0000001A)
  • CRITICAL_PROCESS_DIED (0x000000EF)
  • KMODE_EXCEPTION_NOT_HANDLED (0x0000001E)
  • PAGE_FAULT_IN_NONPAGED_AREA (0x00000050)
  • DRIVER_IRQL_NOT_LESS_OR_EQUAL (0x000000D1)

If the screen disappears too quickly, disable automatic restart: Settings → System → About → Advanced system settings → Startup and Recovery → uncheck "Automatically restart". Alternatively run this in an elevated PowerShell:

wmic recoveros set AutoReboot = False

Then open Event Viewer (run eventvwr.msc) → Windows Logs → System → filter for Critical events with source BugCheck to see recent BSOD records.


Step 2: Repair System Files with SFC and DISM

Corrupted system files are a frequent BSOD trigger. Open Command Prompt as Administrator and run:

sfc /scannow

Wait for it to complete. If it reports corruption it could not fix, run DISM next:

DISM /Online /Cleanup-Image /CheckHealth
DISM /Online /Cleanup-Image /ScanHealth
DISM /Online /Cleanup-Image /RestoreHealth

After DISM completes, run sfc /scannow again. Restart and monitor.


Step 3: Check and Update Drivers

Driver issues cause the majority of Windows 10 BSODs. The minidump file will often name the faulty .sys file — look for entries like nvlddmkm.sys (NVIDIA), atikmdag.sys (AMD GPU), iaStorA.sys (Intel RAID), or ntfs.sys.

To identify the driver from a minidump using WinDbg:

  1. Install WinDbg from the Microsoft Store or Windows SDK.
  2. Open the .dmp file from C:\Windows\Minidump\.
  3. Run the command !analyze -v in the WinDbg command bar.
  4. Look for the IMAGE_NAME and MODULE_NAME fields — these name the responsible driver.

To roll back a driver:

  • Open Device Manager (devmgmt.msc)
  • Right-click the suspect device → Properties → Driver tab → Roll Back Driver

To update all drivers from PowerShell (using PSWindowsUpdate module):

Install-Module PSWindowsUpdate -Force
Get-WindowsUpdate -MicrosoftUpdate -Install -AcceptAll

For display drivers specifically, download directly from NVIDIA, AMD, or Intel's website rather than relying on Windows Update.

Disable the problematic driver temporarily:

sc config <DriverServiceName> start= disabled

Step 4: Test RAM with Windows Memory Diagnostic

Faulty RAM causes BSODs with codes like MEMORY_MANAGEMENT, PAGE_FAULT_IN_NONPAGED_AREA, and IRQL_NOT_LESS_OR_EQUAL. Run the built-in tool:

mdsched.exe

Choose Restart now and check for problems. For a more thorough test, boot from a MemTest86 USB (https://www.memtest86.com) and run at least 2 full passes. If errors are found, test RAM sticks one at a time to isolate the faulty module.


Step 5: Check Disk Health

A failing drive — especially older HDDs — can corrupt system files and trigger BSODs. Run:

chkdsk C: /f /r /x

This requires a restart. Additionally, check SMART data:

Get-PhysicalDisk | Get-StorageReliabilityCounter | Select-Object -Property *

For detailed SMART output, use CrystalDiskInfo (free) or the manufacturer's diagnostic utility (Samsung Magician, Seagate SeaTools, WD Data Lifeguard).

For NVMe SSDs:

winsat disk -drive c

Step 6: Check Temperatures and Hardware

Thermal throttling and overheating cause random BSODs especially under load. Use HWiNFO64 or Core Temp to monitor:

  • CPU: should stay under 90°C under load (ideally under 80°C)
  • GPU: should stay under 85°C under load
  • NVMe SSD: should stay under 70°C

If temperatures are high:

  • Clean dust from vents and heatsinks (compressed air)
  • Reapply thermal paste on CPU if the system is 3+ years old
  • Ensure case airflow fans are functioning
  • For laptops: use a cooling pad and clean the exhaust vent

Also, reseat RAM sticks and GPU (if desktop) — a loose connection can cause intermittent BSODs.


Step 7: Analyze Minidump with WinDbg (Advanced)

For persistent BSODs that resist obvious fixes, kernel dump analysis is the definitive approach.

  1. Install WinDbg Preview from Microsoft Store.
  2. Configure symbol path: File → Settings → Debugging Settings → Symbol path: srv*C:\Symbols*https://msdl.microsoft.com/download/symbols
  3. Open File → Open Crash Dump → navigate to C:\Windows\Minidump\ → select the most recent .dmp file.
  4. In the command window type: !analyze -v
  5. Review STACK_TEXT for the call stack and IMAGE_NAME for the offending module.

Common findings and actions:

  • nvlddmkm.sys → NVIDIA driver issue → DDU uninstall + clean reinstall of GPU driver
  • ntfs.sys → File system corruption → CHKDSK + SFC
  • win32k.sys → Windows kernel / graphics subsystem → Windows Update
  • Third-party AV .sys file → Temporarily uninstall antivirus and test

Step 8: Last Resort — Reset or Reinstall Windows 10

If all the above steps fail to resolve recurring BSODs:

Option A — Reset keeping files: Settings → Update & Security → Recovery → Reset this PC → Keep my files

Option B — Clean reinstall: Download the Windows 10 Media Creation Tool, create a bootable USB, and perform a fresh install. Back up all data first.

Before resetting, run:

dxdiag /t C:\dxdiag_output.txt

This saves your hardware/driver info so you know what to reinstall afterward.

Frequently Asked Questions

powershell
# ============================================================
# Windows 10 BSOD Diagnostic & Repair Script
# Run in elevated PowerShell (Run as Administrator)
# ============================================================

Write-Host "=== Step 1: Collecting recent BSOD events from Event Log ==="
Get-WinEvent -FilterHashtable @{LogName='System'; Id=41,1001,6008} -MaxEvents 20 |
  Select-Object TimeCreated, Id, Message |
  Format-List

Write-Host "`n=== Step 2: Listing minidump files ==="
$dumpPath = "C:\Windows\Minidump"
if (Test-Path $dumpPath) {
    Get-ChildItem $dumpPath -Filter "*.dmp" | Sort-Object LastWriteTime -Descending | Select-Object -First 10
} else {
    Write-Host "No minidump directory found. Ensure small memory dumps are enabled."
    Write-Host "To enable: wmic recoveros set DebugInfoType = 3"
}

Write-Host "`n=== Step 3: Checking if Automatic Restart on BSOD is disabled ==="
$regPath = "HKLM:\SYSTEM\CurrentControlSet\Control\CrashControl"
$autoReboot = (Get-ItemProperty $regPath).AutoReboot
if ($autoReboot -eq 1) {
    Write-Host "AutoReboot is ON. Setting to OFF so you can read the STOP code..."
    Set-ItemProperty $regPath -Name AutoReboot -Value 0
} else {
    Write-Host "AutoReboot is already OFF. Good."
}

Write-Host "`n=== Step 4: Running SFC (System File Checker) ==="
sfc /scannow

Write-Host "`n=== Step 5: Running DISM to repair Windows image ==="
DISM /Online /Cleanup-Image /RestoreHealth

Write-Host "`n=== Step 6: Checking disk for errors (schedules on next reboot) ==="
# Note: /f fixes errors, /r locates bad sectors (takes longer)
echo Y | chkdsk C: /f /r
Write-Host "CHKDSK scheduled for next reboot."

Write-Host "`n=== Step 7: Checking drive SMART/reliability data ==="
Get-PhysicalDisk | ForEach-Object {
    $disk = $_
    Write-Host "Disk: $($disk.FriendlyName) | Status: $($disk.HealthStatus) | Size: $([math]::Round($disk.Size/1GB,1)) GB"
    $disk | Get-StorageReliabilityCounter | Select-Object ReadErrorsTotal, WriteErrorsTotal, Temperature, Wear
}

Write-Host "`n=== Step 8: Listing recently installed or changed drivers ==="
Get-WinEvent -FilterHashtable @{LogName='System'; ProviderName='Service Control Manager'} -MaxEvents 50 |
  Where-Object { $_.Message -match 'driver' } |
  Select-Object TimeCreated, Message |
  Format-List

Write-Host "`n=== Step 9: Checking for Windows Updates ==="
if (Get-Module -ListAvailable -Name PSWindowsUpdate) {
    Import-Module PSWindowsUpdate
    Get-WindowsUpdate -MicrosoftUpdate
} else {
    Write-Host "PSWindowsUpdate module not installed. Run: Install-Module PSWindowsUpdate -Force"
    Write-Host "Then run: Get-WindowsUpdate -MicrosoftUpdate -Install -AcceptAll"
}

Write-Host "`n=== Step 10: Exporting DirectX diagnostic info ==="
Start-Process dxdiag -ArgumentList "/t C:\dxdiag_output.txt" -Wait
Write-Host "DxDiag saved to C:\dxdiag_output.txt"

Write-Host "`n=== Diagnostic Complete. Review output above and check C:\Windows\Minidump\ ==="
Write-Host "For driver analysis, open WinDbg, load the .dmp file, and run: !analyze -v"
E

Error Medic Editorial

The Error Medic Editorial team is composed of senior DevOps engineers, Windows system administrators, and SRE practitioners with 10+ years of experience diagnosing and resolving operating system failures, kernel panics, and infrastructure incidents. Our guides are validated against real-world systems and official Microsoft documentation to ensure accuracy and actionability.

Sources

Related Articles in Windows 10 Blue Screening

Explore More windows Guides