Error Medic

IRQL_NOT_LESS_OR_EQUAL / DRIVER_IRQL_NOT_LESS_OR_EQUAL Windows 10: Complete Fix Guide

Fix IRQL_NOT_LESS_OR_EQUAL and DRIVER_IRQL_NOT_LESS_OR_EQUAL BSOD on Windows 10. Step-by-step driver, RAM, and kernel troubleshooting guide.

Last updated:
Last verified:
2,327 words
Key Takeaways
  • Root cause 1: A kernel-mode driver (e.g., nvlddmkm.sys, netio.sys, afd.sys, tcpip.sys) attempted to access pageable memory at an interrupt request level (IRQL) that was too high, causing a stop code 0x0000000A or 0x000000D1.
  • Root cause 2: Faulty, incompatible, or outdated device drivers — especially GPU (NVIDIA/AMD), network adapter, or antivirus kernel drivers — are the most common culprits; bad RAM (faulty DIMM, wrong XMP/DOCP profile) and overclocking instability are the second most frequent hardware causes.
  • Quick fix summary: Boot into Safe Mode, identify the offending driver from the minidump file using WinDbg or WhoCrashed, then update, roll back, or uninstall that driver; run Windows Memory Diagnostic or MemTest86 to rule out RAM; use SFC /scannow and DISM to repair corrupted system files; disable overclocking if present.
Fix Approaches Compared
MethodWhen to UseTimeRisk
Analyze minidump with WinDbg / WhoCrashedFirst step — always; identifies the exact faulty driver10-20 minNone
Update / Roll Back DriverWhen a specific driver (nvlddmkm.sys, netio.sys, etc.) is named in the dump5-15 minLow
Uninstall Driver in Safe Mode (DDU)When updating fails or BSOD happens on boot15-30 minLow
Windows Memory Diagnostic / MemTest86When error occurs on fresh install, at startup, or with ntoskrnl.exe30 min – 8 hrsNone
SFC /scannow + DISM /RestoreHealthWhen ntoskrnl.exe is blamed and no 3rd-party driver is identified15-30 minNone
Disable XMP / DOCP / OverclockWhen RAM is running above JEDEC spec or CPU/GPU is overclocked5 minNone (performance drop)
Clean Windows 10 InstallWhen all other methods fail and BSOD persists after driver cleanup1-2 hrsHigh (data loss)

Understanding IRQL_NOT_LESS_OR_EQUAL on Windows 10

When Windows 10 displays a Blue Screen of Death (BSOD) with the stop code IRQL_NOT_LESS_OR_EQUAL (0x0000000A) or DRIVER_IRQL_NOT_LESS_OR_EQUAL (0x000000D1), it means a software component — almost always a kernel-mode driver — tried to touch a memory address that was paged out to disk at a moment when paging is forbidden. The CPU's interrupt request level (IRQL) was too elevated for that memory access to be safe, so Windows halted the system to prevent data corruption.

The exact error string you see on screen will be one of:

  • IRQL_NOT_LESS_OR_EQUAL (stop code 0x0000000A)
  • DRIVER_IRQL_NOT_LESS_OR_EQUAL (stop code 0x000000D1)

Both share the same root cause family. The difference is that 0x000000D1 more explicitly blames a specific driver, while 0x0000000A can also be triggered by hardware faults (bad RAM, overclocking).


Common Scenarios and Named Drivers

File Named on Screen Likely Cause
nvlddmkm.sys NVIDIA GPU driver
afd.sys Ancillary Function Driver (Winsock)
netio.sys Network I/O subsystem
tcpip.sys TCP/IP stack driver
ntoskrnl.exe Windows kernel — usually RAM or corrupted system files
No file named RAM fault, overclocking, or VPN/antivirus kernel driver

Step 1: Boot into Safe Mode

If the BSOD prevents normal booting, you must reach Safe Mode first.

  1. Force three consecutive hard shutdowns (hold power button) to trigger Windows Recovery Environment (WinRE).
  2. Navigate to Troubleshoot → Advanced Options → Startup Settings → Restart.
  3. Press 4 or F4 to boot into Safe Mode (press 5 / F5 for Safe Mode with Networking if you need internet access).

Alternatively, from a working session: press Win + R, type msconfig, go to Boot tab, check Safe boot → Minimal, click OK and restart.


Step 2: Read the Minidump File

Windows saves crash data to C:\Windows\Minidump\ as .dmp files. Analyzing these is the fastest way to identify the offending driver.

Option A — WhoCrashed (easiest):

  1. Download WhoCrashed from https://www.resplendence.com/whocrashed
  2. Run it and click Analyze.
  3. The report will show the driver filename, e.g., nvlddmkm.sys caused a BSOD on your system.

Option B — WinDbg (most detailed):

  1. Install WinDbg from the Microsoft Store or via Windows SDK.
  2. Open WinDbg → File → Open Crash Dump → select the .dmp file.
  3. In the command window, type: !analyze -v
  4. Look for the FAULTING_MODULE and IMAGE_NAME fields in the output.

A typical WinDbg output for a GPU driver crash looks like:

BugCheck D1, {fffffa8007b3e010, 2, 0, fffff88004d3b000}
Probable cause: nvlddmkm.sys
IMAGE_NAME: nvlddmkm.sys
FAILURE_BUCKET_ID: X64_0xD1_nvlddmkm+3b2f0

Step 3: Fix the Identified Driver

3a. NVIDIA GPU Driver (nvlddmkm.sys)

This is the most frequently reported cause on Windows 10 Reddit threads.

  1. Boot into Safe Mode.
  2. Download Display Driver Uninstaller (DDU) from https://www.wagnardsoft.com/
  3. Run DDU, select GPU → NVIDIA, click Clean and Restart.
  4. After restart, download the latest NVIDIA driver from https://www.nvidia.com/Download/index.aspx and do a Custom / Clean Install.
  5. If the latest driver still causes BSODs, try one version older (NVIDIA archives are at https://www.nvidia.com/en-us/drivers/unix/ and their Windows archive).
3b. Network Drivers (netio.sys, afd.sys, tcpip.sys)

These files point to the TCP/IP stack or network adapter driver.

  1. Open Device Manager (devmgmt.msc).
  2. Expand Network Adapters, right-click your adapter → Update driver.
  3. If updating fails, right-click → Uninstall device (check "Delete driver software"), restart, and let Windows reinstall.
  4. If you use a VPN client or antivirus with a network filtering component, temporarily uninstall it — many (Avast, Bitdefender, Cisco AnyConnect) inject kernel drivers that conflict with netio.sys.
  5. Run: netsh winsock reset and netsh int ip reset in an elevated Command Prompt, then reboot.
3c. ntoskrnl.exe (Kernel)

When the Windows kernel itself is named, the issue is usually bad RAM, corrupted system files, or overclocking.

Repair system files first:

sfc /scannow
DISM /Online /Cleanup-Image /RestoreHealth

Run both commands in an elevated Command Prompt. Reboot afterward.

Check RAM:

  • Press Win + R, type mdsched.exe, and choose Restart now and check for problems.
  • For thorough testing, use MemTest86 (bootable USB) and run at least 2 full passes.
  • If you have XMP/DOCP enabled in BIOS for RAM overclocking, disable it and set RAM to its JEDEC default frequency (usually 2133 MHz or 2400 MHz).

Step 4: Check for Windows Updates and Driver Updates Broadly

Some IRQL BSODs on Windows 10 were introduced by Windows Update itself. Check:

  1. Settings → Update & Security → Windows Update → View Update History.
  2. If the BSOD started after a specific update, click Uninstall updates and remove it.
  3. Alternatively, use System Restore to roll back to a point before the BSOD started:
    • Search for "Create a restore point" → System Restore → choose a date before the issue.

Step 5: Disable Overclocking

If your CPU, GPU, or RAM is overclocked:

  1. Restart and enter BIOS/UEFI (usually Del, F2, or F10 at POST).
  2. Load Optimized Defaults or manually set CPU multiplier and RAM frequency to stock.
  3. Disable XMP / DOCP / EXPO profiles for RAM.
  4. Save and exit.

Even factory-applied "performance" BIOS profiles can push hardware outside stable margins, especially under thermal stress.


Step 6: Fresh Windows 10 Install (Last Resort)

If the BSOD occurs during a Windows 10 fresh install or persists after all driver fixes:

  1. First re-run MemTest86 — a RAM fault will cause install-time BSODs regardless of software fixes.
  2. Try installing with only one RAM stick at a time, in slot A2 (refer to your motherboard manual).
  3. If RAM tests pass, create a new Windows 10 installation media using the Media Creation Tool from https://www.microsoft.com/en-us/software-download/windows10 and perform a clean install.
  4. Install drivers one at a time after the OS is up, starting with chipset, then GPU, then network — this isolates which driver reintroduces the BSOD.

Frequently Asked Questions

powershell
# ============================================================
# IRQL_NOT_LESS_OR_EQUAL / DRIVER_IRQL_NOT_LESS_OR_EQUAL
# Windows 10 Diagnostic & Fix Script
# Run all commands in an elevated PowerShell or CMD window
# ============================================================

# --- 1. List recent minidump files (identify crash dumps to analyze) ---
Get-ChildItem -Path 'C:\Windows\Minidump' -Filter '*.dmp' |
  Sort-Object LastWriteTime -Descending |
  Select-Object Name, LastWriteTime, @{N='SizeMB';E={[math]::Round($_.Length/1MB,2)}} |
  Format-Table -AutoSize

# --- 2. Check Windows Event Log for BSOD entries (last 10) ---
Get-WinEvent -FilterHashtable @{LogName='System'; Id=41} -MaxEvents 10 |
  Select-Object TimeCreated, Message |
  Format-List

# --- 3. Scan and repair corrupted system files ---
# Run SFC first
sfc /scannow

# Then run DISM to repair the component store (requires internet or mounted ISO)
DISM /Online /Cleanup-Image /CheckHealth
DISM /Online /Cleanup-Image /ScanHealth
DISM /Online /Cleanup-Image /RestoreHealth

# --- 4. Reset the TCP/IP stack and Winsock (fixes netio.sys / afd.sys / tcpip.sys BSODs) ---
netsh winsock reset
netsh int ip reset
ipconfig /flushdns
# Reboot after running these commands

# --- 5. Check driver verifier status (advanced — can induce BSODs intentionally to catch bad drivers) ---
# Enable Driver Verifier targeting 3rd-party drivers (run in CMD as admin):
# WARNING: This will BSOD your system when the bad driver is caught. Only use on a system you can recover.
# verifier /standard /query
# verifier /standard /all   <- enables for ALL drivers (aggressive)
# To disable verifier after identifying the driver:
# verifier /reset

# --- 6. Identify loaded 3rd-party kernel drivers (non-Microsoft) ---
Get-WmiObject Win32_SystemDriver |
  Where-Object { $_.PathName -notlike '*\system32\drivers\*' -or
                 ($_.PathName -like '*\system32\drivers\*' -and $_.Manufacturer -notmatch 'Microsoft') } |
  Select-Object Name, DisplayName, State, PathName |
  Sort-Object Name |
  Format-Table -AutoSize

# --- 7. List recently installed drivers (last 30 days) ---
Get-WmiObject Win32_PnPSignedDriver |
  Where-Object { $_.DriverDate -ne $null } |
  Select-Object DeviceName, DriverVersion, DriverDate, Manufacturer |
  Sort-Object DriverDate -Descending |
  Select-Object -First 20 |
  Format-Table -AutoSize

# --- 8. Check RAM with Windows Memory Diagnostic (schedules a test on next reboot) ---
# Run from CMD:
# mdsched.exe
# Or schedule silently:
Start-Process -FilePath 'mdsched.exe'

# --- 9. Export system info for offline analysis ---
Get-ComputerInfo | Select-Object WindowsVersion, OsHardwareAbstractionLayer,
  CsNumberOfProcessors, CsPhyicallyInstalledMemory, BiosVersion |
  Format-List

# --- 10. Roll back a Windows Update that may have caused the BSOD ---
# List recent updates:
Get-HotFix | Sort-Object InstalledOn -Descending | Select-Object -First 10
# Uninstall a specific update (replace KB number):
# wusa /uninstall /kb:5015020 /quiet /norestart

# --- 11. Boot into Safe Mode from PowerShell (for next reboot) ---
# bcdedit /set {current} safeboot minimal
# Reboot, fix the issue, then disable safe boot:
# bcdedit /deletevalue {current} safeboot

Write-Host "`nDiagnostic commands complete. Review output above and check C:\Windows\Minidump\ for crash dumps." -ForegroundColor Green
E

Error Medic Editorial

The Error Medic Editorial team consists of senior DevOps engineers, Windows systems administrators, and SRE practitioners with combined experience across enterprise IT support, cloud infrastructure, and OS internals. Our guides are built from real-world incident post-mortems, Microsoft documentation, and community-sourced reproduction steps to give you the most actionable troubleshooting paths possible.

Sources

Related Articles in Windows 10 Irql_not_less_or_equal

Explore More windows Guides