Part of our windows fixes guide series

windows-fixes

Fix KMODE_EXCEPTION_NOT_HANDLED (0x1E) BSOD on Windows 11

Praveen15 min read
Minimal flat editorial illustration of a computer processor bus and kernel node with an amber warning alert symbol
On This Page (13 sections)
Free Interactive Tool

Planning to run quantized DeepSeek, LLaMA 3, or Mistral locally? Calculate exact GPU VRAM headroom, context window limits, and KV cache overhead before downloading.

try the free VRAM calculator tool →

Direct Answer (Bugcheck 0x1E): The KMODE_EXCEPTION_NOT_HANDLED (0x1E) blue screen occurs when a kernel-mode program or device driver attempts an unauthorized memory operation (most commonly 0xC0000005 Access Violation). The 3 quickest steps to isolate it are: (1) inspect the failing driver name in C:\Windows\Minidump using WinDbg, (2) run sfc /scannow and DISM to repair corrupted kernel files, and (3) revert recent GPU/network drivers or BIOS memory overclocking (XMP/EXPO) settings.

On our workbench test systems, our engineering team regularly encounters KMODE_EXCEPTION_NOT_HANDLED (0x1E) when benchmarking custom kernel drivers, stress-testing high-frequency DDR5 memory, or triaging Windows 11 cumulative updates. While error forums reflexively advise users to wipe their drives or buy replacement RAM, 0x1E is fundamentally a software-hardware boundary error: an unhandled exception generated in Ring 0 kernel space that the OS structured exception handler (SEH) could not intercept.

According to Microsoft’s 0x1E bug check reference, the exception parameters and the faulting call stack provide the exact roadmap to whether a bad pointer, an unstable memory timing, or an outdated filter driver caused the crash. Below is the internal exception dispatch architecture, our 5-row triage matrix, and an automated PowerShell triage script to parse your minidumps in seconds.

What Causes Bugcheck 0x1E in Windows 11

The 0x1E bug check marks an unhandled kernel exception; it does not name the cause on its own. Windows records four parameters. Parameter 1 is the exception code, parameter 2 is the address where it occurred, and parameters 3 and 4 carry exception-specific details. A common access-violation code is 0xC0000005, but the code still needs context from the dump.

+-----------------------------------------------------------------------------------+
|      Windows 11 Kernel Mode Exception Trap & SEH Dispatch Pipeline (Bugcheck 0x1E) |
+-----------------------------------------------------------------------------------+
| [Ring 3: User Space Applications]                                                 |
|  - Games, Browsers, Compilers, Developer Tooling                                  |
|         |                                                                         |
|         | System Service Call (ntdll!Nt...) / DeviceIoControl                     |
|         v                                                                         |
+-----------------------------------------------------------------------------------+
| [Ring 0: Kernel Mode Execution]                                                   |
|  +-------------------------------------+   +------------------------------------+ |
|  | Graphics / Network Drivers          |   | Antivirus Filter / Hypervisor Hook | |
|  | (nvlddmkm.sys, rtwlane.sys)         |   | (fltmgr.sys, bedisy.sys, vmusb.sys) | |
|  +------------------+------------------+   +-----------------+------------------+ |
|                     |                                        |                    |
|                     | Memory Pointer Dereference             | Invalid Page Read  |
|                     v                                        v                    |
|  +------------------------------------------------------------------------------+ |
|  | Hardware Page Fault / Access Violation Trap (x86/x64 Interrupt Vector 0x0E)   | |
|  +--------------------------------------+---------------------------------------+ |
|                                         |                                         |
|                                         v                                         |
|  +------------------------------------------------------------------------------+ |
|  | KiDispatchException (Structured Exception Handling - SEH Pipeline)           | |
|  | - Evaluates First-Chance Kernel Frame Handler                                | |
|  | - Evaluates Driver-Level __try / __except Block                              | |
|  +--------------------------------------+---------------------------------------+ |
|                                         |                                         |
|                   [Unhandled Exception in Kernel Routine]                         |
|                                         v                                         |
|  +------------------------------------------------------------------------------+ |
|  | KeBugCheckEx(0x1E, ExceptionCode, ExceptionAddress, Param3, Param4)           | |
|  | -> HAL Freeze -> Crash Minidump Written (C:\Windows\Minidump) -> BSoD Screen   | |
+-----------------------------------------------------------------------------------+

KMODE 0x1E Exception Code Triage Matrix

Parameter 1 (Exception Code)Faulting TriggerDiagnostic Probe CommandReversible ActionRisk / Hardware Impact
0xC0000005 (Access Violation)Driver dereferenced NULL or unpaged kernel memoryWinDbg !analyze -v -> inspect IMAGE_NAME & STACK_TEXTRoll back recent driver or toggle vendor service to disabledNone; purely driver software incompatibility
0x80000003 (Breakpoint)Debug assertion or visual breakpoint left in production driverWinDbg k command -> inspect call stack instructionUpdate driver to latest WHQL certified releaseNone; developer assertion error
0xC000001D (Illegal Instruction)CPU opcode corruption caused by unstable RAM or IMCRun mdsched.exe + test modules with XMP/EXPO offLoad BIOS Optimized Defaults; clear negative curve offsetsPrevents silent filesystem and data corruption
0xC0000044 (Quota Exceeded)Kernel pool memory exhaustion by leaky filter driverGet-CimInstance Win32_SystemDriver | ? {$_.State -eq 'Running'}Uninstall secondary antivirus or legacy virtualization filterMinimal; frees system non-paged kernel pool
Changing Driver Across CrashesMemory degradation; legitimate drivers corrupted in RAMRun automated PowerShell dump scannerReseat RAM sticks into primary A2/B2 DIMM channelsFaulty silicon DIMM or loose motherboard traces

Write down the exact stop message, the time, and what the PC was doing. Note whether the blue screen appears during boot, wake, gaming, file copies, or an idle period. Those details help separate a startup driver from a load-related power or thermal issue.

Extract Minidump Evidence with WinDbg

Capture the newest dump before deleting it or running a “cleanup” tool. Windows usually stores small dumps in C:\Windows\Minidump. It can also write a kernel or automatic memory dump under C:\Windows\MEMORY.DMP. Copy the newest file to a safe folder before testing.

To list recent Windows Error Reporting entries, open PowerShell as Administrator:

# List recent kernel crash reports and their timestamps
Get-WinEvent -FilterHashtable @{
    LogName = 'System'
    ProviderName = 'Microsoft-Windows-WER-SystemErrorReporting'
} -MaxEvents 5 | Select-Object TimeCreated, Id, Message | Format-List

Install WinDbg from Microsoft, open the dump, and run:

// Dump path: C:\Windows\Minidump\latest.dmp
!analyze -v

Read BUGCHECK_CODE, MODULE_NAME, IMAGE_NAME, and the stack. A file such as nvlddmkm.sys or rtwlane.sys is a lead, not automatic proof. Check the timestamp, driver vendor, and recent update history before changing it.

Automated PowerShell Minidump & Driver Triage Tool

To streamline triage on client machines or lab workstations without installing the full Windows SDK, our engineering team created an automated PowerShell probe. It inspects your dump directory, pulls the latest Bugcheck 0x1E event logs, identifies suspected third-party drivers, and reports Fast Startup power state status in one pass.

Open PowerShell as Administrator and execute:

<#
.SYNOPSIS
    Test-KmodeDumpTriage.ps1
    Automated triage probe for Windows 11 Bugcheck 0x1E (KMODE_EXCEPTION_NOT_HANDLED).
.DESCRIPTION
    1. Audits Minidump directory and lists recent crash dumps.
    2. Parses System Event Log for Event ID 1001 BugCheck records.
    3. Scans active non-Microsoft kernel drivers (GPU, Wi-Fi, anti-cheat, RGB).
    4. Evaluates Fast Startup & Hybrid Sleep status.
#>

# 1. Elevation Validation
if (-not ([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)) {
    Write-Error "Elevated PowerShell required. Please run as Administrator."
    return
}

Write-Host "=== Windows 11 KMODE 0x1E Crash Triage Probe ===" -ForegroundColor Cyan

# 2. Minidump Directory Audit
$dumpPath = "C:\Windows\Minidump"
if (Test-Path $dumpPath) {
    $dumps = Get-ChildItem -Path $dumpPath -Filter "*.dmp" | Sort-Object LastWriteTime -Descending
    Write-Host "[+] Minidump Directory Found: $($dumps.Count) crash dump(s) located." -ForegroundColor Green
    foreach ($d in ($dumps | Select-Object -First 3)) {
        $sizeKB = [math]::Round($d.Length / 1KB, 2)
        Write-Host "    -> File: $($d.Name) | Created: $($d.LastWriteTime) | Size: $sizeKB KB" -ForegroundColor Gray
    }
} else {
    Write-Host "[!] No minidump directory located at $dumpPath." -ForegroundColor Yellow
}

# 3. System Event Log Bugcheck 0x1E Query
Write-Host "`n[*] Querying System Event Log for BugCheck Events (Event ID 1001)..." -ForegroundColor Cyan
$werEvents = Get-WinEvent -FilterHashtable @{LogName='System'; Id=1001} -MaxEvents 5 -ErrorAction SilentlyContinue |
    Where-Object { $_.Message -match '0x0000001e' -or $_.Message -match '101' }

if ($werEvents) {
    foreach ($evt in $werEvents) {
        Write-Host "    [CRASH RECORD] $($evt.TimeCreated)" -ForegroundColor Red
        $lines = $evt.Message -split "`n" | Select-Object -First 3
        foreach ($l in $lines) { Write-Host "      $l" -ForegroundColor Gray }
    }
} else {
    Write-Host "    No recent 0x1E records found in active System Event Log." -ForegroundColor Green
}

# 4. Probe High-Risk Third-Party Kernel Drivers
Write-Host "`n[*] Scanning Running Third-Party Drivers (GPU / Network / Filter Hooks)..." -ForegroundColor Cyan
$suspects = @('nvlddmkm', 'amdkmdag', 'rtwlane', 'e1d', 'inpoutx64', 'bedisy', 'asupio')
$drivers = Get-CimInstance Win32_SystemDriver | Where-Object { $_.State -eq 'Running' }

$flagged = @()
foreach ($d in $drivers) {
    foreach ($s in $suspects) {
        if ($d.Name -match $s -or $d.PathName -match $s) {
            $flagged += $d
            Write-Host "    [!] Found Driver: $($d.DisplayName) ($($d.Name))" -ForegroundColor Yellow
            Write-Host "        Path: $($d.PathName) | StartMode: $($d.StartMode)" -ForegroundColor Gray
        }
    }
}

if ($flagged.Count -eq 0) {
    Write-Host "    No common high-risk legacy drivers flagged." -ForegroundColor Green
}

# 5. Check Fast Startup & Sleep State
Write-Host "`n[*] Checking Fast Startup & Hibernation Configuration..." -ForegroundColor Cyan
$hiber = (Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Power" -Name "HibernateEnabled" -ErrorAction SilentlyContinue).HibernateEnabled
if ($hiber -eq 1) {
    Write-Host "    Fast Startup / Hibernation is ENABLED. If 0x1E occurs on wake/boot, test with: powercfg -h off" -ForegroundColor Yellow
} else {
    Write-Host "    Hibernation is DISABLED. Fast Startup cannot trigger sleep resume exceptions." -ForegroundColor Green
}

Write-Host "`n=== Triage Probe Complete ===" -ForegroundColor Cyan

Did an Update Trigger the 0x1E Crash?

If the crash began after a change, reverse that change in a supported way first. Open Settings > Windows Update > Update history and note the last cumulative update, optional driver, or firmware package. In Device Manager, open the affected device, select Properties > Driver, and use Roll Back Driver when Windows offers a valid previous package.

When our team isolates a sudden outbreak of 0x1E crashes across client machines, we look for recent changes first. For graphics, Wi-Fi, storage, and chipset devices, download the replacement from the PC or component manufacturer. Avoid generic driver sites and automatic “driver updater” utilities. Install one package, reboot, and repeat the workload that used to crash. If the dump now points at a different module, keep both results rather than assuming the first driver was the only problem.

If Windows cannot stay running long enough to update, use Settings > System > Recovery > Advanced startup > Restart now, then choose Troubleshoot > Advanced options > Startup Settings and press 4 for Safe Mode. Safe Mode loads a limited driver set, which helps confirm whether a third-party driver is involved; it does not prove the hardware is good.

A clean boot tests the opposite slice: Windows with third-party services and startup entries disabled, which catches conflicts Safe Mode hides. Press Win+R, run msconfig, open Services, check Hide all Microsoft services, then Disable all; open Task Manager > Startup apps and disable the listed entries; restart and reproduce the workload. Re-enable items in halves to isolate the offender, and return msconfig to Normal startup when you finish testing.

Test Fast Startup and Sleep Transitions

A crash that appears only after shutdown, sleep, or hibernate is worth testing with Fast Startup disabled. Open an elevated PowerShell window and run:

# Temporarily disable hibernation and Fast Startup for a comparison
powercfg -h off

Restart twice and reproduce the same cold-start path. If the blue screen disappears, inspect the driver that restores state during resume and update it. If there is no change, turn hibernation back on with powercfg -h on; leaving it disabled is not a substitute for identifying the driver.

Do not confuse a successful cold boot with a permanent fix. Test sleep, wake, shutdown, and restart separately because each path can load a different device state.

Test RAM Stability and Memory Timings

Return memory settings to the motherboard’s stock profile before diagnosing a driver. Unstable XMP or EXPO timings can corrupt data and make a sound driver look guilty. Enter UEFI, load optimized defaults, disable manual CPU or memory overclocks, and boot Windows normally.

Run mdsched.exe, choose Restart now and check for problems, and record the result. If Windows Memory Diagnostic reports an error, test one module at a time in the slot recommended by the motherboard manual. A longer test from the system or memory manufacturer can provide more coverage. Replace or RMA a module only after reseating it and checking the board’s approved configuration.

If the dump names a different driver on every crash and memory tests fail, prioritize RAM, the memory controller, and motherboard firmware. If every dump points to one third-party module and memory passes, prioritize that driver instead.

Repair Corrupted Windows System Files

Use DISM and SFC when the dump or update history suggests component corruption, not as a replacement for driver analysis. Keep the PC connected to reliable power and run these commands in an elevated Terminal:

# Repair the component store, then verify protected system files
DISM /Online /Cleanup-Image /RestoreHealth
sfc /scannow

Restart after both commands finish. Copy the final messages into your notes. A repaired file does not explain a repeatable crash caused by an incompatible third-party driver, but it removes a common source of noise. Microsoft’s System File Checker guidance covers the supported order for these tools.

Check Storage Health and Firmware

If drivers and RAM pass, check the low-level devices that load before Windows reaches the desktop. Install BIOS or UEFI updates only from the system manufacturer and follow its recovery instructions. Disconnect new USB devices, docks, capture cards, and virtual-device software for one comparison boot. A device that disappears from the dump after removal is a useful lead.

Check Event Viewer > Windows Logs > System for WHEA-Logger, Disk, Ntfs, or storahci errors near the crash. Run the SSD manufacturer’s health tool and keep a backup before any firmware update. Do not run repeated repair commands on a drive that is showing signs of failure; copy important data first.

For a graphics-specific dump, compare this process with the nvlddmkm Event ID 13 guide. For repeated crashes under load, the GPU-versus-PSU thermal checklist helps separate temperature and power symptoms from a kernel exception.

When to Use Driver Verifier Safely

Use Driver Verifier only when you can recover through Safe Mode and have backups. It deliberately stresses selected drivers and can cause additional crashes. Create a restore point, select only non-Microsoft drivers, and follow Microsoft’s current Driver Verifier instructions. Do not verify every driver at once and do not leave it enabled after the test.

If Windows loops on a blue screen, enter Safe Mode, open an elevated command prompt, and run verifier /reset. Restore the point if necessary. Driver Verifier can expose a bad driver, but it cannot repair faulty RAM or a failing motherboard.

When is a Windows Reinstall Justified?

Reinstall Windows after evidence points to persistent system corruption or an untrusted installation, not as the first response to every 0x1E. Back up verified personal files, record license and BitLocker information, and use official Windows media. A reinstall removes software and drivers on the selected disk; it does not cure bad RAM, a failing SSD, or a firmware problem.

Before wiping the PC, compare the dump after a clean boot, stock memory, and supported driver rollback. If the crash survives a clean installation with the same hardware and workload, stop reinstalling and escalate to component diagnostics or the manufacturer.

Keep a small incident log while you work: date and time, stop code, active application, driver version, maximum temperature, memory profile, and the result after each change. That log turns a random reboot into a comparison that another technician can reproduce. It also prevents a common mistake—changing a driver, BIOS setting, and memory profile together, then being unable to explain why the next boot succeeded.

If the computer contains important work, back it up before enabling any diagnostic stress tool. A minidump is useful, but it is not a substitute for a copy of your documents. When a machine crashes before backup completes, boot from a trusted recovery environment or remove the drive and copy data from another computer. Avoid downloading “one-click BSOD fixers”; they often alter drivers without leaving a clear record of what changed.

The same rule applies to BIOS and firmware changes. Save the current firmware version and the manufacturer’s recovery instructions before flashing. A failed update can create a boot problem that looks like a new blue-screen issue. Perform firmware work on stable power, disconnect unnecessary peripherals, and do not start a second update while the first one is still verifying.

How to read a changing dump pattern

A changing module name is evidence that the visible driver may be a victim of corrupted memory. If five crashes name the same third-party .sys file and the stack is consistent, prioritize that package. If the first crash names a network driver, the next names a graphics driver, and the next names ntoskrnl.exe, return the system to stock memory and check hardware before deleting more drivers.

Use the timestamp to match the dump with Windows Update, a sleep transition, a game launch, or a USB device insertion. Keep the original dump files until the incident is closed. Compressing them for a vendor does not change their value, but running a cleanup utility that deletes old dumps can remove the comparison you need.

If you support several PCs, record the stop code, MODULE_NAME, driver version, BIOS version, memory profile, and test result in a simple spreadsheet. That five-field record is enough to spot a pattern across machines without claiming that one update caused every crash. It also gives a manufacturer the detail needed to reproduce the fault.

KMODE 0x1E Diagnostic Summary Checklist

The evidence-first order is dump, change history, driver, stock hardware, memory, system files, then reinstall or repair.

  1. Save the newest minidump and record the exact 0x1E parameters.
  2. Use WinDbg !analyze -v and treat the named module as a lead.
  3. Roll back or update the affected driver from the manufacturer.
  4. Disable overclocks and test RAM at stock settings.
  5. Compare startup, sleep, and workload paths; test Fast Startup only as a reversible experiment.
  6. Run DISM and SFC if component corruption is plausible.
  7. Check WHEA, storage, firmware, and peripherals before replacing hardware.

For another angle on recurring blue screens, see the RAM-versus-driver crash guide, the Windows reinstall decision guide, the clock watchdog timeout guide, the KB5121003 inpoutx64 driver crash triage, and the KB5120998 desktop and cursor runbook. A repeatable diagnosis beats a confident but unsupported claim about one OEM update or one part.

Hardware & RepairSponsored Diagnostic Tools
Free PowerShell & Sysadmin Toolkit

Get Our Sysadmin & AI Runbooks Direct to Your Inbox

Join 2,500+ engineers receiving our weekly PowerShell automation scripts, root cause analyses, and hardware diagnostic playbooks.

Zero spam. Unsubscribe anytime in 1 click.

Frequently Asked Questions: Fix KMODE_EXCEPTION_NOT_HANDLED (0x1E) BSOD on Windows 11

What does KMODE_EXCEPTION_NOT_HANDLED (0x1E) mean?
Microsoft defines bug check 0x1E as a kernel-mode program generating an exception that the error handler did not catch. The exception parameters and crash dump help identify whether a driver, memory problem, or system component needs attention.
How do I find the driver that caused 0x1E?
Check the System log and open the newest dump in WinDbg. Run !analyze -v, then inspect the exception code, stack, MODULE_NAME, and IMAGE_NAME. Treat a named driver as a lead and verify it against the stack and recent changes.
Can bad RAM cause KMODE_EXCEPTION_NOT_HANDLED?
Yes. Unstable memory can corrupt data that later makes a legitimate driver appear guilty. Return memory settings to stock, run Windows Memory Diagnostic or the manufacturer’s test, and repeat the test with modules individually when practical.
Will turning off Fast Startup fix the 0x1E blue screen?
It can be a useful comparison when the crash happens only after resume or shutdown, but it is not a universal fix. Disable it temporarily, reproduce the same startup path, and re-enable it if the result does not change.

Official Technical References

  1. Microsoft Learn: Bug Check 0x1E (KMODE_EXCEPTION_NOT_HANDLED) — Microsoft Learn
  2. Microsoft Learn: Windows Debugger (WinDbg) — Microsoft Learn
  3. Microsoft Support: Use the System File Checker tool — Microsoft Support
Get Independent Tech Benchmarks First

Add PraveenTechWorld as a preferred source in your Google Search results.

Prefer on Google
P
Praveen

IT ops lead in India. I break Windows, Android and self-hosted AI stacks on my workbench, then write down what actually fixed them.

Explore more: Browse all windows fixes guides or check related articles below.