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 diagnosis and repair commands included.
- Most BSODs on Windows 10 are caused by faulty RAM, corrupt drivers, overheating hardware, or damaged system files — identifying the stop code is the first critical step.
- Driver-related BSODs (dxgkrnl.sys, fltmgr.sys, ntoskrnl.exe, ndis.sys, netio.sys) typically stem from outdated, incompatible, or corrupt kernel-mode drivers that crash the OS to prevent data corruption.
- Memory-related BSODs (MEMORY_MANAGEMENT, RESOURCE_NOT_OWNED, KERNEL_SECURITY_CHECK_FAILURE) usually point to defective RAM sticks, incorrect XMP/DOCP profiles, or memory corruption caused by malware.
- Quick fix summary: Boot into Safe Mode, run 'sfc /scannow' and 'DISM /RestoreHealth', check Event Viewer for the faulting module, update or roll back the offending driver, and run Windows Memory Diagnostic or MemTest86 if RAM is suspected.
- Lenovo-specific BSODs (syntp.sys, hardlock.sys) are frequently caused by Synaptics touchpad drivers or Sentinel hardware key drivers that conflict with Windows 10 updates — updating or uninstalling these drivers resolves most cases.
| Method | When to Use | Time | Risk |
|---|---|---|---|
| SFC + DISM System File Repair | Corrupted system files, ntoskrnl.exe or ntkrnlmp.exe BSODs | 15–45 min | Low |
| Driver Rollback / Uninstall | BSODs after Windows Update or driver install (dxgkrnl.sys, fltmgr.sys, ndis.sys) | 5–15 min | Low |
| Windows Memory Diagnostic / MemTest86 | MEMORY_MANAGEMENT, RESOURCE_NOT_OWNED, random BSODs | 30 min – 8 hrs | None |
| Check Disk (chkdsk /f /r) | partmgr.sys, rdbss.sys BSODs or frequent random crashes | 1–3 hrs | Low |
| Clean Driver Install (DDU) | GPU or network driver conflicts (dxgkrnl.sys, netio.sys, npfs.sys) | 20–40 min | Low-Medium |
| Startup Repair / Reset Windows | BSODs at boot, unrecoverable crashes, pshed.dll errors | 30 min – 2 hrs | Medium-High |
| Hardware Replacement (RAM/HDD) | MemTest86 errors confirmed, SMART failures on disk | Varies | None (hardware swap) |
| BIOS/UEFI Update + XMP Disable | Frequent random BSODs, memory_management on new builds | 15–30 min | Medium |
Understanding BSOD on Windows 10
A Blue Screen of Death (BSOD) — officially called a Stop Error — occurs when Windows 10 encounters a fatal condition from which it cannot safely recover. Rather than risk data corruption or hardware damage, the kernel halts all operations and displays a stop code. The screen typically reads:
Your PC ran into a problem and needs to restart.
Stop code: MEMORY_MANAGEMENT
or
Your PC ran into a problem and needs to restart.
Stop code: KERNEL_SECURITY_CHECK_FAILURE
Failing module: ntoskrnl.exe
Understanding whether your BSOD is driver-related, memory-related, or storage-related is the key to choosing the right fix.
Step 1: Identify the Stop Code and Faulting Module
From the blue screen itself: Note the stop code (e.g., MEMORY_MANAGEMENT, KERNEL_SECURITY_CHECK_FAILURE) and any listed faulting file (e.g., ntoskrnl.exe, dxgkrnl.sys).
From Event Viewer (after reboot):
- Press
Win + X→ Event Viewer - Navigate to Windows Logs → System
- Filter by Critical and look for events around the crash time
- Note the source module listed in the event details
From minidump files using WinDbg:
Minidump files are stored at C:\Windows\Minidump\. Use Windows Debugger (WinDbg) from the Microsoft Store to analyze them. Open WinDbg, go to **File → Open Crash Dump**, and run !analyze -v to get a detailed crash report identifying the faulting driver or module.
Step 2: Common BSOD Stop Codes and Their Fixes
MEMORY_MANAGEMENT / bsod windows 10 memory management
This stop code (0x0000001A) indicates a serious problem with Windows' memory management system.
Fixes:
- Run Windows Memory Diagnostic:
Win + R→mdsched.exe→ Restart Now - Disable XMP/DOCP in BIOS (overclock profile for RAM)
- Reseat RAM sticks; test one stick at a time
- Run MemTest86 for at least 2 passes
KERNEL_SECURITY_CHECK_FAILURE
This stop code indicates that a critical data structure's integrity has been violated — often caused by corrupt drivers, malware, or incompatible software.
Fixes:
- Boot into Safe Mode and run:
sfc /scannow - Update all drivers, especially chipset, GPU, and network
- Scan for malware using Windows Defender offline scan
- Check RAM with MemTest86
ntoskrnl.exe / ntkrnlmp.exe BSODs
ntoskrnl.exe is the Windows NT kernel. When it's listed as the faulting module, the crash is usually caused by a third-party driver calling into the kernel incorrectly, or by damaged system files.
Fixes:
- Run:
DISM /Online /Cleanup-Image /RestoreHealththensfc /scannow - Identify the actual offending driver via WinDbg's
!analyze -v(ntoskrnl.exe is often just where the crash manifests, not the root cause) - Update chipset drivers from your motherboard manufacturer
- If on Lenovo: update BIOS firmware
dxgkrnl.sys BSOD
dxgkrnl.sys is the DirectX Graphics Kernel. BSODs from this file indicate GPU driver or hardware problems.
Fixes:
- Boot into Safe Mode, use Display Driver Uninstaller (DDU) to completely remove GPU drivers
- Reinstall latest GPU drivers from NVIDIA/AMD directly
- Check GPU temperatures (should be below 85°C under load) using HWiNFO64
- Reseat the GPU and check PCIe power connectors
fltmgr.sys BSOD
fltmgr.sys is the Windows File System Filter Manager. Crashes here often involve antivirus software, backup tools, or file system drivers.
Fixes:
- Temporarily disable or uninstall third-party antivirus
- Run
chkdsk C: /f /rfrom an elevated command prompt - Check for Windows Update KB conflicts and roll back recent updates
ndis.sys / netio.sys BSODs
These files handle Windows networking. BSODs involving them typically stem from faulty network adapter drivers or VPN software.
Fixes:
- Uninstall VPN clients and network filter software
- Update or roll back network adapter drivers via Device Manager
- Run:
netsh winsock resetandnetsh int ip reset - Disable network adapter power management
npfs.sys / rdbss.sys BSODs
npfs.sys handles Named Pipe File System; rdbss.sys handles SMB file system access. These indicate network file system or pipe communication issues.
Fixes:
- Disable SMBv1:
Disable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol - Check for corrupted network share mappings
- Run
sfc /scannowandDISM /RestoreHealth
partmgr.sys BSOD
partmgr.sys is the Partition Manager driver. Crashes here almost always indicate storage hardware problems.
Fixes:
- Run
chkdsk C: /f /r /xfrom recovery environment - Check SMART data:
wmic diskdrive get statusor use CrystalDiskInfo - Update storage controller drivers (Intel RST, AMD RAID)
- Consider replacing the failing drive
pshed.dll BSOD
pshed.dll is the Platform-Specific Hardware Error Driver. It surfaces hardware-level errors from the CPU or memory controller.
Fixes:
- Update BIOS/UEFI to the latest version
- Disable XMP/DOCP memory profiles
- Check CPU cooler seating and thermal paste
- Run extended MemTest86 (4+ passes)
hardlock.sys / syntp.sys BSODs (Lenovo-specific)
hardlock.sys is the Sentinel HASP hardware key driver; syntp.sys is the Synaptics touchpad driver — both common on Lenovo systems.
Fixes (syntp.sys):
- Device Manager → Mice and other pointing devices → Synaptics device → Update or Uninstall driver
- Download latest driver from Lenovo support site
Fixes (hardlock.sys):
- Uninstall Sentinel HASP/SafeNet software via Control Panel
- If required, reinstall using the latest version from Thales/SafeNet
RESOURCE_NOT_OWNED BSOD
This stop code (0x0000009F or related resource tracking error) indicates a driver released a resource it did not own, pointing to driver bugs.
Fixes:
- Use Driver Verifier to identify the offending driver (see code block)
- Update or uninstall recently installed drivers
- Check for Windows updates that patch known driver issues
Step 3: Run System-Level Repairs
Always run these three commands in sequence from an elevated Command Prompt after identifying and addressing the immediate cause:
DISM /Online /Cleanup-Image /CheckHealthDISM /Online /Cleanup-Image /RestoreHealthsfc /scannow
Restart after each tool completes.
Step 4: Enable Driver Verifier (Advanced)
Driver Verifier stresses-tests drivers to find the one causing instability. Only run this on a system that can still boot:
- Run
verifierfrom an elevated Command Prompt - Select "Create standard settings" → Next
- Select "Automatically select all drivers installed on this computer" → Finish
- Reboot — the system will BSOD faster and the crash dump will name the exact offending driver
- Analyze the new minidump with WinDbg
- After identifying the driver, disable Verifier:
verifier /resetand reboot
Warning: Only use Driver Verifier on test machines or if you can boot into Safe Mode to disable it. It can cause boot loops on unstable systems.
Step 5: Lenovo-Specific and OEM Considerations
Lenovo laptops frequently experience BSODs after major Windows 10 feature updates due to:
- Outdated Lenovo System Interface Foundation or Lenovo Vantage components
- Synaptics touchpad driver (syntp.sys) incompatibilities
- Intel Rapid Storage Technology (IRST) driver mismatches
Recommended steps for Lenovo BSOD:
- Visit Lenovo Support and enter your model number
- Download and install all critical firmware and driver updates
- Update BIOS first, then chipset, then all other drivers
- Use Lenovo Vantage to check for hardware diagnostics
Step 6: When to Suspect Hardware Failure
If BSODs persist after all software fixes, hardware failure is likely:
- RAM: Multiple MemTest86 errors after testing individual sticks → replace failing DIMM
- HDD/SSD: CrystalDiskInfo shows "Caution" or "Bad" SMART status → replace drive
- GPU: Crashes only under load, artifacts visible → GPU is dying
- CPU/Motherboard: pshed.dll errors, random BSODs across all activities → check CPU temperatures, reseat CPU cooler, consider RMA
Frequently Asked Questions
# ============================================================
# BSOD Windows 10 - Complete Diagnostic & Repair Script
# Run PowerShell as Administrator
# ============================================================
# --- STEP 1: View Recent BSOD Events from Event Log ---
Write-Host "=== Recent Critical System Events (BSODs) ==="
Get-WinEvent -LogName System -MaxEvents 100 |
Where-Object { $_.LevelDisplayName -eq 'Critical' -or $_.Id -eq 41 } |
Select-Object TimeCreated, Id, Message |
Format-List
# --- STEP 2: List minidump files for WinDbg analysis ---
Write-Host "`n=== Minidump Files Found ==="
Get-ChildItem -Path "C:\Windows\Minidump" -Filter "*.dmp" -ErrorAction SilentlyContinue |
Sort-Object LastWriteTime -Descending |
Select-Object Name, LastWriteTime, @{N='SizeMB';E={[math]::Round($_.Length/1MB,2)}}
# --- STEP 3: Check for driver issues in Device Manager ---
Write-Host "`n=== Devices with Errors or Warnings ==="
Get-WmiObject Win32_PnPEntity |
Where-Object { $_.ConfigManagerErrorCode -ne 0 } |
Select-Object Name, DeviceID, ConfigManagerErrorCode |
Format-Table -AutoSize
# --- STEP 4: Run System File Checker ---
Write-Host "`n=== Running System File Checker (sfc /scannow) ==="
sfc /scannow
# --- STEP 5: Run DISM Health Restore ---
Write-Host "`n=== Running DISM RestoreHealth ==="
DISM /Online /Cleanup-Image /RestoreHealth
# --- STEP 6: Check Disk Health (SMART) ---
Write-Host "`n=== Disk SMART Status ==="
Get-WmiObject -Class Win32_DiskDrive |
Select-Object Model, MediaType, Status, Size |
Format-Table -AutoSize
# --- STEP 7: Check RAM configuration ---
Write-Host "`n=== RAM Configuration ==="
Get-WmiObject Win32_PhysicalMemory |
Select-Object BankLabel, Capacity, Speed, Manufacturer, PartNumber |
Format-Table -AutoSize
# --- STEP 8: List recently installed drivers (last 30 days) ---
Write-Host "`n=== Drivers Installed or Updated in Last 30 Days ==="
$cutoff = (Get-Date).AddDays(-30)
Get-WmiObject Win32_PnPSignedDriver |
Where-Object { $_.DriverDate -gt $cutoff.ToString("yyyyMMdd") } |
Select-Object DeviceName, DriverVersion, DriverDate, Manufacturer |
Sort-Object DriverDate -Descending |
Format-Table -AutoSize
# --- STEP 9: Reset network stack (fixes ndis.sys / netio.sys BSODs) ---
Write-Host "`n=== Resetting Network Stack ==="
netsh winsock reset
netsh int ip reset
Write-Host "Network stack reset complete. Restart required."
# --- STEP 10: Disable SMBv1 (fixes npfs.sys / rdbss.sys BSODs) ---
Write-Host "`n=== Disabling SMBv1 Protocol ==="
Disable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol -NoRestart
Write-Host "SMBv1 disabled."
# --- STEP 11: Schedule disk check on next reboot ---
Write-Host "`n=== Scheduling CHKDSK for next reboot ==="
cmd /c "echo Y | chkdsk C: /f /r /x"
Write-Host "CHKDSK scheduled. It will run on next system restart."
# --- STEP 12: Enable Driver Verifier (ADVANCED - only if BSOD is frequent) ---
# WARNING: This will cause intentional crashes to identify bad drivers.
# Disable with: verifier /reset
# Uncomment the lines below only if instructed:
# Write-Host "`n=== Enabling Driver Verifier ==="
# verifier /standard /all
# Write-Host "Driver Verifier enabled. Reboot to activate. Run 'verifier /reset' after identifying the bad driver."
Write-Host "`n=== Diagnostic Complete. Review output above and reboot to apply changes. ==="
# --- BONUS: Open Windows Memory Diagnostic ---
# Uncomment to launch:
# mdsched.exeError Medic Editorial
The Error Medic Editorial team is composed of senior DevOps engineers, SREs, and Windows system administrators with 10+ years of experience diagnosing kernel crashes, system failures, and OS-level errors across enterprise and consumer environments. Our guides are built from real incident post-mortems, Microsoft documentation, and hands-on lab testing. We specialize in translating cryptic stop codes and crash dumps into actionable, step-by-step repair procedures that anyone — from home users to IT pros — can follow confidently.
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://support.microsoft.com/en-us/windows/fix-blue-screen-errors-in-windows-5c62726c-6489-52da-a372-3522a7483bef
- https://learn.microsoft.com/en-us/windows/client-management/troubleshoot-stop-errors
- https://stackoverflow.com/questions/tagged/blue-screen-of-death
- https://support.lenovo.com/us/en/solutions/ht505599-what-to-do-when-you-see-a-blue-screen-error-in-windows-10