IRQL_NOT_LESS_OR_EQUAL: Complete Fix Guide for Windows Blue Screen Error
Fix the IRQL_NOT_LESS_OR_EQUAL BSOD on Windows with step-by-step driver, memory, and registry repairs. Stop code 0x0000000A resolved.
- Root cause: A kernel-mode process or driver attempted to access pageable memory at an interrupt request level (IRQL) that was too high, typically caused by a faulty or outdated driver.
- Root cause: Corrupt system files, bad RAM modules, incompatible hardware firmware, or malware can also trigger the IRQL_NOT_LESS_OR_EQUAL stop code (0x0000000A).
- Quick fix summary: Boot into Safe Mode, identify the offending driver using WinDbg or BlueScreenView, update or roll back the driver, run SFC and DISM to repair system files, and test RAM with Windows Memory Diagnostic or MemTest86.
| Method | When to Use | Time | Risk |
|---|---|---|---|
| Update / Roll Back Driver | Crash started after a driver or Windows update | 5-15 min | Low |
| SFC & DISM Repair | System files are corrupted or Windows update failed | 15-30 min | Low |
| Windows Memory Diagnostic / MemTest86 | Random crashes with no clear driver culprit | 30 min - 8 hrs | Low |
| Disable Overclocking / Reset BIOS | Hardware was recently overclocked or firmware updated | 5-10 min | Low |
| Clean Boot & Selective Startup | Third-party software may be injecting a bad driver | 10-20 min | Low |
| System Restore | Error appeared suddenly after software installation | 20-40 min | Medium |
| Windows Reset / In-Place Upgrade | All other methods have failed; system unusable | 1-3 hrs | Medium-High |
Understanding the IRQL_NOT_LESS_OR_EQUAL Error
The full stop code you will see on the Windows blue screen 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. This means Windows detected that a kernel thread tried to access a memory address that was pageable (or completely invalid) while running at an elevated Interrupt Request Level (IRQL). Because paging is disabled at high IRQLs, the kernel has no choice but to halt the system to prevent data corruption.
In Polish-language Windows environments you may see: "Kod zatrzymania: DRIVER_IRQL_NOT_LESS_OR_EQUAL" — this is the driver-specific variant (bug check 0x000000D1), which pinpoints the problem even more directly to a specific kernel driver.
Step 1: Capture the Crash Dump and Identify the Offending Driver
Before fixing anything, you need to know what crashed. Windows writes a minidump file every time a BSOD occurs.
Enable minidumps (if not already on):
- Press
Win + R, typesysdm.cpl, press Enter. - Go to Advanced → Startup and Recovery → Settings.
- Under Write debugging information, select Small memory dump (256 KB).
- Note the dump file location (default:
%SystemRoot%\Minidump).
Analyze with BlueScreenView (no WinDbg needed):
- Download BlueScreenView from NirSoft: https://www.nirsoft.net/utils/blue_screen_view.html
- Open it and look at the column "Caused By Driver". This will directly name the
.sysfile responsible.
Analyze with WinDbg (advanced):
- Install WinDbg from the Windows SDK or the Microsoft Store.
- Open the latest
.dmpfile fromC:\Windows\Minidump\. - Run
!analyze -vto get a detailed stack trace and the faulting module.
The output will include lines like:
Probable cause: <driver_name>.sys
IRP Stack Location: ...
Faulting Address: fffff880`04a1b3c0
Note down the exact driver filename — you will need it in Step 2.
Step 2: Boot into Safe Mode (If System Won't Start Normally)
If Windows keeps crashing before you can log in:
- Force three consecutive hard resets (hold power button until shutdown, then power on). Windows will enter Automatic Repair mode.
- Navigate to Advanced Options → Startup Settings → Restart.
- Press 4 for Safe Mode or 5 for Safe Mode with Networking.
In Safe Mode, Windows loads only essential drivers, so you can safely perform the steps below.
Step 3: Update, Roll Back, or Uninstall the Offending Driver
Option A – Update the driver:
- Press
Win + X→ Device Manager. - Locate the device associated with the
.sysfile found in Step 1 (e.g., a network adapter, GPU, or storage controller). - Right-click → Update driver → Search automatically for drivers.
- If Windows doesn't find a newer driver, visit the manufacturer's website directly.
Option B – Roll back the driver:
- In Device Manager, right-click the device → Properties → Driver tab.
- Click Roll Back Driver if the option is available.
Option C – Uninstall the driver completely:
- Right-click the device → Uninstall device → check Delete the driver software for this device.
- Restart. Windows will reinstall a generic driver.
Common culprits by driver filename:
ndis.sys→ Network driver (update NIC firmware/driver)ntfs.sys→ Disk / filesystem issue (run CHKDSK)dxgmms2.sys→ GPU driver (update or DDU-clean reinstall)tcpip.sys→ TCP/IP stack (runnetsh winsock reset)storport.sys→ Storage controller (check SATA/NVMe firmware)
Step 4: Repair System Files with SFC and DISM
Corrupted Windows system files can cause drivers to behave erratically. Run these commands in an elevated Command Prompt (Run as Administrator):
# Step 4a: Run DISM to repair the Windows image first
DISM /Online /Cleanup-Image /RestoreHealth
# Step 4b: Run System File Checker
sfc /scannow
# Step 4c: Check disk for errors on C: drive (schedule for next reboot)
chkdsk C: /f /r /x
After all three complete, reboot and monitor for further crashes.
Step 5: Test Your RAM
Faulty RAM is a silent but common cause of IRQL errors. Two tools are available:
Windows Memory Diagnostic (built-in):
- Press
Win + R→ typemdsched.exe→ Enter. - Choose Restart now and check for problems.
- The test runs before Windows loads. Results appear after reboot in Event Viewer under
Windows Logs → System, source MemoryDiagnostics-Results.
MemTest86 (more thorough):
- Download from https://www.memtest86.com/
- Create a bootable USB and run at least 2 full passes.
- Any errors = RAM is defective. Try removing one DIMM at a time to isolate the bad stick.
Step 6: Check for Overclocking and Reset BIOS/UEFI
Overclocking CPU, RAM (XMP/EXPO profiles), or GPU can push components beyond stable thresholds and trigger IRQL crashes:
- Restart and enter BIOS/UEFI (typically Del, F2, or F10 on startup).
- Find AI Tweaker / OC / Overclocking section.
- Set everything to Auto or load Optimized Defaults (usually F5 or F9).
- Disable any XMP/EXPO memory profiles temporarily to test stability.
Step 7: Perform a Clean Boot
Third-party software (VPN clients, antivirus, virtualization tools) can install kernel drivers that conflict with Windows:
- Press
Win + R→ typemsconfig→ Enter. - On the Services tab, check Hide all Microsoft services → click Disable all.
- On the Startup tab → click Open Task Manager → disable all startup items.
- Restart. If the BSOD stops, re-enable services in batches to pinpoint the culprit.
Step 8: Last Resort — System Restore or Windows Reset
System Restore:
Win + R→rstrui.exe→ choose a restore point from before the crashes began.
In-Place Upgrade (keeps files and apps):
- Download the Windows 11/10 ISO from Microsoft, mount it, and run
setup.exe. - Choose Keep personal files and apps. This reinstalls Windows core files without wiping your data.
Full Reset:
- Settings → System → Recovery → Reset this PC.
- Only choose Remove everything as a last resort.
Frequently Asked Questions
# ============================================================
# IRQL_NOT_LESS_OR_EQUAL Diagnostic & Fix Script
# Run in an elevated PowerShell (Run as Administrator)
# ============================================================
# --- 1. Export the last 10 BSOD events from System Event Log ---
Write-Host "[*] Fetching recent BSOD events..." -ForegroundColor Cyan
Get-WinEvent -LogName System -MaxEvents 1000 | Where-Object { $_.Id -eq 41 -or $_.Id -eq 1001 } | Select-Object TimeCreated, Id, Message | Format-List
# --- 2. List minidump files with timestamps ---
Write-Host "`n[*] Listing minidump files..." -ForegroundColor Cyan
Get-ChildItem -Path "$env:SystemRoot\Minidump" -Filter "*.dmp" -ErrorAction SilentlyContinue | Sort-Object LastWriteTime -Descending | Select-Object Name, LastWriteTime, Length
# --- 3. Run System File Checker ---
Write-Host "`n[*] Running SFC (this may take several minutes)..." -ForegroundColor Cyan
sfc /scannow
# --- 4. Run DISM to repair Windows image ---
Write-Host "`n[*] Running DISM RestoreHealth (requires internet connection)..." -ForegroundColor Cyan
DISM /Online /Cleanup-Image /RestoreHealth
# --- 5. Check disk for errors (scheduled on next reboot) ---
Write-Host "`n[*] Scheduling CHKDSK on C: for next reboot..." -ForegroundColor Cyan
echo Y | chkdsk C: /f /r
# --- 6. Reset TCP/IP stack (fixes tcpip.sys related crashes) ---
Write-Host "`n[*] Resetting TCP/IP stack..." -ForegroundColor Cyan
netsh int ip reset resetlog.txt
netsh winsock reset
# --- 7. List recently installed drivers (last 30 days) ---
Write-Host "`n[*] Drivers installed or updated in the last 30 days:" -ForegroundColor Cyan
$cutoff = (Get-Date).AddDays(-30)
Get-WmiObject Win32_PnPSignedDriver | Where-Object { $_.DriverDate -and [Management.ManagementDateTimeConverter]::ToDateTime($_.DriverDate) -gt $cutoff } | Select-Object DeviceName, DriverVersion, DriverDate, InfName | Sort-Object DriverDate -Descending | Format-Table -AutoSize
# --- 8. Check RAM via Windows Memory Diagnostic (launches on reboot) ---
Write-Host "`n[*] Would you like to schedule a RAM test on next reboot? (Y/N)" -ForegroundColor Yellow
$ramTest = Read-Host
if ($ramTest -eq 'Y' -or $ramTest -eq 'y') {
mdsched.exe
}
Write-Host "`n[DONE] Review the output above, then reboot to apply CHKDSK and RAM test." -ForegroundColor Green
# After reboot, check Event Viewer > Windows Logs > System for MemoryDiagnostics-Results
# and review C:\Windows\Logs\CBS\CBS.log for SFC detailsError Medic Editorial
The Error Medic Editorial team consists of senior DevOps engineers, SREs, and Windows system administrators with over a decade of experience diagnosing kernel-level errors, BSOD analysis, and enterprise Windows infrastructure. We combine hands-on lab testing with real-world incident data to produce actionable, technically accurate troubleshooting guides.
Sources
- https://learn.microsoft.com/en-us/windows-hardware/drivers/debugger/bug-check-0xa--irql-not-less-or-equal
- https://learn.microsoft.com/en-us/windows-hardware/drivers/debugger/bug-check-0xd1--driver-irql-not-less-or-equal
- https://support.microsoft.com/en-us/windows/run-a-memory-diagnostic-tool-in-windows-68c9d9c1-e7bb-3be2-00e3-5b68b55ed6fd
- https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/sfc
- https://answers.microsoft.com/en-us/windows/forum/all/irqlnotlessorequal-blue-screen/e9a50fee-15e4-4d89-b5a8-f18da35eba93
- https://www.memtest86.com/
- https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/getting-started-with-windbg