BSOD Windows 10: Complete Troubleshooting Guide for All Stop Errors (ntoskrnl.exe, MEMORY_MANAGEMENT, KERNEL_SECURITY_CHECK_FAILURE & More)
Fix BSOD Windows 10 errors including ntoskrnl.exe, memory_management, dxgkrnl.sys & more. Step-by-step diagnostic commands and proven fixes included.
- Most Windows 10 BSODs are caused by faulty RAM, corrupt drivers (ntoskrnl.exe, dxgkrnl.sys, fltmgr.sys, ndis.sys), overheating hardware, or corrupt system files.
- Driver conflicts and outdated firmware are the leading cause of stop errors like KERNEL_SECURITY_CHECK_FAILURE, MEMORY_MANAGEMENT, and RESOURCE_NOT_OWNED.
- Run WinDbg or WhoCrashed to read minidump files, then use SFC /scannow, DISM, MemTest86, and Driver Verifier to isolate and fix the root cause.
- Lenovo-specific BSODs (syntp.sys, hardlock.sys) are often resolved by updating Lenovo System Update drivers or rolling back recent BIOS updates.
- Random or frequent BSODs with no consistent stop code usually indicate hardware instability — test RAM, check disk health with CHKDSK, and verify CPU/GPU temperatures.
| Method | When to Use | Time | Risk |
|---|---|---|---|
| SFC /scannow + DISM | Corrupt system files, ntoskrnl.exe or ntkrnlmp.exe BSODs | 10-30 min | Low |
| Driver Rollback / Update | dxgkrnl.sys, fltmgr.sys, ndis.sys, netio.sys, syntp.sys BSODs | 15-45 min | Low-Medium |
| MemTest86 RAM Test | MEMORY_MANAGEMENT, random or frequent BSODs | 2-8 hours | None |
| Driver Verifier | Identifying which driver causes intermittent BSODs | 30 min + reboot cycle | Medium (may cause intentional BSOD) |
| CHKDSK /f /r | partmgr.sys, rdbss.sys, disk-related stop errors | 1-4 hours | Low |
| Clean Boot / Safe Mode | Isolating third-party software conflicts (hardlock.sys, npfs.sys) | 20-40 min | None |
| Windows Reset / Repair Install | Persistent BSODs unresolved by all other methods | 1-3 hours | Medium (data risk if not backed up) |
| BIOS/UEFI Firmware Update | pshed.dll, hardware-level errors, Lenovo-specific BSODs | 30-60 min | Medium-High |
Understanding Windows 10 Blue Screen of Death (BSOD)
A Blue Screen of Death (BSOD), also known as a Stop Error or Bug Check, occurs when Windows 10 encounters a fatal condition from which it cannot safely recover. The system halts, displays a blue screen with a stop code and QR code, writes a minidump file to C:\Windows\Minidump\, and reboots. Understanding the stop code and the faulting module is the critical first step to a permanent fix.
Common stop codes you will encounter include:
- MEMORY_MANAGEMENT (0x0000001A) — memory subsystem integrity violation
- KERNEL_SECURITY_CHECK_FAILURE (0x00000139) — data structure corruption detected by kernel
- RESOURCE_NOT_OWNED (0x0000009F) — driver released a resource it never acquired
- SYSTEM_SERVICE_EXCEPTION (0x0000003B) — exception in system service routine
- PAGE_FAULT_IN_NONPAGED_AREA (0x00000050) — invalid memory reference
Key faulting modules tied to Windows 10 BSODs:
- ntoskrnl.exe / ntkrnlmp.exe — Windows kernel itself; often indicates RAM, driver, or pagefile corruption
- dxgkrnl.sys — DirectX graphics kernel; GPU driver or overclocking issue
- fltmgr.sys — File System Filter Manager; antivirus or backup software conflict
- ndis.sys / netio.sys — Network drivers; faulty NIC drivers or VPN software
- syntp.sys — Synaptics touchpad driver (common on Lenovo laptops)
- hardlock.sys — HASP/Sentinel hardware dongle driver; uninstall if dongle not in use
- partmgr.sys — Partition manager; disk controller or storage driver issue
- pshed.dll — Platform Specific Hardware Error Driver; hardware/firmware fault
- rdbss.sys — Redirected Drive Buffering Subsystem; SMB/network share issue
- npfs.sys — Named Pipe File System; inter-process communication corruption
Step 1: Read the Minidump to Identify the Root Cause
Before applying any fix, identify exactly which driver or component is responsible.
Option A: Use WinDbg (Microsoft's official debugger)
- Install WinDbg from the Windows SDK or Microsoft Store (Windows Debugger).
- Open WinDbg → File → Open Crash Dump → navigate to
C:\Windows\Minidump\ - In the command window type:
!analyze -v - Look for
MODULE_NAME,FAULTING_MODULE, andSTACK_TEXTin the output.
Option B: Use WhoCrashed (GUI alternative) Download from resplendence.com, run as Administrator, and click Analyze. It will identify the faulting driver in plain English.
Option C: Event Viewer
Press Win+X → Event Viewer → Windows Logs → System. Filter by Critical errors around the BSOD timestamp.
Step 2: Repair Corrupt System Files (ntoskrnl.exe, ntkrnlmp.exe)
If the faulting module is ntoskrnl.exe or ntkrnlmp.exe, the Windows kernel image itself may be corrupt.
Run SFC and DISM in sequence:
DISM /Online /Cleanup-Image /RestoreHealth
sfc /scannow
Reboot after both complete. If SFC reports it cannot fix certain files, run DISM first to repair the repair source, then repeat SFC.
Step 3: Fix Driver-Specific BSODs
dxgkrnl.sys (GPU/DirectX BSOD)
- Open Device Manager → Display Adapters → right-click GPU → Update Driver
- If recently updated, roll back: Properties → Driver tab → Roll Back Driver
- For NVIDIA: use DDU (Display Driver Uninstaller) in Safe Mode, then install the previous stable driver from nvidia.com
- Disable GPU overclocking in MSI Afterburner or NVIDIA Control Panel
fltmgr.sys (File System Filter BSOD)
- Usually caused by antivirus, backup, or encryption software
- Boot into Safe Mode (press F8 or Shift+Restart → Troubleshoot → Advanced → Startup Settings)
- Temporarily disable/uninstall third-party antivirus and test stability
- Update or reinstall the conflicting filter driver
ndis.sys / netio.sys (Network BSOD)
- Update your NIC driver: Device Manager → Network Adapters → Update Driver
- If using VPN software (OpenVPN, Cisco AnyConnect), update or uninstall it
- Reset TCP/IP stack:
netsh int ip resetandnetsh winsock reset
syntp.sys / Lenovo-specific BSODs
- Open Lenovo System Update and install all pending updates
- In Device Manager → Mice and other pointing devices → Synaptics HID TouchPad → right-click → Update Driver or Uninstall Device
- Alternatively, use the generic Windows touchpad driver to replace syntp.sys
hardlock.sys (HASP Dongle Driver BSOD)
- This driver belongs to SafeNet HASP/Sentinel licensing software
- If you no longer use a hardware dongle, uninstall: Control Panel → Programs → Uninstall Sentinel Runtime or HASP
- If required, update from safenet-inc.com
partmgr.sys / rdbss.sys (Storage/SMB BSOD)
- Run CHKDSK:
chkdsk C: /f /r /x(schedule for next reboot) - Update storage controller drivers (Intel RST, AMD RAID, etc.)
- For rdbss.sys: disconnect mapped network drives and test; update SMB client
pshed.dll (Platform Hardware Error Driver)
- This indicates a firmware-level hardware fault
- Update BIOS/UEFI firmware from your motherboard or laptop manufacturer's website
- Check Windows Event Viewer → Applications and Services Logs → Microsoft → Windows → WHEA-Logger for hardware error records
npfs.sys (Named Pipe File System)
- Often triggered by malware or corrupt inter-process communication
- Run
sfc /scannowand Windows Defender full scan - Check for rootkits with Malwarebytes or Microsoft's Malicious Software Removal Tool
Step 4: Test RAM for MEMORY_MANAGEMENT BSODs
The MEMORY_MANAGEMENT (0x1A) and KERNEL_SECURITY_CHECK_FAILURE (0x139) stop codes frequently originate from faulty RAM.
- Windows Memory Diagnostic (quick test):
Win+R→mdsched.exe→ Restart now and check for problems - MemTest86 (thorough): Download from memtest86.com, create bootable USB, run all tests for at least 2 passes
- If errors found: remove RAM sticks one at a time, test each slot and each DIMM individually
- Reseat RAM and clean gold contacts with isopropyl alcohol
- Ensure XMP/DOCP profile in BIOS matches your RAM's rated speed
Step 5: Use Driver Verifier for Random or Frequent BSODs
When the BSOD stop code is inconsistent, Driver Verifier forces faulty drivers to crash immediately rather than causing silent corruption.
Warning: This will likely cause additional BSODs — use on a non-production machine or have a recovery plan.
# Launch Driver Verifier
verifier
# Select: Create standard settings → Select driver names from a list
# Choose all non-Microsoft drivers → Finish → Reboot
# After BSOD occurs, check the minidump — the faulting driver will be identified
# To disable Driver Verifier after identification:
verifier /reset
Step 6: Check Thermals and Hardware
Frequent or random BSODs under load (gaming, rendering, compiling) often indicate overheating.
- Download HWMonitor or Core Temp to check CPU/GPU temperatures
- CPU should not exceed 90°C sustained; GPU typically 85°C max
- Clean dust from heatsinks and replace thermal paste if CPU is 3+ years old
- Underclock/undervolt GPU if temperatures are high
- For Lenovo laptops: check Lenovo Vantage for thermal management settings
Step 7: Last Resort — Windows Repair Install or Reset
If all above steps fail, perform an in-place upgrade repair install to replace all Windows system files while preserving your files and most applications:
- Download the Windows 10 ISO from microsoft.com/software-download/windows10
- Mount the ISO → Run Setup.exe → Upgrade this PC now → Keep personal files and apps
- This replaces corrupted kernel and system files without a full wipe
Alternatively: Settings → Update & Security → Recovery → Reset this PC → Keep my files.
Frequently Asked Questions
# ============================================================
# Windows 10 BSOD Diagnostic & Fix Script
# Run as Administrator in PowerShell
# ============================================================
# --- 1. List recent minidump files ---
Write-Host "`n[1] Recent Minidump Files:" -ForegroundColor Cyan
Get-ChildItem -Path "C:\Windows\Minidump" -Filter "*.dmp" -ErrorAction SilentlyContinue |
Sort-Object LastWriteTime -Descending | Select-Object -First 10 | Format-Table Name, LastWriteTime, Length
# --- 2. Check Event Viewer for BugCheck (BSOD) events ---
Write-Host "`n[2] Recent BugCheck Events (BSODs):" -ForegroundColor Cyan
Get-WinEvent -FilterHashtable @{LogName='System'; Id=41} -MaxEvents 10 -ErrorAction SilentlyContinue |
Select-Object TimeCreated, Message | Format-List
# --- 3. Run System File Checker ---
Write-Host "`n[3] Running SFC (System File Checker)..." -ForegroundColor Cyan
sfc /scannow
# --- 4. Run DISM to repair the Windows image ---
Write-Host "`n[4] Running DISM to restore Windows health..." -ForegroundColor Cyan
DISM /Online /Cleanup-Image /ScanHealth
DISM /Online /Cleanup-Image /RestoreHealth
# --- 5. Schedule CHKDSK on C: for next reboot ---
Write-Host "`n[5] Scheduling CHKDSK on C: drive..." -ForegroundColor Cyan
echo Y | chkdsk C: /f /r /x
# --- 6. Reset TCP/IP stack (for ndis.sys / netio.sys BSODs) ---
Write-Host "`n[6] Resetting TCP/IP and Winsock..." -ForegroundColor Cyan
netsh int ip reset
netsh winsock reset
# --- 7. List installed non-Microsoft drivers (potential BSOD suspects) ---
Write-Host "`n[7] Non-Microsoft Kernel Drivers Loaded:" -ForegroundColor Cyan
Get-WmiObject Win32_SystemDriver | Where-Object { $_.PathName -notlike '*\System32\drivers\*' -or $_.Manufacturer -notlike '*Microsoft*' } |
Select-Object Name, DisplayName, PathName, State | Format-Table -AutoSize
# --- 8. Check for recently installed drivers ---
Write-Host "`n[8] Drivers Installed in Last 30 Days:" -ForegroundColor Cyan
$cutoff = (Get-Date).AddDays(-30)
Get-WinEvent -LogName 'Microsoft-Windows-Kernel-PnP/Configuration' -ErrorAction SilentlyContinue |
Where-Object { $_.TimeCreated -gt $cutoff -and $_.Id -eq 400 } |
Select-Object -First 20 TimeCreated, Message | Format-List
# --- 9. Check memory (quick) ---
Write-Host "`n[9] Scheduling Windows Memory Diagnostic..." -ForegroundColor Cyan
# Uncomment to auto-schedule:
# mdsched.exe
Write-Host "Run mdsched.exe manually and select 'Restart now and check for problems'"
# --- 10. Enable Driver Verifier on non-MS drivers (WARNING: may cause BSODs) ---
Write-Host "`n[10] To enable Driver Verifier (run in CMD as Admin):" -ForegroundColor Yellow
Write-Host " verifier /standard /all"
Write-Host " To disable: verifier /reset"
Write-Host " Then reboot and wait for a BSOD to identify the faulty driver."
# --- 11. Export system info for offline analysis ---
Write-Host "`n[11] Exporting system info to Desktop..." -ForegroundColor Cyan
Get-ComputerInfo | Out-File "$env:USERPROFILE\Desktop\system_info.txt"
Write-Host "Saved to Desktop\system_info.txt"
Write-Host "`n[DONE] Review output above and check C:\Windows\Minidump\ with WinDbg or WhoCrashed." -ForegroundColor GreenError Medic Editorial
The Error Medic Editorial team consists of senior DevOps engineers, SREs, and Windows systems administrators with 10+ years of experience diagnosing and resolving Windows stop errors, kernel panics, and system crashes across enterprise and consumer environments. Our guides are based on hands-on lab testing, official Microsoft documentation, and real-world incident response. We specialize in translating cryptic stop codes into actionable, step-by-step fixes that any skill level can follow.
Sources
- https://learn.microsoft.com/en-us/windows-hardware/drivers/debugger/bug-check-code-reference2
- https://learn.microsoft.com/en-us/windows-hardware/drivers/devtest/driver-verifier
- https://learn.microsoft.com/en-us/windows/client-management/windows-10-bug-check-0x1a-memory-management
- https://support.microsoft.com/en-us/windows/use-startup-repair-to-fix-startup-problems-in-windows-10-9f2f86f9-2b78-4fdb-9b5a-0ad7c1f7e3a1
- https://stackoverflow.com/questions/tagged/bsod+windows-10
- https://answers.microsoft.com/en-us/windows/forum/all/bsod-windows-10-ntoskrnlexe/
- https://www.memtest86.com/technical.htm