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 BSODs on Windows 10. Step-by-step driver, RAM, and kernel troubleshooting guide.

Last updated:
Last verified:
2,396 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 elevated IRQL (Interrupt Request Level), violating Windows kernel rules.
  • Root Cause 2: Faulty, outdated, or incompatible hardware drivers — especially GPU, NIC, and chipset drivers — are responsible for the vast majority of DRIVER_IRQL_NOT_LESS_OR_EQUAL stop codes.
  • Root Cause 3: Defective or improperly configured RAM (wrong XMP/DOCP profile, bad DIMM slot, or failing sticks) can trigger IRQL_NOT_LESS_OR_EQUAL, particularly on fresh installs or at startup.
  • Root Cause 4: Corrupted Windows system files (ntoskrnl.exe references in the dump) or malware-injected drivers can produce this BSOD without any hardware fault.
  • Quick Fix Summary: Run Windows Memory Diagnostic and Driver Verifier to isolate the culprit; update or roll back the offending driver; run SFC /scannow and DISM to repair system files; and if RAM is bad, reseat or replace the faulty DIMM.
Fix Approaches Compared
MethodWhen to UseTimeRisk
Update/Roll Back Offending DriverBSOD dump names a specific .sys file (nvlddmkm.sys, netio.sys, afd.sys, tcpip.sys)5–15 minLow
Windows Memory Diagnostic / MemTest86BSOD occurs on fresh install, at startup, or dump shows ntoskrnl.exe with no clear driver30 min – 8 hrsNone
Driver VerifierMultiple drivers are suspect; need to isolate the exact culprit systematically1–4 hrs (stress testing)Medium — may cause boot loops
SFC /scannow + DISMntoskrnl.exe listed in dump; system files suspected corrupt after update or malware15–30 minLow
Uninstall Conflicting Software / AntivirusBSOD started after installing new software, VPN, or third-party antivirus5–10 minLow
Clean Windows 10 InstallAll other methods fail; system is heavily corrupted or hardware incompatibility confirmed1–2 hrsHigh — data loss risk
BIOS/UEFI Firmware UpdateBSOD appears only during heavy workloads or with new hardware; chipset driver fails20–30 minMedium

Understanding the IRQL_NOT_LESS_OR_EQUAL Error

When Windows 10 displays a Blue Screen of Death (BSOD) with stop code IRQL_NOT_LESS_OR_EQUAL (bug check 0x0000000A) or DRIVER_IRQL_NOT_LESS_OR_EQUAL (bug check 0x000000D1), it means a kernel-mode component tried to access pageable memory while running at an Interrupt Request Level (IRQL) that was too high. At elevated IRQLs, Windows cannot safely page memory in from disk, so it halts the entire system to prevent data corruption.

The exact stop screen typically reads:

Your PC ran into a problem and needs to restart.
Stop code: DRIVER_IRQL_NOT_LESS_OR_EQUAL
What failed: nvlddmkm.sys (or netio.sys / afd.sys / tcpip.sys / ntoskrnl.exe)

The filename listed after "What failed" is your primary diagnostic clue.


Step 1: Read the Crash Dump

Before applying any fix, identify the exact driver at fault.

  1. Press Win + R, type %SystemRoot%\Minidump, and press Enter.
  2. Download WinDbg Preview from the Microsoft Store or install the Windows Debugging Tools.
  3. Open WinDbg, go to File → Open Crash Dump, and select the most recent .dmp file.
  4. In the command window, type: !analyze -v
  5. Look for the IMAGE_NAME and MODULE_NAME fields. These name the offending driver.

Alternatively, use WhoCrashed (free tool) for a plain-English summary.

Common offenders and their meaning:

  • nvlddmkm.sys — NVIDIA display driver (GPU driver issue)
  • netio.sys / tcpip.sys — Windows network stack (NIC driver, VPN, or firewall conflict)
  • afd.sys — Ancillary Function Driver for Winsock (network software conflict)
  • ntoskrnl.exe — Windows kernel itself (RAM fault, corrupt system files, or rootkit)
  • dxgmms2.sys — DirectX Graphics MMS (GPU or display driver issue)

Step 2: Fix Driver-Related BSODs

2a. Update the Offending Driver
  1. Press Win + XDevice Manager.
  2. Locate the device associated with the .sys file (e.g., for nvlddmkm.sys → Display Adapters → your NVIDIA GPU).
  3. Right-click → Update driverSearch automatically for drivers.
  4. Alternatively, download the latest driver directly from the manufacturer's website (NVIDIA, AMD, Intel, Realtek, etc.).

For NVIDIA GPUs experiencing driver_irql_not_less_or_equal nvlddmkm sys windows 10:

  • Go to https://www.nvidia.com/Download/index.aspx
  • Select your GPU and OS, download the DCH or Standard driver package.
  • Use DDU (Display Driver Uninstaller) in Safe Mode to fully remove the old driver before installing the new one.
2b. Roll Back the Driver

If the BSOD started after a Windows Update or driver update:

  1. Device Manager → right-click the device → PropertiesDriver tab.
  2. Click Roll Back Driver if available.
2c. Fix Network Driver BSODs (netio.sys, afd.sys, tcpip.sys)
  • Update your NIC driver from the motherboard or laptop manufacturer's support page.
  • Disable Large Send Offload (LSO) in NIC advanced properties.
  • Temporarily uninstall VPN clients (NordVPN, ExpressVPN, etc.) or third-party firewalls.
  • Reset the Windows network stack:
    netsh winsock reset
    netsh int ip reset
    ipconfig /flushdns
    
    Then restart.

Step 3: Test and Fix RAM

If the crash dump points to ntoskrnl.exe or the BSOD occurs during Windows 10 installation or at startup, RAM is a primary suspect.

3a. Windows Memory Diagnostic
  1. Press Win + R, type mdsched.exe, press Enter.
  2. Choose Restart now and check for problems.
  3. Windows will reboot and run the standard memory test. Check results in Event Viewer under Windows Logs → System, source MemoryDiagnostics-Results.
3b. MemTest86 (Thorough)

For a more thorough test, download MemTest86 (https://www.memtest86.com/), burn it to a USB, and run it overnight (minimum 2 full passes).

3c. Hardware Steps
  • Reseat RAM: Power off, remove sticks, clean contacts with isopropyl alcohol, and reinsert firmly.
  • Test one stick at a time: Remove all but one DIMM, boot, and test each stick individually.
  • Disable XMP/DOCP: Enter BIOS/UEFI, go to memory settings, and set RAM to its default JEDEC frequency (e.g., 2133 MHz) instead of the XMP overclock profile. This is a very common cause of IRQL BSODs on fresh Windows 10 installs.

Step 4: Repair System Files

When ntoskrnl.exe is blamed, corruption in core Windows files may be the issue.

Run from an elevated Command Prompt:

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

Restart after completion and monitor for recurrence.


Step 5: Use Driver Verifier to Isolate Unknown Drivers

If you cannot identify the faulty driver from the dump, Driver Verifier will stress-test all non-Microsoft drivers and produce a more informative crash dump.

Warning: This step may cause your system to BSOD repeatedly. Only do this when you can afford instability, and know how to disable Verifier from Safe Mode.

  1. Press Win + R, type verifier, press Enter.
  2. Select Create standard settingsNext.
  3. Select Automatically select all drivers installed on this computerFinish.
  4. Restart. Use the system normally. When a BSOD occurs, the dump will now name the exact driver.
  5. To disable: Boot into Safe Mode (hold Shift while clicking Restart → Troubleshoot → Advanced Options → Startup Settings → F4), then run verifier /reset in Command Prompt.

Step 6: Check for Windows Updates and BIOS Firmware

  • Go to Settings → Update & Security → Windows Update and install all pending updates.
  • Visit your motherboard or laptop manufacturer's support page and update the BIOS/UEFI firmware. Firmware bugs can cause chipset drivers to misbehave.

Step 7: Clean Boot and Software Conflicts

Third-party antivirus, VPN kernel drivers, and overclocking utilities frequently cause IRQL violations.

  1. Press Win + R, type msconfig, press Enter.
  2. Go to Services tab, check Hide all Microsoft services, then click Disable all.
  3. Go to Startup tab → Open Task Manager → disable all startup items.
  4. Restart and observe. If stable, re-enable services in batches to identify the culprit.

Step 8: Last Resort — Reset or Reinstall Windows 10

If all else fails:

  • Go to Settings → Update & Security → Recovery → Reset this PC.
  • Choose Keep my files for a soft reset, or Remove everything for a clean slate.
  • Alternatively, create a bootable Windows 10 USB via the Media Creation Tool and perform a clean install. This also resolves irql_not_less_or_equal installing windows 10 scenarios caused by incompatible drivers in the setup environment.

Frequently Asked Questions

powershell
# ============================================================
# IRQL_NOT_LESS_OR_EQUAL / DRIVER_IRQL_NOT_LESS_OR_EQUAL
# Windows 10 Diagnostic & Fix Script
# Run in an elevated (Administrator) PowerShell window
# ============================================================

# --- 1. Check for recent BSOD minidump files ---
Write-Host "=== Recent Minidump Files ==="
$minidumpPath = "$env:SystemRoot\Minidump"
if (Test-Path $minidumpPath) {
    Get-ChildItem -Path $minidumpPath -Filter "*.dmp" | Sort-Object LastWriteTime -Descending | Select-Object -First 5 | Format-Table Name, LastWriteTime, Length
} else {
    Write-Host "No minidump folder found. Ensure crash dumps are enabled."
}

# --- 2. Check Windows Event Log for Memory Diagnostic results ---
Write-Host "`n=== Memory Diagnostic Results ==="
try {
    Get-WinEvent -LogName System -MaxEvents 50 | Where-Object { $_.ProviderName -eq 'Microsoft-Windows-MemoryDiagnostics-Results' } | Select-Object TimeCreated, Message | Format-List
} catch {
    Write-Host "No Memory Diagnostic results found. Run mdsched.exe to schedule a test."
}

# --- 3. Run System File Checker ---
Write-Host "`n=== Running SFC (System File Checker) ==="
sfc /scannow

# --- 4. Run DISM to repair Windows image ---
Write-Host "`n=== Running DISM Health Check ==="
DISM /Online /Cleanup-Image /CheckHealth
Write-Host "`n=== Running DISM RestoreHealth ==="
DISM /Online /Cleanup-Image /RestoreHealth

# --- 5. Reset Winsock and TCP/IP stack (for netio.sys / tcpip.sys BSODs) ---
Write-Host "`n=== Resetting Network Stack ==="
netsh winsock reset
netsh int ip reset
ipconfig /flushdns
Write-Host "Network stack reset complete. A restart is required."

# --- 6. List all third-party (non-Microsoft) kernel drivers currently running ---
Write-Host "`n=== Third-Party Kernel Drivers ==="
Get-WmiObject Win32_SystemDriver | Where-Object { $_.State -eq 'Running' } | ForEach-Object {
    $path = $_.PathName -replace '\\\?\\', ''
    if ($path -and (Test-Path $path)) {
        $sig = Get-AuthenticodeSignature $path -ErrorAction SilentlyContinue
        if ($sig -and $sig.SignerCertificate -and $sig.SignerCertificate.Subject -notmatch 'Microsoft') {
            [PSCustomObject]@{
                Name        = $_.Name
                DisplayName = $_.DisplayName
                Path        = $path
                Signer      = $sig.SignerCertificate.Subject
            }
        }
    }
} | Format-Table -AutoSize

# --- 7. Enable Driver Verifier on all non-Microsoft drivers ---
# WARNING: This will cause BSODs until you identify and fix the bad driver.
# Uncomment ONLY if you need to isolate an unknown driver.
# After identifying the driver, run: verifier /reset
# verifier /standard /all

# --- 8. Check RAM details (installed DIMMs) ---
Write-Host "`n=== Installed RAM Details ==="
Get-WmiObject Win32_PhysicalMemory | Select-Object Tag, Capacity, Speed, Manufacturer, MemoryType, FormFactor | Format-Table -AutoSize

# --- 9. Schedule Windows Memory Diagnostic on next boot ---
Write-Host "`n=== Scheduling Memory Diagnostic on Next Reboot ==="
# Uncomment the next line to schedule automatically:
# Start-Process mdsched.exe
Write-Host "Run 'mdsched.exe' manually and choose 'Restart now and check for problems'."

# --- 10. Export system info for further analysis ---
Write-Host "`n=== Exporting System Information to C:\irql_debug_info.txt ==="
$outputFile = "C:\irql_debug_info.txt"
"IRQL BSOD Debug Report - $(Get-Date)" | Out-File $outputFile
"`n--- OS Version ---" | Out-File $outputFile -Append
(Get-WmiObject Win32_OperatingSystem | Select-Object Caption, Version, BuildNumber, OSArchitecture) | Out-File $outputFile -Append

"`n--- Installed Drivers ---" | Out-File $outputFile -Append
Get-WmiObject Win32_SystemDriver | Select-Object Name, State, PathName | Out-File $outputFile -Append

"`n--- Recent System Errors ---" | Out-File $outputFile -Append
Get-WinEvent -LogName System -MaxEvents 100 -ErrorAction SilentlyContinue | Where-Object { $_.LevelDisplayName -eq 'Error' -or $_.LevelDisplayName -eq 'Critical' } | Select-Object TimeCreated, LevelDisplayName, Message | Out-File $outputFile -Append

Write-Host "Report saved to $outputFile"
Write-Host "`n=== Diagnostic Complete. Review output above and the report at $outputFile ==="
E

Error Medic Editorial

Error Medic Editorial is a team of senior DevOps and SRE engineers with 10+ years of experience diagnosing Windows kernel panics, Linux system crashes, and cloud infrastructure failures. We combine crash dump analysis, vendor documentation, and community-sourced fixes to deliver actionable, technically accurate troubleshooting guides. Our Windows expertise spans kernel debugging with WinDbg, driver certification, and enterprise incident response.

Sources

Related Articles in Windows 10 Irql_not_less_or_equal

Explore More windows Guides