Error Medic

BSOD Windows 10: Complete Troubleshooting Guide for All Blue Screen 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 diagnostics and proven fixes inside.

Last updated:
Last verified:
2,306 words
Key Takeaways
  • Faulty or incompatible RAM is the leading cause of MEMORY_MANAGEMENT and ntoskrnl.exe BSODs on Windows 10 — run Windows Memory Diagnostic or MemTest86 immediately.
  • Corrupted system files, outdated or broken drivers (dxgkrnl.sys, fltmgr.sys, ndis.sys, netio.sys, syntp.sys, partmgr.sys, hardlock.sys, npfs.sys, rdbss.sys, pshed.dll) are responsible for the majority of stop-code crashes.
  • KERNEL_SECURITY_CHECK_FAILURE and RESOURCE_NOT_OWNED BSODs often indicate driver version mismatches, overclocking instability, or hardware failure — start with 'sfc /scannow' and 'DISM /Online /Cleanup-Image /RestoreHealth', then move to driver rollback if needed.
  • Random and frequent BSODs on Lenovo and other OEM laptops frequently stem from outdated BIOS/UEFI firmware or vendor-specific driver conflicts — always check OEM update portals first.
  • Collect the minidump file from C:\Windows\Minidump and analyze it with WinDbg or WhoCrashed to pinpoint the exact faulting module before attempting fixes.
BSOD Windows 10 Fix Approaches Compared
MethodWhen to UseTimeRisk
sfc /scannow + DISM RestoreHealthCorrupted system files; ntoskrnl.exe, ntkrnlmp.exe BSODs15-45 minLow
Windows Memory Diagnostic / MemTest86MEMORY_MANAGEMENT, random BSODs, RAM errors30 min – 8 hrsNone
Driver rollback or clean reinstalldxgkrnl.sys, fltmgr.sys, ndis.sys, syntp.sys, partmgr.sys BSODs20-60 minLow-Medium
BIOS/UEFI firmware update (OEM portal)Lenovo/OEM random BSODs, pshed.dll, hardlock.sys crashes20-30 minMedium
chkdsk /r /fDisk corruption suspected; rdbss.sys, partmgr.sys BSODs30 min – 2 hrsLow
System Restore / Reset This PCPersistent BSODs after all software fixes fail1-3 hrsMedium-High
Replace RAM / hardwareMemTest86 finds errors; RESOURCE_NOT_OWNED persists30-60 minLow (if done carefully)
WinDbg minidump analysisIdentifying exact faulting driver or module15-30 minNone

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. The system halts, displays a stop code, and writes a minidump file to disk. Modern Windows 10 BSODs display a sad face emoji alongside a stop code such as:

  • MEMORY_MANAGEMENT (0x0000001A)
  • KERNEL_SECURITY_CHECK_FAILURE (0x00000139)
  • RESOURCE_NOT_OWNED (0x00000109)
  • SYSTEM_SERVICE_EXCEPTION (0x0000003B)
  • DRIVER_IRQL_NOT_LESS_OR_EQUAL (0x000000D1)

Associated faulting modules commonly seen include: ntoskrnl.exe, ntkrnlmp.exe, dxgkrnl.sys, fltmgr.sys, ndis.sys, netio.sys, syntp.sys, partmgr.sys, hardlock.sys, npfs.sys, rdbss.sys, and pshed.dll.


Step 1: Collect the Minidump and Identify the Stop Code

Before applying any fix, identify what is causing the BSOD. Every crash writes a minidump to C:\Windows\Minidump\.

Option A — WhoCrashed (GUI, easiest): Download and run WhoCrashed (free) from resplendence.com. It parses minidump files and reports the faulting driver in plain English.

Option B — WinDbg (Microsoft official):

  1. Install WinDbg from the Microsoft Store or via the Windows SDK.
  2. Open WinDbg, go to File > Open Crash Dump, select the .dmp file from C:\Windows\Minidump.
  3. In the command pane, type !analyze -v and press Enter.
  4. Look for the line beginning with FAULTING_MODULE: or IMAGE_NAME: — this is your culprit.

Option C — Event Viewer: Press Win+R, type eventvwr.msc. Navigate to Windows Logs > System and filter for Critical events around the crash timestamp.


Step 2: Run System File Checker and DISM

Corrupted Windows system files are a root cause for crashes involving ntoskrnl.exe, ntkrnlmp.exe, fltmgr.sys, and npfs.sys.

Open an elevated Command Prompt (Run as Administrator) and execute:

sfc /scannow

If SFC reports errors it cannot fix, follow up with DISM:

DISM /Online /Cleanup-Image /CheckHealth
DISM /Online /Cleanup-Image /ScanHealth
DISM /Online /Cleanup-Image /RestoreHealth

Reboot after completion, then run sfc /scannow again.


Step 3: Test and Replace RAM (MEMORY_MANAGEMENT BSOD)

Stop code MEMORY_MANAGEMENT (0x0000001A) almost always points to defective RAM or a driver writing to protected memory.

Windows Memory Diagnostic (quick test): Press Win+R, type mdsched.exe, choose Restart now and check for problems. Results appear after reboot in Event Viewer under Windows Logs > System, source MemoryDiagnostics-Results.

MemTest86 (thorough test):

  1. Download MemTest86 from memtest86.com and write it to a USB drive.
  2. Boot from USB and run at least 2 full passes (preferably overnight).
  3. Any errors = faulty RAM. Replace the stick(s), starting by testing one at a time.

Step 4: Update, Roll Back, or Uninstall Problem Drivers

Driver-specific BSODs are identified by their module name in the minidump:

Module Associated Hardware/Software
dxgkrnl.sys GPU / DirectX Kernel
fltmgr.sys File system filter (AV, backup software)
ndis.sys / netio.sys Network adapter drivers
syntp.sys Synaptics touchpad (Lenovo, Dell, HP laptops)
partmgr.sys Disk partition manager
hardlock.sys HASP/Sentinel hardware dongle drivers
npfs.sys Named Pipe File System (often Windows Update or AV conflict)
rdbss.sys Redirected Drive Buffering (network share / SMB)
pshed.dll Platform-Specific Hardware Error Driver (BIOS/firmware)

To roll back a driver:

  1. Press Win+X > Device Manager.
  2. Expand the relevant category, right-click the device > Properties.
  3. Click the Driver tab > Roll Back Driver.

To update a driver: Right-click the device > Update driver > Search automatically. Alternatively, download directly from the manufacturer's website (NVIDIA, AMD, Intel, Synaptics, Realtek).

For hardlock.sys: Uninstall the Sentinel/HASP runtime from Programs & Features and reinstall the latest version from Thales (formerly SafeNet).

For syntp.sys (Lenovo): Download the latest Synaptics or Lenovo pointing device driver from support.lenovo.com.


Step 5: Check and Repair Disk Integrity

For partmgr.sys and rdbss.sys BSODs, disk corruption is suspect.

Run from an elevated command prompt:

chkdsk C: /r /f

Schedule it to run on next reboot if the volume is in use. For NVMe/SSD drives, also check drive health:

wmic diskdrive get model,status

Or use CrystalDiskInfo for S.M.A.R.T. status.


Step 6: Update BIOS/UEFI Firmware (Critical for Lenovo and pshed.dll BSODs)

pshed.dll (Platform-Specific Hardware Error Driver) BSODs are nearly always hardware platform or firmware issues. Outdated BIOS is also a leading cause of random BSODs on OEM laptops like Lenovo ThinkPad and IdeaPad.

  1. Press Win+R, type msinfo32 — note your BIOS version and date.
  2. Visit your OEM's support page (e.g., support.lenovo.com, dell.com/support).
  3. Download and install the latest BIOS/UEFI firmware update.
  4. Ensure the laptop is plugged in during flashing — a failed flash can brick the device.

Step 7: Disable Overclocking and Check Thermals

Overclocking CPU or RAM (XMP/EXPO profiles) can cause KERNEL_SECURITY_CHECK_FAILURE and RESOURCE_NOT_OWNED BSODs. Enter BIOS and set everything to default/stock frequencies. Use HWiNFO64 or Core Temp to verify CPU temperatures are below 90°C under load. Clean dust from heatsinks and reapply thermal paste if the system is over 3 years old.


Step 8: Use System Restore or Reset This PC

If BSODs began after a Windows Update or software installation:

System Restore: Press Win+R > rstrui.exe > select a restore point before the issues began.

Reset This PC (last resort): Settings > Update & Security > Recovery > Reset this PC. Choose Keep my files first; only use Remove everything if all else fails.


Diagnosing Random BSODs Without a Consistent Stop Code

Random BSODs with varying stop codes usually indicate hardware instability (RAM, GPU, PSU) or a kernel-mode driver running amok. Steps:

  1. Boot into Safe Mode (hold Shift while clicking Restart > Troubleshoot > Advanced > Startup Settings > Safe Mode with Networking). If BSODs stop in Safe Mode, a third-party driver or service is the cause.
  2. Use Driver Verifier to stress-test drivers: run verifier from an elevated prompt, select Create standard settings, choose all drivers from third parties. This forces a BSOD at the exact point a driver misbehaves, giving a more precise minidump. Note: Only use this temporarily — revert with verifier /reset.
  3. Check Windows Update — sometimes a cumulative update patch resolves stop errors.

Frequently Asked Questions

powershell
# ============================================================
# Windows 10 BSOD Diagnostic & Fix Script
# Run PowerShell as Administrator
# ============================================================

# --- 1. Check for recent BSOD crash dumps ---
Write-Host "`n[*] Recent Minidump Files:" -ForegroundColor Cyan
$dumpPath = "C:\Windows\Minidump"
if (Test-Path $dumpPath) {
    Get-ChildItem -Path $dumpPath -Filter "*.dmp" | Sort-Object LastWriteTime -Descending | Select-Object Name, LastWriteTime, @{N='SizeMB';E={[math]::Round($_.Length/1MB,2)}} | Format-Table
} else {
    Write-Host "No minidump folder found. Minidump may be disabled." -ForegroundColor Yellow
}

# --- 2. Ensure minidump settings are correct ---
Write-Host "`n[*] Configuring minidump capture settings..." -ForegroundColor Cyan
# Set CrashDumpEnabled: 3 = Small Memory Dump (Minidump), 1 = Complete, 2 = Kernel
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\CrashControl" -Name "CrashDumpEnabled" -Value 3
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\CrashControl" -Name "MinidumpDir" -Value "%SystemRoot%\Minidump"
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\CrashControl" -Name "AutoReboot" -Value 1
Write-Host "Minidump settings configured." -ForegroundColor Green

# --- 3. Run System File Checker ---
Write-Host "`n[*] Running System File Checker (sfc /scannow)..." -ForegroundColor Cyan
Start-Process -FilePath "sfc" -ArgumentList "/scannow" -Verb RunAs -Wait

# --- 4. Run DISM to repair Windows image ---
Write-Host "`n[*] Running DISM RestoreHealth..." -ForegroundColor Cyan
Start-Process -FilePath "DISM" -ArgumentList "/Online /Cleanup-Image /RestoreHealth" -Verb RunAs -Wait

# --- 5. Check disk for errors (schedules on reboot for C:) ---
Write-Host "`n[*] Scheduling chkdsk on next reboot..." -ForegroundColor Cyan
cmd /c "echo Y | chkdsk C: /f /r"
Write-Host "chkdsk scheduled. It will run on next restart." -ForegroundColor Green

# --- 6. Check disk S.M.A.R.T. status ---
Write-Host "`n[*] Disk S.M.A.R.T. Status:" -ForegroundColor Cyan
Get-WmiObject -Class Win32_DiskDrive | Select-Object Model, Status, Size | Format-Table

# --- 7. List recently installed drivers (last 30 days) ---
Write-Host "`n[*] Recently installed drivers (last 30 days):" -ForegroundColor Cyan
$cutoff = (Get-Date).AddDays(-30)
Get-WmiObject Win32_PnPSignedDriver | Where-Object { $_.DriverDate -and [datetime]::ParseExact($_.DriverDate.Substring(0,8),"yyyyMMdd",$null) -gt $cutoff } | Select-Object DeviceName, DriverVersion, DriverDate | Sort-Object DriverDate -Descending | Format-Table -AutoSize

# --- 8. Check Windows Event Log for BSOD events ---
Write-Host "`n[*] Recent Critical System Events (last 7 days):" -ForegroundColor Cyan
$startTime = (Get-Date).AddDays(-7)
Get-WinEvent -FilterHashtable @{LogName='System'; Level=1; StartTime=$startTime} -ErrorAction SilentlyContinue | Select-Object TimeCreated, Id, Message | Format-Table -AutoSize

# --- 9. Enable Driver Verifier for third-party drivers (USE TEMPORARILY ONLY) ---
# Uncomment the lines below to enable. Revert with: verifier /reset
# Write-Host "`n[*] Enabling Driver Verifier for third-party drivers..." -ForegroundColor Yellow
# cmd /c "verifier /standard /all"
# Write-Host "Driver Verifier enabled. Reboot and reproduce the crash. Run 'verifier /reset' after." -ForegroundColor Yellow

# --- 10. Display system BIOS version (important for OEM firmware updates) ---
Write-Host "`n[*] BIOS/UEFI Information:" -ForegroundColor Cyan
Get-WmiObject -Class Win32_BIOS | Select-Object Manufacturer, Name, Version, ReleaseDate | Format-List

# --- 11. Check RAM info ---
Write-Host "`n[*] RAM Modules Detected:" -ForegroundColor Cyan
Get-WmiObject -Class Win32_PhysicalMemory | Select-Object Tag, Capacity, Speed, Manufacturer, PartNumber | Format-Table -AutoSize

Write-Host "`n[DONE] Diagnostic complete. Review output above and check C:\Windows\Minidump for crash files." -ForegroundColor Green
Write-Host "For deep analysis, open minidumps with WinDbg and run: !analyze -v" -ForegroundColor Yellow
E

Error Medic Editorial

The Error Medic Editorial team is composed of senior DevOps engineers, Windows system administrators, and SRE professionals with decades of combined experience diagnosing and resolving Windows kernel errors, stop codes, and system reliability issues across enterprise and consumer environments. Our guides are written based on hands-on lab testing, official Microsoft documentation, and real-world incident postmortems.

Sources

Related Articles in Windows 10 Bsod Windows

Explore More windows Guides