Error Medic

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

Last updated:
Last verified:
2,103 words
Key Takeaways
  • 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.
Fix Approaches Compared
MethodWhen to UseTimeRisk
Roll back or uninstall the suspect driverAfter identifying the offending driver in minidump or Event Viewer5-15 minLow
Run Windows Memory Diagnostic (mdsched.exe)When crashes happen under memory load or no driver is obvious30-90 minVery Low
Run MemTest86+ overnightWhen Windows Memory Diagnostic passes but crashes persist4-8 hoursVery Low
SFC /scannow + DISM restore healthAfter a failed Windows Update or when system files are suspected corrupt15-30 minVery Low
Update all drivers via Device Manager or OEM toolsAfter OS upgrade or when multiple drivers are outdated20-40 minLow
Use System Restore to previous checkpointWhen the BSOD started after a specific software/driver install10-20 minLow-Medium
Clean reinstall of WindowsWhen all other methods fail and crashes continue on every boot60-120 minHigh (data loss risk)
Update BIOS/UEFI firmwareWhen hardware-level instability is suspected, especially after hardware swap10-20 minMedium

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:

  1. Launch WinDbg as Administrator.
  2. File → Open Crash Dump → select your .dmp file.
  3. 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 driver
  • ntoskrnl.exe — May indicate RAM issues
  • tcpip.sys — Network stack driver
  • ndis.sys — Network driver interface
  • storport.sys — Storage driver
  • atikmdag.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:

  1. Hold Shift while clicking Restart in the Start menu.
  2. Go to Troubleshoot → Advanced Options → Startup Settings → Restart.
  3. 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:

  1. Press Win + XDevice Manager.
  2. Find the device associated with the driver (e.g., Display Adapters for nvlddmkm.sys).
  3. Right-click the device → Properties → Driver tab.
  4. Click Roll Back Driver if available, or Uninstall Device (check "Delete the driver software for this device").
  5. 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

  1. Windows Update: Settings → Update & Security → Windows Update → Check for updates. Install all pending updates including optional driver updates.
  2. Device Manager: Right-click each device → Update driver → Search automatically.
  3. 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:

  1. Reset BIOS/UEFI to default settings (look for Load Optimized Defaults or Load Setup Defaults).
  2. Check CPU and GPU temperatures with HWMonitor or HWiNFO64. CPU should stay below 90°C under load; GPU below 85°C.
  3. 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:

  1. Press Win + R → type rstrui.exe → Enter.
  2. Choose a restore point dated before the crashes began.
  3. 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:

  1. Back up all important data to an external drive.
  2. Create a Windows 11/10 bootable USB using the Media Creation Tool from microsoft.com.
  3. Boot from USB, choose Custom: Install Windows only, delete the existing OS partition, and install fresh.
  4. 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

powershell
# ============================================================
# 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"
E

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

Related Articles in Other Irql Not Less Or Equal

Explore More windows Guides