0XC023001C

NDIS Error 0XC023001C: STATUS_ERROR_READING_FILE Fix

Windows Errors Intermediate 👁 1 views 📅 May 28, 2026

This NDIS error means the network driver can't read a required file. Usually a corrupt driver cache or system file. Fix it fast with a driver reinstall or SFC scan.

Corrupt driver cache in the driver store

I know this error is infuriating — your network just dies, and Windows throws a cryptic 0XC023001C with STATUS_ERROR_READING_FILE. Every time I've seen this in the wild (especially on Dell Latitude 5490s and Lenovo ThinkPad X1 Carbons running Windows 10 21H2 or later), it's been a corrupt driver cache file. The NDIS.sys or your NIC's driver file got mangled during a Windows Update or a failed driver install.

The real fix is to purge the corrupted driver from the driver store and force Windows to reinstall it fresh. Here's how:

  1. Open Device Manager (devmgmt.msc).
  2. Expand Network adapters. Right-click your active NIC (typically Realtek PCIe GbE Family Controller or Intel Ethernet Connection I219-LM) and select Uninstall device. Check the box that says Delete the driver software for this device — this is critical because it removes the cached file that's corrupt.
  3. Restart your PC. Windows will reinstall a generic driver during boot. Test if the error returns in Event Viewer (under Windows Logs > System, filter by source NDIS).
  4. If it's gone, great. If not, download the latest driver directly from your OEM or Intel/Realtek site (not Windows Update). Install it, reboot.
Skip the 'automatic driver update' from Windows Update — it often pushes the same broken version that caused this. Go manual.

Corrupted system files (sfc /scannow and DISM)

If uninstalling the driver doesn't stop the error, the problem is deeper — system files like ndis.sys itself are corrupted. This happens after a botched cumulative update or a power loss during patching. I've seen this on freshly upgraded Windows 11 22H2 systems.

Run these commands from an elevated Command Prompt (Admin):

sfc /scannow

Let it finish. It'll fix some files but might stall on corrupt ones in the component store. Follow with:

DISM /Online /Cleanup-Image /RestoreHealth

This takes 10–20 minutes. After it completes, run sfc /scannow again to catch anything DISM repaired. Reboot and check Event Viewer for the NDIS error. If it's still there, move to the next fix.

Network adapter binding corruption in registry

This one's less common but trips up IT admins on domain-joined machines. The STATUS_ERROR_READING_FILE error can point to a messed-up binding path in the registry under HKLM\SYSTEM\CurrentControlSet\Services\NDIS. Specifically, a missing or malformed Linkage subkey prevents NDIS from reading its configuration.

Before you touch the registry, export the entire NDIS key as a backup. Then:

  1. Open Regedit (regedit.exe).
  2. Go to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NDIS.
  3. Check the Linkage subkey. It should contain a Route value pointing to your network adapter's GUID. If it's empty or missing, that's your culprit.
  4. Right-click the NDIS key, select Permissions, and ensure SYSTEM and Administrators have Full Control.
  5. Reboot. Sometimes the registry repairs itself on restart, but if the error persists, you may need to reset the network stack entirely.

Run netsh int ip reset and netsh winsock reset from an admin command prompt, then reboot. This rebuilds the binding order cleanly.

Quick-reference summary

CauseFixTime
Corrupt driver cacheUninstall NIC driver with 'Delete driver software' checked, then install fresh from OEM site10 min
Corrupt system filesRun sfc /scannow then DISM /RestoreHealth20 min
Registry binding corruptionCheck HKLM\...\NDIS\Linkage subkey; run netsh int ip reset and netsh winsock reset15 min

Was this solution helpful?