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.
- 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.
| Method | When to Use | Time | Risk |
|---|---|---|---|
| Driver Rollback via Device Manager | After a recent driver update caused the BSOD | 5-10 min | Low |
| Driver Update (OEM or Windows Update) | Outdated driver is identified from minidump | 10-20 min | Low |
| Windows Memory Diagnostic (mdsched.exe) | Random BSODs with no consistent driver pattern | 30-90 min | None |
| SFC /scannow (System File Checker) | Corrupted system files suspected (ntfs.sys, tcpip.sys) | 10-20 min | Very Low |
| DISM RestoreHealth (offline repair) | SFC fails or reports unfixable errors | 15-30 min | Low |
| Clean Boot / Safe Mode Isolation | Conflicts between third-party software and drivers | 15-30 min | None |
| Minidump Analysis with WinDbg | Need to pinpoint exact driver or module causing fault | 20-40 min | None |
| System Restore to previous checkpoint | Error appeared after a specific system change | 15-30 min | Medium |
| Reinstall Windows (Repair Install) | All other methods failed; system is unstable | 60-120 min | Medium-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):
- Right-click Computer > Properties > Advanced system settings
- Under Startup and Recovery, click Settings
- Set Write debugging information to Small memory dump (256 KB)
- Set dump file path to
%SystemRoot%\Minidump - 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:
- Restart the PC and press F8 repeatedly before the Windows logo appears
- 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:
- Open Device Manager (run
devmgmt.msc) - Find the device associated with the driver identified in Step 1 (e.g., Network Adapters > Realtek PCIe GBE)
- 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:
- Click Start > type
mdsched.exe> press Enter - Choose Restart now and check for problems
- 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:
- Run
msconfig - Under Services, check Hide all Microsoft services, then click Disable all
- Under Startup, click Disable all
- Reboot and monitor for crashes
Step 8: Perform a System Restore
If the BSOD started after a specific update or software installation:
- Boot into Safe Mode
- Run
rstrui.exe - Select a restore point dated before the crashes began
- 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:
- Boot from DVD or USB
- Choose Install now > accept license > select Upgrade
- This reinstalls system files while preserving your data and applications
Frequently Asked Questions
:: ============================================================
:: 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"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
- https://learn.microsoft.com/en-us/windows-hardware/drivers/debugger/bug-check-0xd1--driver-irql-not-less-or-equal
- https://learn.microsoft.com/en-us/windows-hardware/drivers/devtest/driver-verifier
- https://support.microsoft.com/en-us/topic/use-the-system-file-checker-tool-to-repair-missing-or-corrupted-system-files-79aa86cb-ca52-166a-92a3-966e85d4094e
- https://stackoverflow.com/questions/7145523/how-do-i-read-windows-minidump-files
- https://learn.microsoft.com/en-us/windows-hardware/drivers/debugger/getting-started-with-windbg
- https://docs.microsoft.com/en-us/windows/win32/debug/minidump-files