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.
- 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.
| Method | When to Use | Time | Risk |
|---|---|---|---|
| Update/Roll Back Driver | Crash references a specific .sys file (nvlddmkm.sys, netio.sys, tcpip.sys, afd.sys) | 5–15 min | Low |
| Windows Memory Diagnostic / MemTest86 | Crash happens randomly or references irql error with no clear driver; system is unstable after RAM upgrade | 30 min – 8 hrs | None |
| SFC /scannow + DISM Repair | ntoskrnl.exe referenced in crash; fresh install or upgrade triggered the BSOD | 15–30 min | Very Low |
| Uninstall Third-Party Antivirus / VPN | BSOD started after installing security software or VPN client | 5 min | Low |
| Disable Overclocking / XMP Profile | System is overclocked or XMP/EXPO RAM profile is enabled; crash after hardware change | 5 min | None |
| Windows 10 Clean Install / Repair Upgrade | All other methods failed; system crashes on startup or during Windows 10 installation | 1–2 hrs | Medium (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.
- Hold Shift while clicking Restart from the Windows 10 login screen.
- Navigate to Troubleshoot → Advanced Options → Startup Settings → Restart.
- 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):
- Open Device Manager (
devmgmt.msc). - Expand Display Adapters, right-click your NVIDIA GPU, and select Update Driver or Roll Back Driver.
- 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):
- Press
Win + R, typemdsched.exe, and press Enter. - Choose Restart now and check for problems.
- The tool runs automatically on reboot. Results appear after Windows restarts.
MemTest86 (more thorough):
- Download MemTest86 from memtest86.com.
- Write it to a USB drive using the included tool.
- Boot from the USB and let it run for at least 2 full passes (ideally overnight).
- 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.
- Go to Settings → Update & Security → Windows Update.
- Click Check for updates and install all available updates including optional driver updates.
- 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:
- Enter BIOS/UEFI (press Del, F2, or F12 during POST — key varies by manufacturer).
- Navigate to the overclocking or AI Tweaker section.
- Set all values to Auto or load Optimized Defaults.
- 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):
- Download the Windows 10 Media Creation Tool.
- Run
setup.exefrom within Windows (not bootable media). - Choose Upgrade this PC now and select Keep personal files and apps.
Clean Install (last resort — backup your data first):
- Create a bootable USB with the Media Creation Tool.
- Boot from USB and choose Custom: Install Windows only.
- 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
# ============================================================
# 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
# ============================================================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
- https://learn.microsoft.com/en-us/windows-hardware/drivers/debugger/bug-check-0xa--irql-not-less-or-equal
- https://learn.microsoft.com/en-us/windows-hardware/drivers/debugger/bug-check-0xd1--driver-irql-not-less-or-equal
- https://support.microsoft.com/en-us/windows/fix-blue-screen-errors-in-windows-9b05a4a2-3a71-6e40-a475-7e24d6dd64fe
- https://learn.microsoft.com/en-us/windows-hardware/drivers/devtest/driver-verifier
- https://stackoverflow.com/questions/tagged/bsod+windows-10
- https://www.memtest86.com/technical.htm