IRQL NOT LESS OR EQUAL: Complete Troubleshooting Guide (Stop Code Fix)
Fix the IRQL NOT LESS OR EQUAL BSOD on Windows. Step-by-step guide covering driver rollback, memory checks, and registry fixes. Resolve stop code 0x0000000A fas
- Root cause 1: A faulty, outdated, or incompatible kernel-mode driver attempts to access memory at an IRQL level higher than permitted, triggering stop code 0x0000000A.
- Root cause 2: Defective or incompatible RAM modules cause invalid memory address references that the kernel cannot safely handle at the current interrupt request level.
- Root cause 3: Corrupted Windows system files or a recent Windows Update that introduced a broken driver component can repeatedly trigger this blue screen.
- Quick fix summary: Boot into Safe Mode, identify the offending driver using WinDbg or the minidump file, roll back or uninstall the driver, run Windows Memory Diagnostic and SFC /scannow, then update remaining drivers and BIOS firmware.
| Method | When to Use | Time | Risk |
|---|---|---|---|
| Roll back or uninstall the suspect driver | After identifying the offending driver in minidump or Event Viewer | 5-15 min | Low |
| Run Windows Memory Diagnostic (mdsched.exe) | When crashes happen under memory load or no driver is obvious | 30-90 min | Very Low |
| Run MemTest86+ overnight | When Windows Memory Diagnostic passes but crashes persist | 4-8 hours | Very Low |
| SFC /scannow + DISM restore health | After a failed Windows Update or when system files are suspected corrupt | 15-30 min | Very Low |
| Update all drivers via Device Manager or OEM tools | After OS upgrade or when multiple drivers are outdated | 20-40 min | Low |
| Use System Restore to previous checkpoint | When the BSOD started after a specific software/driver install | 10-20 min | Low-Medium |
| Clean reinstall of Windows | When all other methods fail and crashes continue on every boot | 60-120 min | High (data loss risk) |
| Update BIOS/UEFI firmware | When hardware-level instability is suspected, especially after hardware swap | 10-20 min | Medium |
Understanding the IRQL NOT LESS OR EQUAL Error
The full stop code you will see on a Windows Blue Screen of Death (BSOD) is:
Your PC ran into a problem and needs to restart.
Stop Code: IRQL_NOT_LESS_OR_EQUAL
The underlying bug check code is 0x0000000A. The technical meaning: a kernel-mode process or driver attempted to access a pageable (or completely invalid) memory address at a raised Interrupt Request Level (IRQL). Windows enforces strict rules about which IRQL levels are allowed to access different types of memory. When a driver breaks this rule — even for a single instruction — the kernel issues a bug check and reboots to prevent data corruption.
In Polish-language Windows environments, this same crash appears as "Kod zatrzymania: DRIVER IRQL NOT LESS OR EQUAL" or "IRQL NOT LESS OR EQUAL jak rozwiązać" (how to resolve). The fix steps are identical regardless of the locale.
Step 1: Capture the Minidump and Identify the Culprit
Before you change anything, grab the crash evidence.
1a. Locate the minidump file:
Navigate to C:\Windows\Minidump\ in File Explorer. You will find files named like 081524-12345-01.dmp. The filename prefix is the crash date.
1b. Analyze with WinDbg (Windows Debugger):
Install WinDbg from the Microsoft Store or via the Windows SDK. Then open the .dmp file:
- Launch WinDbg as Administrator.
- File → Open Crash Dump → select your
.dmpfile. - In the command pane, type:
!analyze -v
The output will include a line like:
Probably caused by : nvlddmkm.sys (nvlddmkm+0x3d4a5)
This tells you exactly which driver caused the crash. Common offenders include:
nvlddmkm.sys— NVIDIA display driverntoskrnl.exe— May indicate RAM issuestcpip.sys— Network stack driverndis.sys— Network driver interfacestorport.sys— Storage driveratikmdag.sys/amdkmpfd.sys— AMD display driver
1c. Check Event Viewer for context:
Press Win + R, type eventvwr.msc, and navigate to Windows Logs → System. Filter by Event ID 41 (Kernel Power) and Event ID 1001 (BugCheck) around the time of the crash.
Step 2: Boot Into Safe Mode
If the system keeps crashing on normal boot, enter Safe Mode to perform repairs:
- Hold Shift while clicking Restart in the Start menu.
- Go to Troubleshoot → Advanced Options → Startup Settings → Restart.
- Press 4 or F4 to boot into Safe Mode (or 5/F5 for Safe Mode with Networking).
Alternatively, boot from a Windows installation USB, choose Repair your computer, then open a Command Prompt.
Step 3: Roll Back or Uninstall the Offending Driver
Once you know the filename from the minidump:
- Press
Win + X→ Device Manager. - Find the device associated with the driver (e.g., Display Adapters for
nvlddmkm.sys). - Right-click the device → Properties → Driver tab.
- Click Roll Back Driver if available, or Uninstall Device (check "Delete the driver software for this device").
- Restart the system.
For network drivers that crash on boot, uninstall via Safe Mode. For display drivers, use Display Driver Uninstaller (DDU) in Safe Mode for a completely clean removal.
Step 4: Run System File Checker and DISM
Corrupted system files can cause driver-level issues. Run these in order in an elevated Command Prompt:
sfc /scannow
DISM /Online /Cleanup-Image /CheckHealth
DISM /Online /Cleanup-Image /ScanHealth
DISM /Online /Cleanup-Image /RestoreHealth
After DISM completes, run sfc /scannow a second time to confirm repairs.
Step 5: Test Your RAM
If ntoskrnl.exe is the culprit or the minidump shows a null/invalid address, bad RAM is likely.
Option A — Windows Memory Diagnostic:
Press Win + R, type mdsched.exe. Choose Restart now and check for problems. After the test, check Event Viewer under Windows Logs → System for MemoryDiagnostics-Results events.
Option B — MemTest86+ (more thorough):
Download from memtest86.com, write to a USB drive, and boot from it. Run at least 2 full passes (ideally overnight). Any errors indicate faulty RAM that must be replaced or reseated.
Physical steps if errors are found:
- Reseat RAM sticks (remove, clean contacts with eraser, reinsert firmly).
- Test one stick at a time to isolate the bad module.
- Try different DIMM slots.
Step 6: Update All Remaining Drivers and Windows
- Windows Update: Settings → Update & Security → Windows Update → Check for updates. Install all pending updates including optional driver updates.
- Device Manager: Right-click each device → Update driver → Search automatically.
- OEM Tools: Use NVIDIA GeForce Experience, AMD Adrenalin, Intel Driver & Support Assistant, or your laptop manufacturer's update utility (HP Support Assistant, Dell SupportAssist, Lenovo Vantage).
Step 7: Check for Overclocking and Thermal Issues
If you have applied any CPU, GPU, or RAM overclocks:
- Reset BIOS/UEFI to default settings (look for Load Optimized Defaults or Load Setup Defaults).
- Check CPU and GPU temperatures with HWMonitor or HWiNFO64. CPU should stay below 90°C under load; GPU below 85°C.
- Re-apply thermal paste if the CPU cooler has not been serviced in 3+ years.
Step 8: Use System Restore as a Fast Rollback
If the BSOD started after a specific date:
- Press
Win + R→ typerstrui.exe→ Enter. - Choose a restore point dated before the crashes began.
- Follow the wizard. This rolls back drivers, registry entries, and system files without affecting personal data.
Step 9: Last Resort — Clean Windows Reinstall
If nothing above resolves the issue:
- Back up all important data to an external drive.
- Create a Windows 11/10 bootable USB using the Media Creation Tool from microsoft.com.
- Boot from USB, choose Custom: Install Windows only, delete the existing OS partition, and install fresh.
- After installation, install chipset drivers first, then GPU drivers, then all others one at a time — testing for stability between each install.
Frequently Asked Questions
# ============================================================
# IRQL NOT LESS OR EQUAL - Diagnostic & Fix Script
# Run in an elevated PowerShell or Command Prompt
# ============================================================
# --- 1. List recent BSOD events from Event Log ---
Write-Host "=== Recent BSOD Events ==="
Get-WinEvent -FilterHashtable @{LogName='System'; Id=1001} -MaxEvents 10 |
Select-Object TimeCreated, Message | Format-List
# --- 2. List minidump files with timestamps ---
Write-Host "`n=== Minidump Files ==="
Get-ChildItem "C:\Windows\Minidump" -Filter "*.dmp" -ErrorAction SilentlyContinue |
Sort-Object LastWriteTime -Descending |
Select-Object Name, LastWriteTime, @{N='SizeMB';E={[math]::Round($_.Length/1MB,2)}}
# --- 3. Check last 10 driver install events ---
Write-Host "`n=== Recent Driver Installations ==="
Get-WinEvent -FilterHashtable @{LogName='System'; Id=@(7034,7035,7036,7045)} -MaxEvents 20 -ErrorAction SilentlyContinue |
Select-Object TimeCreated, Message | Format-List
# --- 4. Run System File Checker ---
Write-Host "`n=== Running SFC /scannow ==="
sfc /scannow
# --- 5. Run DISM to restore Windows image health ---
Write-Host "`n=== Running DISM RestoreHealth ==="
DISM /Online /Cleanup-Image /RestoreHealth
# --- 6. Check for pending Windows Updates (PowerShell 5+) ---
Write-Host "`n=== Checking Windows Update Status ==="
(New-Object -ComObject Microsoft.Update.Session).CreateUpdateSearcher().Search("IsInstalled=0").Updates |
Select-Object Title, MsrcSeverity | Format-Table -AutoSize
# --- 7. List all third-party drivers loaded in kernel ---
Write-Host "`n=== Third-Party Kernel Drivers ==="
Get-WmiObject Win32_SystemDriver | Where-Object {$_.PathName -notlike "*System32*" -and $_.State -eq 'Running'} |
Select-Object Name, PathName, State | Format-Table -AutoSize
# --- 8. List all recently modified drivers (last 30 days) ---
Write-Host "`n=== Drivers Modified in Last 30 Days ==="
Get-ChildItem "C:\Windows\System32\drivers" -Filter "*.sys" |
Where-Object {$_.LastWriteTime -gt (Get-Date).AddDays(-30)} |
Sort-Object LastWriteTime -Descending |
Select-Object Name, LastWriteTime | Format-Table -AutoSize
# --- 9. Trigger Windows Memory Diagnostic (requires reboot) ---
# Uncomment the next line to schedule a RAM test on next reboot:
# mdsched.exe
# --- 10. WinDbg Quick Analyze (if WinDbg is installed) ---
# Replace the path with your actual .dmp file path
# windbg -z "C:\Windows\Minidump\YourFile.dmp" -c "!analyze -v; q"
Write-Host "`n=== Diagnostic Complete ==="
Write-Host "Review the output above. Check SFC results in C:\Windows\Logs\CBS\CBS.log"
Write-Host "Check DISM results in C:\Windows\Logs\DISM\dism.log"Error Medic Editorial
The Error Medic Editorial team is composed of senior DevOps and SRE engineers with 10+ years of experience diagnosing Windows kernel crashes, Linux system failures, and cloud infrastructure incidents. We specialize in translating cryptic stop codes and error messages into clear, actionable troubleshooting steps backed by official Microsoft documentation, community research, and hands-on lab testing. Every guide is verified against real crash dumps and tested on live systems before publication.
Sources
- https://learn.microsoft.com/en-us/windows-hardware/drivers/debugger/bug-check-0xa--irql-not-less-or-equal
- https://support.microsoft.com/en-us/windows/run-windows-memory-diagnostic-tool-f0e2d3e4-1f7c-4f3a-a8a3-e5a0a3e6c5c0
- https://learn.microsoft.com/en-us/windows-hardware/manufacture/desktop/repair-a-windows-image
- https://stackoverflow.com/questions/tagged/bsod
- https://www.memtest86.com/
- https://learn.microsoft.com/en-us/windows-hardware/drivers/debugger/getting-started-with-windbg