Error Medic

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.

Last updated:
Last verified:
2,363 words
Key Takeaways
  • 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.
Fix Approaches Compared
MethodWhen to UseTimeRisk
SFC /scannow + DISMCorrupt system files, ntoskrnl.exe or ntkrnlmp.exe BSODs10-30 minLow
Driver Rollback / Updatedxgkrnl.sys, fltmgr.sys, ndis.sys, netio.sys, syntp.sys BSODs15-45 minLow-Medium
MemTest86 RAM TestMEMORY_MANAGEMENT, random or frequent BSODs2-8 hoursNone
Driver VerifierIdentifying which driver causes intermittent BSODs30 min + reboot cycleMedium (may cause intentional BSOD)
CHKDSK /f /rpartmgr.sys, rdbss.sys, disk-related stop errors1-4 hoursLow
Clean Boot / Safe ModeIsolating third-party software conflicts (hardlock.sys, npfs.sys)20-40 minNone
Windows Reset / Repair InstallPersistent BSODs unresolved by all other methods1-3 hoursMedium (data risk if not backed up)
BIOS/UEFI Firmware Updatepshed.dll, hardware-level errors, Lenovo-specific BSODs30-60 minMedium-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)

  1. Install WinDbg from the Windows SDK or Microsoft Store (Windows Debugger).
  2. Open WinDbg → File → Open Crash Dump → navigate to C:\Windows\Minidump\
  3. In the command window type: !analyze -v
  4. Look for MODULE_NAME, FAULTING_MODULE, and STACK_TEXT in 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 reset and netsh 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 /scannow and 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.

  1. Windows Memory Diagnostic (quick test): Win+Rmdsched.exe → Restart now and check for problems
  2. MemTest86 (thorough): Download from memtest86.com, create bootable USB, run all tests for at least 2 passes
  3. If errors found: remove RAM sticks one at a time, test each slot and each DIMM individually
  4. Reseat RAM and clean gold contacts with isopropyl alcohol
  5. 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:

  1. Download the Windows 10 ISO from microsoft.com/software-download/windows10
  2. Mount the ISO → Run Setup.exe → Upgrade this PC now → Keep personal files and apps
  3. 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

powershell
# ============================================================
# 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 Green
E

Error 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

Related Articles in Windows 10 Bsod Windows

Explore More windows Guides