Error Medic

DRIVER_IRQL_NOT_LESS_OR_EQUAL Windows 7: Complete Fix Guide

Fix DRIVER_IRQL_NOT_LESS_OR_EQUAL BSOD on Windows 7 with step-by-step diagnostic commands, driver rollback, memory tests, and registry tweaks. Resolve it today.

Last updated:
Last verified:
2,039 words
Key Takeaways
  • Root Cause 1: A kernel-mode driver attempted to access pageable memory at an IRQL (Interrupt Request Level) that was too high, most commonly caused by a faulty, outdated, or incompatible network adapter, graphics, or storage driver.
  • Root Cause 2: Defective or incompatible RAM modules can cause random memory access violations that trigger the IRQL_NOT_LESS_OR_EQUAL stop code, especially after hardware changes or overclocking.
  • Root Cause 3: Malware, antivirus software conflicts, or a corrupted Windows system file (ntfs.sys, tcpip.sys, ndis.sys) intercepting kernel calls can corrupt IRQL-sensitive memory regions.
  • Quick Fix Summary: Boot into Safe Mode, identify the offending driver from the minidump file using WinDbg or WhoCrashed, update or roll back that driver, run Windows Memory Diagnostic, and execute 'sfc /scannow' to repair corrupted system files.
Fix Approaches Compared
MethodWhen to UseTimeRisk
Driver Rollback via Device ManagerAfter a recent driver update caused the BSOD5-10 minLow
Driver Update (OEM or Windows Update)Outdated driver is identified from minidump10-20 minLow
Windows Memory Diagnostic (mdsched.exe)Random BSODs with no consistent driver pattern30-90 minNone
SFC /scannow (System File Checker)Corrupted system files suspected (ntfs.sys, tcpip.sys)10-20 minVery Low
DISM RestoreHealth (offline repair)SFC fails or reports unfixable errors15-30 minLow
Clean Boot / Safe Mode IsolationConflicts between third-party software and drivers15-30 minNone
Minidump Analysis with WinDbgNeed to pinpoint exact driver or module causing fault20-40 minNone
System Restore to previous checkpointError appeared after a specific system change15-30 minMedium
Reinstall Windows (Repair Install)All other methods failed; system is unstable60-120 minMedium-High

Understanding the DRIVER_IRQL_NOT_LESS_OR_EQUAL Error on Windows 7

The stop code 0x000000D1 (also displayed as DRIVER_IRQL_NOT_LESS_OR_EQUAL) is one of the most frequent Blue Screen of Death (BSOD) errors on Windows 7. The full error message on screen typically reads:

A problem has been detected and Windows has been shut down to prevent damage to your computer.

DRIVER_IRQL_NOT_LESS_OR_EQUAL

If this is the first time you've seen this Stop error screen, restart your computer. If this screen appears again, follow these steps:

Check to make sure any new hardware or software is properly installed.
...

Technical information:
*** STOP: 0x000000D1 (0xFFFFFA8005B6A000, 0x0000000000000002, 0x0000000000000001, 0xFFFFF88001B3C9A0)
*** ndis.sys - Address FFFFF88001B3C9A0 base at FFFFF88001B10000, Datestamp 4a5bdf31

The four hexadecimal parameters after the stop code represent: (1) the memory address that was referenced, (2) the IRQL at the time of the fault, (3) the type of access (0=read, 1=write), and (4) the address of the instruction that caused the fault.

Why does IRQL matter? Windows uses IRQLs to manage hardware interrupt priority. Drivers running at a high IRQL (e.g., DISPATCH_LEVEL or above) must only access non-pageable memory. If a driver dereferences a pointer to pageable memory while at an elevated IRQL, Windows immediately halts execution with this stop code to prevent data corruption.


Step 1: Capture and Analyze the Minidump File

Before applying any fix, identify exactly which driver caused the crash.

Enable minidump creation (if not already active):

  1. Right-click Computer > Properties > Advanced system settings
  2. Under Startup and Recovery, click Settings
  3. Set Write debugging information to Small memory dump (256 KB)
  4. Set dump file path to %SystemRoot%\Minidump
  5. Click OK and reboot

After the next crash, the minidump file appears in C:\Windows\Minidump\ with a name like Mini061524-01.dmp.

Analyze with WhoCrashed (GUI - easiest for most users): Download WhoCrashed from resplendence.com, install it, and click Analyze. It will display the faulting driver name, crash address, and a plain-English description.

Analyze with WinDbg (command-line, most powerful): Install the Windows Debugging Tools (part of the Windows SDK). Then:

windbg -y srv*c:\symbols*https://msdl.microsoft.com/download/symbols -z C:\Windows\Minidump\Mini061524-01.dmp

Inside WinDbg, run:

!analyze -v

Look for the MODULE_NAME and IMAGE_NAME fields. A result like ndis.sys or nvlddmkm.sys tells you the exact driver.


Step 2: Boot Into Safe Mode

If the system crashes on every startup, boot into Safe Mode to perform repairs:

  1. Restart the PC and press F8 repeatedly before the Windows logo appears
  2. Select Safe Mode (network-only if you need to download drivers) or Safe Mode with Command Prompt

In Safe Mode, only essential Microsoft drivers load, which isolates third-party driver conflicts.


Step 3: Update or Roll Back the Offending Driver

Roll back a recently updated driver:

  1. Open Device Manager (run devmgmt.msc)
  2. Find the device associated with the driver identified in Step 1 (e.g., Network Adapters > Realtek PCIe GBE)
  3. Right-click > Properties > Driver tab > Roll Back Driver

Update to the latest stable driver:

  • For NVIDIA GPU (nvlddmkm.sys): Download from https://www.nvidia.com/drivers
  • For network adapters (ndis.sys, tcpip.sys): Download from your motherboard OEM's support page
  • For Intel storage (iaStorA.sys): Download Intel RST driver from ark.intel.com

Uninstall a suspected driver completely:

pnputil.exe -d oem23.inf

Replace oem23.inf with the actual INF file of the problematic driver (found in C:\Windows\System32\DriverStore\FileRepository\).


Step 4: Run Windows Memory Diagnostic

Faulty RAM is a leading cause of sporadic IRQL_NOT_LESS_OR_EQUAL crashes. Test it:

  1. Click Start > type mdsched.exe > press Enter
  2. Choose Restart now and check for problems
  3. The tool runs on reboot and reports errors upon return to Windows

Alternatively, use MemTest86 (free, bootable USB tool) for a more thorough multi-pass test. If any errors appear, replace the faulty RAM module.


Step 5: Repair System Files with SFC and DISM

Corrupted Windows system files (particularly ntfs.sys, tcpip.sys, ks.sys, ndis.sys) can cause repeated IRQL crashes.

Open Command Prompt as Administrator and run:

sfc /scannow

If SFC reports "Windows Resource Protection found corrupt files but was unable to fix some of them," escalate to DISM:

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

After DISM completes, re-run sfc /scannow and then reboot.


Step 6: Check for Overheating and Hardware Issues

Overheating can corrupt memory transactions mid-flight. Use HWMonitor or SpeedFan to check CPU and GPU temperatures. Acceptable idle ranges:

  • CPU: below 50°C
  • GPU: below 60°C

Also run a hard disk check:

chkdsk C: /f /r

Type Y when prompted to schedule on next reboot.


Step 7: Disable or Uninstall Conflicting Software

Third-party antivirus (especially older versions of Norton, McAfee, or Comodo) can inject kernel drivers that conflict with Windows 7's IRQL management. If the crash analysis points to a file like MpFilter.sys (Microsoft Security Essentials), avgtdix.sys (AVG), or klif.sys (Kaspersky), temporarily uninstall the antivirus and observe stability.

For a clean boot test:

  1. Run msconfig
  2. Under Services, check Hide all Microsoft services, then click Disable all
  3. Under Startup, click Disable all
  4. Reboot and monitor for crashes

Step 8: Perform a System Restore

If the BSOD started after a specific update or software installation:

  1. Boot into Safe Mode
  2. Run rstrui.exe
  3. Select a restore point dated before the crashes began
  4. Complete the restore and reboot

Step 9: Last Resort — Repair Install

If all steps above fail, perform an in-place upgrade/repair install using your Windows 7 installation media without losing personal files:

  1. Boot from DVD or USB
  2. Choose Install now > accept license > select Upgrade
  3. This reinstalls system files while preserving your data and applications

Frequently Asked Questions

batch
:: ============================================================
:: Windows 7 DRIVER_IRQL_NOT_LESS_OR_EQUAL Diagnostic Script
:: Run as Administrator in Command Prompt
:: ============================================================

:: --- Step 1: Check for corrupted system files ---
echo [1/8] Running System File Checker...
sfc /scannow

:: --- Step 2: DISM health check and repair ---
echo [2/8] Running DISM health scan...
Dism /Online /Cleanup-Image /ScanHealth
echo [2b/8] Running DISM RestoreHealth...
Dism /Online /Cleanup-Image /RestoreHealth

:: --- Step 3: Reset TCP/IP and Winsock (fixes ndis.sys crashes) ---
echo [3/8] Resetting network stack...
netsh int ip reset C:\netsh_ip_reset.log
netsh winsock reset catalog

:: --- Step 4: Check disk for errors ---
echo [4/8] Scheduling disk check on next reboot...
chkdsk C: /f /r
:: Type Y when prompted

:: --- Step 5: List all installed third-party drivers ---
echo [5/8] Listing non-Microsoft drivers...
driverquery /v /fo csv | findstr /v /i "microsoft" > C:\ThirdPartyDrivers.csv
echo Results saved to C:\ThirdPartyDrivers.csv

:: --- Step 6: List recent minidump files ---
echo [6/8] Listing recent crash dump files...
dir C:\Windows\Minidump\ /od

:: --- Step 7: Export system event log for crash events ---
echo [7/8] Exporting System event log (last 100 errors)...
wevtutil qe System /c:100 /rd:true /f:text /q:"*[System[(Level=1 or Level=2)]]" > C:\SystemErrors.txt
echo Results saved to C:\SystemErrors.txt

:: --- Step 8: Check RAM slots and current memory info ---
echo [8/8] Querying installed memory modules...
wmic memorychip get BankLabel, Capacity, Speed, Manufacturer, PartNumber

echo.
echo ============================================================
echo Diagnostics complete. Review output files:
echo   C:\ThirdPartyDrivers.csv  -- suspect third-party drivers
echo   C:\SystemErrors.txt       -- recent system errors
echo   C:\Windows\Minidump\      -- crash dump files for WinDbg
echo ============================================================
pause

:: --- Optional: Launch WinDbg analysis on latest minidump ---
:: Uncomment and adjust path after installing Windows Debugging Tools
:: FOR /F "delims=" %%i IN ('dir C:\Windows\Minidump\*.dmp /b /od') DO SET LATEST=%%i
:: "C:\Program Files (x86)\Windows Kits\8.1\Debuggers\x64\windbg.exe" -y srv*C:\symbols*https://msdl.microsoft.com/download/symbols -z "C:\Windows\Minidump\%LATEST%" -c "!analyze -v; q"
E

Error Medic Editorial

The Error Medic Editorial team is composed of senior DevOps engineers, SREs, and Windows system administrators with over 15 years of combined experience diagnosing kernel-level crashes, BSOD errors, and enterprise Windows infrastructure failures. Our guides are built from real-world incident response playbooks, official Microsoft documentation, and community-validated fixes — not generic advice. We test every command and procedure in lab environments running Windows 7, 10, and 11 before publishing.

Sources

Related Articles in Windows 7 Irql_not_less_or_equal

Explore More windows Guides