Error Medic

BSOD Windows 10: Complete Fix Guide for All Blue Screen Stop Errors (ntoskrnl.exe, Memory Management, dxgkrnl.sys & More)

Fix BSOD Windows 10 errors including ntoskrnl.exe, memory_management, dxgkrnl.sys, and kernel security check failure. Step-by-step diagnostic commands included.

Last updated:
Last verified:
2,374 words
Key Takeaways
  • Most BSODs on Windows 10 are caused by faulty RAM, corrupt system files, outdated or incompatible drivers (especially GPU, network, and storage drivers), or failing hardware such as an SSD/HDD with bad sectors.
  • Driver-related BSODs (dxgkrnl.sys, fltmgr.sys, ndis.sys, netio.sys, ntoskrnl.exe, ntkrnlmp.exe) account for over 70% of all Windows 10 blue screen crashes and can usually be resolved by updating, rolling back, or cleanly reinstalling the offending driver.
  • Quick fix summary: Run 'sfc /scannow' and 'DISM /Online /Cleanup-Image /RestoreHealth' to repair system files, use WinDbg or WhoCrashed to identify the exact crash module from minidump files, update all drivers via Device Manager or OEM tools, and run Windows Memory Diagnostic or MemTest86 to rule out RAM faults.
Fix Approaches Compared
MethodWhen to UseTimeRisk
sfc /scannow + DISMCorrupt system files, ntoskrnl.exe or ntkrnlmp.exe BSODs15-30 minLow
Driver rollback / updatedxgkrnl.sys, fltmgr.sys, ndis.sys, netio.sys, syntp.sys crashes10-20 minLow
Windows Memory Diagnostic / MemTest86memory_management BSOD, RESOURCE_NOT_OWNED, random BSODs30 min - 8 hrsNone
Check Disk (chkdsk /f /r)partmgr.sys, rdbss.sys, npfs.sys, storage-related BSODs1-4 hrsLow
Clean boot / driver verifierDiagnosing intermittent or random BSODs30-60 minMedium
BIOS/UEFI firmware updatepshed.dll, hardlock.sys, Lenovo-specific BSODs20-40 minMedium
Windows 10 in-place upgrade repairPersistent BSODs not resolved by sfc or DISM1-2 hrsMedium
Full Windows reinstallAll fixes exhausted, hardware confirmed good2-4 hrsHigh (data loss risk)

Understanding BSOD Errors on Windows 10

A Blue Screen of Death (BSOD) — technically called a Stop Error — occurs when Windows 10 encounters a fatal condition it cannot recover from, typically a kernel-mode fault. The system writes a minidump to C:\Windows\Minidump\ and displays a stop code such as:

  • MEMORY_MANAGEMENT (0x0000001A)
  • KERNEL_SECURITY_CHECK_FAILURE (0x00000139)
  • RESOURCE_NOT_OWNED (0xE3)
  • SYSTEM_SERVICE_EXCEPTION referencing dxgkrnl.sys, fltmgr.sys, ntoskrnl.exe
  • IRQL_NOT_LESS_OR_EQUAL referencing ndis.sys or netio.sys
  • PAGE_FAULT_IN_NONPAGED_AREA referencing ntkrnlmp.exe or partmgr.sys

Understanding which module caused the crash is the most critical first step.


Step 1: Identify the Crash Module from Minidump

Windows stores crash dumps in C:\Windows\Minidump. You can analyze them with WinDbg or the free tool WhoCrashed.

Using WinDbg (Windows Debugger):

  1. Install WinDbg from the Microsoft Store or the Windows SDK.
  2. Open WinDbg and go to File > Open Crash Dump, then navigate to C:\Windows\Minidump\ and select the most recent .dmp file.
  3. In the command window, type: !analyze -v
  4. Look for lines like FAULTING_MODULE, IMAGE_NAME, and MODULE_NAME. These will identify the exact driver or executable (e.g., ntoskrnl.exe, dxgkrnl.sys, ndis.sys).

Using Event Viewer for a quick look:

  1. Press Win + X and select Event Viewer.
  2. Navigate to Windows Logs > System.
  3. Filter by Critical and Error level events around the time of the crash.
  4. Look for source BugCheck with the stop code.

Step 2: Diagnose the Root Cause by Stop Code

ntoskrnl.exe / ntkrnlmp.exe BSOD

These are core Windows kernel executables. A BSOD blaming ntoskrnl.exe or ntkrnlmp.exe usually means the real culprit is a third-party driver or faulty RAM that is corrupting kernel memory. Run sfc /scannow, update all drivers, and test RAM.

MEMORY_MANAGEMENT (memory_management BSOD Windows 10)

Stop code 0x0000001A. Primary causes: bad RAM sticks, overclocking instability, or a corrupt page file. Run Windows Memory Diagnostic (mdsched.exe) or MemTest86 for multiple passes. Also verify your pagefile settings: Control Panel > System > Advanced > Performance Settings > Advanced > Virtual Memory.

KERNEL_SECURITY_CHECK_FAILURE

Stop code 0x00000139. Caused by a driver overwriting protected kernel memory. Often triggered by antivirus drivers, VPN clients, or Synaptics touchpad drivers (syntp.sys). Boot into Safe Mode and uninstall recently added software or drivers.

dxgkrnl.sys BSOD Windows 10

This is the DirectX Graphics Kernel. Crashes here indicate GPU driver issues or hardware faults. Clean-uninstall your GPU driver using DDU (Display Driver Uninstaller) in Safe Mode, then reinstall the latest stable driver from NVIDIA, AMD, or Intel.

fltmgr.sys BSOD Windows 10

The Filter Manager handles file system filter drivers (antivirus, backup software). Update or uninstall conflicting security software. Run fltMC.exe in an elevated command prompt to list active filters.

ndis.sys / netio.sys BSOD Windows 10

Network-related crashes. Update your network adapter drivers. If you use a VPN or packet-filtering software, disable it temporarily. For wireless adapters, also update the wireless adapter driver via Device Manager.

hardlock.sys BSOD Windows 10

This is Sentinel HASP/Gemalto hardware lock driver used for software licensing dongles. Update or uninstall the Sentinel driver via Add/Remove Programs if the dongle is not in use.

pshed.dll BSOD Windows 10

Platform Specific Hardware Error Driver. Indicates hardware-level errors reported by the platform firmware. Update your BIOS/UEFI firmware from the manufacturer's website. Also check Windows Event Viewer under Applications and Services Logs > Microsoft > Windows > WHEA-Logger for hardware error details.

partmgr.sys BSOD Windows 10

Partition Manager. Often linked to disk errors or failing drives. Run chkdsk C: /f /r and check SMART data with CrystalDiskInfo.

rdbss.sys / npfs.sys BSOD Windows 10

Redirected Drive Buffering / Named Pipe File System. These crashes are often network share or SMB-related. Ensure your SMB client is up to date and check for pending Windows Updates.

syntp.sys BSOD Windows 10

Synaptics touchpad driver, common on laptops including Lenovo. Update via Lenovo System Update or download the latest driver from Synaptics/your OEM.

Lenovo BSOD Windows 10

Lenovo-specific BSODs often involve syntp.sys, Intel Management Engine drivers, or Lenovo Vantage conflicts. Use Lenovo System Update to update all firmware and drivers. Check BIOS updates specifically.

RESOURCE_NOT_OWNED BSOD Windows 10

Stop code 0xE3. A thread tried to release a resource it doesn't own. Often caused by a buggy third-party driver. Use Driver Verifier to identify the offender (see commands in the code block section).

random BSOD Windows 10 / frequent BSOD Windows 10

Random or frequent BSODs with varying stop codes point to RAM instability, power supply issues, overheating, or a failing drive. Run MemTest86, monitor temperatures with HWMonitor, and check PSU rails.


Step 3: Apply Targeted Fixes

Fix 1 — Repair System Files
sfc /scannow
DISM /Online /Cleanup-Image /CheckHealth
DISM /Online /Cleanup-Image /ScanHealth
DISM /Online /Cleanup-Image /RestoreHealth

Reboot after completion.

Fix 2 — Update or Roll Back Drivers
  1. Press Win + X > Device Manager.
  2. Expand the category of the suspected driver (Display, Network, Human Interface Devices).
  3. Right-click the device > Update driver or Roll Back Driver.
  4. For GPU drivers use DDU in Safe Mode for a clean reinstall.
Fix 3 — Run Memory Diagnostic

Press Win + R, type mdsched.exe, and choose Restart now and check for problems. For more thorough testing, use MemTest86 bootable USB.

Fix 4 — Check Disk Health

Open an elevated Command Prompt:

chkdsk C: /f /r /x

Schedule for next reboot and review results in Event Viewer > Application > Source: Wininit.

Fix 5 — Use Driver Verifier to Find Rogue Drivers

Enable Driver Verifier in an elevated Command Prompt:

verifier /standard /all

Reboot. When a BSOD occurs, the stop code will now directly name the faulty driver. Disable verifier after identifying the driver:

verifier /reset
Fix 6 — Update BIOS/UEFI Firmware

For Lenovo: Use Lenovo Vantage or visit support.lenovo.com. For ASUS, Dell, HP: Visit the manufacturer's support site, enter your model, and download the latest BIOS update.

Fix 7 — Perform a Windows 10 In-Place Upgrade

If all else fails without a full wipe, download the Windows 10 Media Creation Tool from Microsoft, run setup.exe, and choose Upgrade this PC now while keeping files and apps. This reinstalls Windows system files without deleting your data.


Step 4: Verify the Fix

After applying fixes, monitor system stability:

  • Use Reliability Monitor (perfmon /rel) to view crash history.
  • Check Event Viewer > Windows Logs > System for new BugCheck events.
  • Run the system under load (gaming, video export, large file transfers) to stress test.
  • If you enabled Driver Verifier, disable it once the problematic driver is fixed to avoid performance overhead.

Frequently Asked Questions

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

# --- Step 1: Export recent crash dump info ---
Write-Host "=== Recent Minidump Files ==="
Get-ChildItem -Path "C:\Windows\Minidump" -Filter "*.dmp" | Sort-Object LastWriteTime -Descending | Select-Object -First 10 | Format-Table Name, LastWriteTime, Length -AutoSize

# --- Step 2: Check Event Log for BugCheck events (BSODs) ---
Write-Host ""
Write-Host "=== Last 10 BSOD Events from Event Log ==="
Get-WinEvent -FilterHashtable @{LogName='System'; Id=1001; ProviderName='Microsoft-Windows-WER-SystemErrorReporting'} -MaxEvents 10 | Select-Object TimeCreated, Message | Format-List

# --- Step 3: Run System File Checker ---
Write-Host ""
Write-Host "=== Running SFC (System File Checker) ==="
sfc /scannow

# --- Step 4: Run DISM to repair component store ---
Write-Host ""
Write-Host "=== Running DISM Health Check & Restore ==="
DISM /Online /Cleanup-Image /CheckHealth
DISM /Online /Cleanup-Image /RestoreHealth

# --- Step 5: Check disk for errors (schedules on next reboot) ---
Write-Host ""
Write-Host "=== Scheduling CHKDSK on C: for next reboot ==="
cmd /c "echo Y | chkdsk C: /f /r /x"

# --- Step 6: List all active Filter Manager filters (fltmgr.sys diagnosis) ---
Write-Host ""
Write-Host "=== Active File System Filter Drivers (fltMC) ==="
fltMC.exe

# --- Step 7: Get driver list sorted by date (find recently updated/installed drivers) ---
Write-Host ""
Write-Host "=== Drivers sorted by install date (most recent first) ==="
Get-WmiObject Win32_PnPSignedDriver | Where-Object { $_.DriverDate -ne $null } | Sort-Object DriverDate -Descending | Select-Object DeviceName, DriverVersion, DriverDate, InfName | Format-Table -AutoSize | Select-Object -First 20

# --- Step 8: Check for pending Windows Updates ---
Write-Host ""
Write-Host "=== Checking Windows Update status ==="
Get-WindowsUpdateLog

# --- Step 9: Enable Driver Verifier for all non-Microsoft drivers (advanced) ---
# WARNING: This will cause BSODs if a faulty driver is present.
# Only enable if you need to identify the exact problematic driver.
# Disable with: verifier /reset  (then reboot)
Write-Host ""
Write-Host "=== To ENABLE Driver Verifier (uncomment next line) ==="
# verifier /standard /all
Write-Host "=== To DISABLE Driver Verifier (uncomment next line) ==="
# verifier /reset

# --- Step 10: Check SMART disk health via CIM ---
Write-Host ""
Write-Host "=== Disk SMART Status ==="
Get-WmiObject -Namespace root\wmi -Class MSStorageDriver_FailurePredictStatus | Select-Object InstanceName, PredictFailure, Reason | Format-Table -AutoSize

# --- Step 11: Check system uptime and crash frequency ---
Write-Host ""
Write-Host "=== System Uptime ==="
(Get-Date) - (gcim Win32_OperatingSystem).LastBootUpTime

# --- Step 12: Memory diagnostic (schedules on reboot) ---
Write-Host ""
Write-Host "=== Scheduling Windows Memory Diagnostic on next reboot ==="
# Uncomment to schedule:
# mdsched.exe

Write-Host ""
Write-Host "=== Diagnostics complete. Review output above. ==="
Write-Host "=== Analyze .dmp files with WinDbg using command: !analyze -v ==="
E

Error Medic Editorial

The Error Medic Editorial team consists of senior DevOps engineers, SREs, and Windows system administrators with 10+ years of experience diagnosing and resolving critical system failures across enterprise and consumer environments. We specialize in translating complex kernel-level errors into actionable, step-by-step remediation guides backed by official documentation and real-world debugging experience.

Sources

Related Articles in Windows 10 Bsod Windows

Explore More windows Guides