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.
- 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.
| Method | When to Use | Time | Risk |
|---|---|---|---|
| Read STOP code & Event Viewer | First step — always identify the error code before anything else | 5-10 min | None |
| SFC & DISM system file repair | Corrupted Windows files suspected; BSOD mentions ntoskrnl.exe or system files | 15-30 min | Very Low |
| Roll back / update drivers | BSOD started after a Windows Update, new hardware install, or driver update | 10-20 min | Low |
| Windows Memory Diagnostic / MemTest86 | Random BSODs with codes MEMORY_MANAGEMENT, IRQL_NOT_LESS_OR_EQUAL, or PAGE_FAULT_IN_NONPAGED_AREA | 30 min – 8 hrs | None |
| CHKDSK disk scan | BSODs with NTFS_FILE_SYSTEM or BAD_SYSTEM_CONFIG_INFO codes, or on old/spinning HDDs | 30-120 min | Low |
| Check temperatures & reseat hardware | BSODs under load, gaming, or during intensive tasks; PC shuts off randomly | 15-30 min | Low (if careful) |
| WinDbg kernel dump analysis | Recurring BSOD with unknown cause; need to pinpoint exact failing module | 20-40 min | None |
| Windows 10 Reset (keep files) | All software fixes exhausted; system still unstable | 1-2 hrs | Medium (backup first) |
| Clean Windows 10 reinstall | Reset did not resolve; possible deep OS or driver store corruption | 2-4 hrs | High (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:
- Driver-level bugs (most common, ~60% of cases)
- Hardware failure — RAM, storage, or overheating
- Windows system file corruption
- 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:
- Install WinDbg from the Microsoft Store or Windows SDK.
- Open the
.dmpfile fromC:\Windows\Minidump\. - Run the command
!analyze -vin the WinDbg command bar. - 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.
- Install WinDbg Preview from Microsoft Store.
- Configure symbol path: File → Settings → Debugging Settings → Symbol path:
srv*C:\Symbols*https://msdl.microsoft.com/download/symbols - Open File → Open Crash Dump → navigate to
C:\Windows\Minidump\→ select the most recent.dmpfile. - In the command window type:
!analyze -v - 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 driverntfs.sys→ File system corruption → CHKDSK + SFCwin32k.sys→ Windows kernel / graphics subsystem → Windows Update- Third-party AV
.sysfile → 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
# ============================================================
# 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"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
- https://learn.microsoft.com/en-us/windows-hardware/drivers/debugger/bug-check-code-reference
- https://learn.microsoft.com/en-us/windows/client-management/generate-kernel-or-complete-crash-dump
- https://support.microsoft.com/en-us/windows/blue-screen-of-death-bsod-errors-in-windows-10-0x0000007e
- https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/sfc
- https://stackoverflow.com/questions/tagged/bsod
- https://www.memtest86.com/technical.htm