ATTEMPTED_EXECUTE_OF_NOEXECUTE_MEMORY (stop code 0x000000FC) is Windows’ Data Execution Prevention catching something trying to run code where code isn’t allowed to run. Think of it as a security guard stopping someone climbing over the fence — the guard isn’t the problem; whoever’s climbing is. Usually that’s a buggy driver, sometimes bad RAM, occasionally malware.
Don’t disable DEP to “fix” this — that’s firing the guard. Instead, find the climber. Work through these in order. For other memory-related stop codes, our PAGE_FAULT_IN_NONPAGED_AREA guide covers the sibling diagnosis.
Why this happens
- Buggy device driver. Drivers executing from wrong memory regions are the top cause.
- Corrupted RAM. Bad memory corrupts execution-permission tracking.
- Malware. Code-injection techniques trip DEP constantly.
- Corrupted system files. Damage to kernel memory-management components.
- Incompatible old drivers. Legacy drivers that predate DEP enforcement.
- Overclocked/unstable memory. Timing errors corrupt page tables.
- Disk corruption. Damaged driver binaries execute unpredictably.
How to fix it
Work through these in order — note any named driver on the blue screen.
Fix 1: Run a full malware scan
Rule out the malicious cause first since DEP violations are a malware hallmark.
- Boot into Safe Mode with Networking (interrupt boot 2-3 times for WinRE, then Troubleshoot > Advanced options > Startup Settings > Restart, press 5).
- Open Settings > Privacy & security > Windows Security > Virus & threat protection.
- Choose Scan options > Full scan and run it.
- Also run Microsoft Defender Offline scan from the same page — it reboots into a clean environment that catches rootkits.
- Remove anything found and restart normally.
- If the system is clean, continue — the cause is a driver or hardware.
Fix 2: Identify the offending driver
Check whether the blue screen named a culprit.
- Note any
.sysfile on the blue screen. - In Windows, open Event Viewer > Windows Logs > System and find BugCheck entries for stop code 0xFC.
- Check
C:\Windows\Minidumpfor dump files from the crashes. - If a driver is named, skip to Fix 3 with that target.
- If no driver is ever named, lean toward RAM testing (Fix 5) — hardware causes don’t name drivers.
- Our driver IRQL guide explains dump-reading basics that apply here too.
Fix 3: Update or roll back the suspect driver
Fix the violating driver directly.
- Open Device Manager (Win + X > Device Manager).
- Find the device matching the named driver.
- If crashes started after a driver update, use Properties > Driver > Roll Back Driver.
- Otherwise, Update driver > Search automatically for drivers.
- For the most reliable result, download from the manufacturer’s official site — Intel , NVIDIA , or your laptop maker’s support page.
- Restart and test the scenarios that previously crashed.
Fix 4: Use Driver Verifier to catch it (advanced)
If no driver is named, force the culprit to reveal itself.
- Press Win + R, type
verifier.exe, and press Enter. - Choose Create standard settings, then Select driver names from a list.
- Tick only third-party drivers (sort by provider — select non-Microsoft ones you suspect).
- Click Finish and restart. Use the system normally — open the apps and devices you use daily, since Verifier only catches the driver when it’s actually exercised.
- Verifier will crash the system faster when the buggy driver misbehaves — and this time it usually names it. Note the driver name from the new blue screen or the subsequent BugCheck event in Event Viewer.
- After identifying the driver, boot to Safe Mode, run
verifier /reset, restart, and fix the driver per Fix 3. Never leave Verifier on indefinitely — it’s a diagnostic instrument, and a Verifier left running will eventually crash even healthy drivers under enough stress.
Fix 5: Test the RAM
Bad memory corrupts the execution-permission data.
- Press Win + R, type
mdsched.exe, and press Enter. - Choose Restart now and check for problems.
- Check results in Event Viewer > Windows Logs > System under MemoryDiagnostics-Results.
- For a definitive answer, run MemTest86 from a bootable USB overnight.
- Replace faulty modules with the correct specification.
- If RAM tests clean, continue to system-file repair.
Fix 6: Repair system files and check the disk
Fix corruption in Windows’ own memory management.
- Open an elevated terminal: right-click Start > Terminal (Admin).
- Run:
DISM /Online /Cleanup-Image /RestoreHealth - Then:
sfc /scannow - Restart.
- Also run
chkdsk C: /f— disk corruption damages driver binaries, which then execute unpredictably. - Microsoft documents these repairs on support.microsoft.com .
Fix 7: Reset memory settings and update firmware
Cover the remaining hardware angles.
- Enter BIOS/UEFI and load optimized defaults.
- Disable XMP/DOCP profiles — unstable memory timings corrupt page tables.
- Check for a BIOS update from your laptop maker’s support site and install it (charger connected).
- After updating, retest for several days including the original crash scenarios.
- If 0xFC persists with clean RAM, current drivers, repaired system files, and stock memory settings, the motherboard’s memory controller may be failing.
- Back up your data and arrange service — bring your documented test results (MemTest86 logs, dump notes) to speed up diagnosis.
Closing
ATTEMPTED_EXECUTE_OF_NOEXECUTE_MEMORY is DEP doing its job, so work with it, not against it: scan for malware, identify the violating driver, test the RAM. The temptation to disable DEP is understandable but wrong — it trades a diagnosable crash for silent vulnerability. Find the climber, fix the fence-jumping, and the guard goes back to quietly doing its job. Keep a note of which driver was at fault and the version that fixed it; if a future update reintroduces the crash, you’ll recognize the pattern instantly instead of starting from zero. Keep a note of which driver was at fault and the version that fixed it; if a future update reintroduces the crash, you’ll recognize the pattern instantly instead of starting from zero.
