Error Medic

IRQL_NOT_LESS_OR_EQUAL / DRIVER_IRQL_NOT_LESS_OR_EQUAL on Windows 10: Complete Fix Guide

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

Last updated:
Last verified:
2,187 words
Key Takeaways
  • Root cause: A kernel-mode driver or hardware component attempted to access paged memory at an interrupt request level (IRQL) that was too high, violating Windows memory access rules.
  • Common culprits include faulty or outdated device drivers (nvlddmkm.sys for NVIDIA GPUs, netio.sys for networking, tcpip.sys, afd.sys), defective RAM modules, overclocking instability, and corrupted system files (ntoskrnl.exe).
  • Quick fix summary: Boot into Safe Mode, identify the offending driver from the minidump file, update or roll back that driver, run Windows Memory Diagnostic for RAM faults, and use SFC /scannow plus DISM to repair corrupted system files.
Fix Approaches Compared
MethodWhen to UseTimeRisk
Update/Roll Back DriverCrash references a specific .sys file (nvlddmkm.sys, netio.sys, tcpip.sys, afd.sys)5–15 minLow
Windows Memory Diagnostic / MemTest86Crash happens randomly or references irql error with no clear driver; system is unstable after RAM upgrade30 min – 8 hrsNone
SFC /scannow + DISM Repairntoskrnl.exe referenced in crash; fresh install or upgrade triggered the BSOD15–30 minVery Low
Uninstall Third-Party Antivirus / VPNBSOD started after installing security software or VPN client5 minLow
Disable Overclocking / XMP ProfileSystem is overclocked or XMP/EXPO RAM profile is enabled; crash after hardware change5 minNone
Windows 10 Clean Install / Repair UpgradeAll other methods failed; system crashes on startup or during Windows 10 installation1–2 hrsMedium (data backup required)

Understanding the IRQL_NOT_LESS_OR_EQUAL Error

The stop code IRQL_NOT_LESS_OR_EQUAL (bug check 0x0000000A) and its variant DRIVER_IRQL_NOT_LESS_OR_EQUAL (bug check 0x000000D1) are among the most common Blue Screen of Death (BSOD) errors on Windows 10. Both errors mean that a piece of software — almost always a kernel-mode driver — tried to access a memory address that was either invalid or paged out to disk while the processor was running at an interrupt request level (IRQL) that does not permit paging operations.

Windows enforces strict rules about which memory regions can be accessed at which IRQL. At IRQL >= DISPATCH_LEVEL (level 2), only non-paged memory may be accessed. If a driver dereferences a pointer to paged memory at this level, the kernel cannot safely page the memory back in and immediately raises a fatal stop error.

The full error message on the blue screen typically looks like one of these:

STOP CODE: IRQL_NOT_LESS_OR_EQUAL
Failed component: ntoskrnl.exe

STOP CODE: DRIVER_IRQL_NOT_LESS_OR_EQUAL
Failed component: nvlddmkm.sys

STOP CODE: DRIVER_IRQL_NOT_LESS_OR_EQUAL
Failed component: netio.sys

STOP CODE: DRIVER_IRQL_NOT_LESS_OR_EQUAL
Failed component: tcpip.sys

STOP CODE: DRIVER_IRQL_NOT_LESS_OR_EQUAL
Failed component: afd.sys

Step 1: Boot Into Safe Mode and Collect the Minidump

If your PC is crash-looping, you must boot into Safe Mode first.

  1. Hold Shift while clicking Restart from the Windows 10 login screen.
  2. Navigate to Troubleshoot → Advanced Options → Startup Settings → Restart.
  3. Press 4 to boot into Safe Mode (or 5 for Safe Mode with Networking if you need internet access).

Once in Safe Mode, locate the minidump file:

  • Navigate to C:\Windows\Minidump\
  • The files are named by date, e.g., Mini012524-01.dmp

Use WinDbg (Windows Debugger from the Microsoft Store or Windows SDK) to analyze the dump:

windbg -z C:\Windows\Minidump\Mini012524-01.dmp

In WinDbg, run:

!analyze -v

The output will show the offending module. Look for lines like:

PROBABLE_CAUSE: nvlddmkm
IMAGE_NAME: nvlddmkm.sys
FAILURE_BUCKET_ID: AV_nvlddmkm!unknown_function

Step 2: Fix Driver-Related Crashes

If the crash references nvlddmkm.sys (NVIDIA GPU driver):

  1. Open Device Manager (devmgmt.msc).
  2. Expand Display Adapters, right-click your NVIDIA GPU, and select Update Driver or Roll Back Driver.
  3. For a clean reinstall, download Display Driver Uninstaller (DDU) and run it in Safe Mode before installing a fresh driver from nvidia.com.

If the crash references netio.sys, tcpip.sys, or afd.sys (networking stack):

These files are part of the Windows network stack. Common causes include:

  • Third-party VPN clients (especially older versions)
  • Faulty NIC drivers
  • Corrupted TCP/IP stack

Reset the network stack with these commands (run as Administrator):

netsh winsock reset
netsh int ip reset
ipconfig /flushdns

Then update your NIC driver via Device Manager or your motherboard manufacturer's website.

If the crash references a third-party driver you don't recognize:

Use the free tool WhoCrashed (from resplendence.com) to parse minidumps in plain English and identify the exact driver.


Step 3: Test and Fix RAM

Defective RAM is a leading cause of IRQL_NOT_LESS_OR_EQUAL, especially when no specific driver is named or when the crash occurs during a fresh Windows 10 install.

Windows Memory Diagnostic (built-in):

  1. Press Win + R, type mdsched.exe, and press Enter.
  2. Choose Restart now and check for problems.
  3. The tool runs automatically on reboot. Results appear after Windows restarts.

MemTest86 (more thorough):

  1. Download MemTest86 from memtest86.com.
  2. Write it to a USB drive using the included tool.
  3. Boot from the USB and let it run for at least 2 full passes (ideally overnight).
  4. Any errors indicate faulty RAM that must be replaced.

Additional RAM troubleshooting:

  • If you have multiple RAM sticks, remove all but one and test each stick individually to isolate the faulty module.
  • If XMP or EXPO memory profiles are enabled in BIOS/UEFI, disable them and run at stock speeds to test stability.

Step 4: Repair Corrupted System Files (ntoskrnl.exe)

When the crash references ntoskrnl.exe, the Windows kernel itself may be corrupted. This is also common after a Windows 10 upgrade or failed update.

Run these commands in an elevated Command Prompt:

REM Run System File Checker
sfc /scannow

REM If SFC reports errors it cannot fix, run DISM to repair the component store
DISM /Online /Cleanup-Image /CheckHealth
DISM /Online /Cleanup-Image /ScanHealth
DISM /Online /Cleanup-Image /RestoreHealth

REM Run SFC again after DISM completes
sfc /scannow

Reboot after these commands complete.


Step 5: Check for Windows Updates and Driver Updates

Microsoft regularly ships fixes for driver compatibility and kernel bugs through Windows Update.

  1. Go to Settings → Update & Security → Windows Update.
  2. Click Check for updates and install all available updates including optional driver updates.
  3. After updating, go to View optional updates and install any driver updates listed there.

Step 6: Disable Overclocking

If you have overclocked your CPU, GPU, or RAM:

  1. Enter BIOS/UEFI (press Del, F2, or F12 during POST — key varies by manufacturer).
  2. Navigate to the overclocking or AI Tweaker section.
  3. Set all values to Auto or load Optimized Defaults.
  4. Disable XMP/EXPO if enabled, and test at stock RAM speeds first.

Step 7: Last Resort — Windows 10 Repair Upgrade or Clean Install

If none of the above steps resolve the issue:

Repair Upgrade (keeps files and apps):

  1. Download the Windows 10 Media Creation Tool.
  2. Run setup.exe from within Windows (not bootable media).
  3. Choose Upgrade this PC now and select Keep personal files and apps.

Clean Install (last resort — backup your data first):

  1. Create a bootable USB with the Media Creation Tool.
  2. Boot from USB and choose Custom: Install Windows only.
  3. Format the system drive and proceed with installation.

If the BSOD occurs during the clean install, the issue is almost certainly hardware — failing RAM, a dying HDD/SSD, or incompatible hardware. Run MemTest86 and check the drive with chkdsk.

Frequently Asked Questions

powershell
# ============================================================
# IRQL_NOT_LESS_OR_EQUAL / DRIVER_IRQL_NOT_LESS_OR_EQUAL
# Windows 10 Diagnostic & Fix Script
# Run as Administrator in PowerShell
# ============================================================

Write-Host "=== Step 1: Check for recent BSOD minidumps ==" -ForegroundColor Cyan
$minidumpPath = "C:\Windows\Minidump"
if (Test-Path $minidumpPath) {
    $dumps = Get-ChildItem $minidumpPath -Filter "*.dmp" | Sort-Object LastWriteTime -Descending | Select-Object -First 5
    if ($dumps) {
        Write-Host "Recent minidump files found:" -ForegroundColor Yellow
        $dumps | Format-Table Name, LastWriteTime, Length -AutoSize
    } else {
        Write-Host "No minidump files found. Enable full minidump via:" -ForegroundColor Red
        Write-Host '  SystemPropertiesAdvanced -> Startup and Recovery -> Small memory dump (256KB)'
    }
} else {
    Write-Host "Minidump directory not found." -ForegroundColor Red
}

Write-Host ""
Write-Host "=== Step 2: Run System File Checker ==" -ForegroundColor Cyan
Write-Host "Running SFC /scannow (this may take 10-15 minutes)..." -ForegroundColor Yellow
Start-Process -FilePath "sfc.exe" -ArgumentList "/scannow" -Wait -Verb RunAs

Write-Host ""
Write-Host "=== Step 3: Run DISM to repair Windows image ==" -ForegroundColor Cyan
Write-Host "Running DISM RestoreHealth..." -ForegroundColor Yellow
DISM /Online /Cleanup-Image /RestoreHealth

Write-Host ""
Write-Host "=== Step 4: Reset Network Stack (fixes netio.sys, tcpip.sys, afd.sys BSODs) ==" -ForegroundColor Cyan
netsh winsock reset
netsh int ip reset
ipconfig /flushdns
Write-Host "Network stack reset complete. A reboot is required." -ForegroundColor Green

Write-Host ""
Write-Host "=== Step 5: Check RAM with Windows Memory Diagnostic ==" -ForegroundColor Cyan
Write-Host "To run RAM test on next reboot, execute:" -ForegroundColor Yellow
Write-Host "  mdsched.exe"
# Uncomment the line below to automatically schedule the RAM test:
# Start-Process mdsched.exe

Write-Host ""
Write-Host "=== Step 6: List recently installed drivers (potential BSOD culprits) ==" -ForegroundColor Cyan
Get-WinEvent -LogName System -MaxEvents 500 | Where-Object { $_.Id -eq 7045 } | Select-Object TimeCreated, Message | Format-List

Write-Host ""
Write-Host "=== Step 7: Export driver list for review ==" -ForegroundColor Cyan
driverquery /fo CSV /v | Out-File "$env:USERPROFILE\Desktop\drivers_export.csv"
Write-Host "Driver list exported to Desktop\drivers_export.csv" -ForegroundColor Green

Write-Host ""
Write-Host "=== Step 8: Check disk health ==" -ForegroundColor Cyan
# Check C: drive for errors
Write-Host "Scheduling chkdsk on C: for next reboot..." -ForegroundColor Yellow
echo Y | chkdsk C: /f /r /x

Write-Host ""
Write-Host "=== Diagnostic complete. Review output above and reboot. ==" -ForegroundColor Green
Write-Host "For minidump analysis, open WinDbg and run: !analyze -v" -ForegroundColor Yellow

# ============================================================
# Manual commands reference:
# Roll back a driver:     pnputil /delete-driver <driver.inf> /uninstall
# List all third-party drivers:
#   driverquery | findstr /v /i "microsoft"
# Identify BSOD driver from Event Log:
#   Get-WinEvent -LogName System | Where-Object {$_.LevelDisplayName -eq 'Critical'} | Select-Object -First 10 | Format-List
# ============================================================
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 kernel panics, BSODs, and system-level failures across enterprise and consumer Windows environments. Our guides are based on hands-on lab testing, official Microsoft documentation, and real-world incident data.

Sources

Related Articles in Windows 10 Irql_not_less_or_equal

Explore More windows Guides