NDIS Error 0XC023001C: STATUS_ERROR_READING_FILE Fix
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:
- Open Device Manager (
devmgmt.msc). - 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.
- 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).
- 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 /scannowLet it finish. It'll fix some files but might stall on corrupt ones in the component store. Follow with:
DISM /Online /Cleanup-Image /RestoreHealthThis 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:
- Open Regedit (
regedit.exe). - Go to
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NDIS. - Check the
Linkagesubkey. It should contain aRoutevalue pointing to your network adapter's GUID. If it's empty or missing, that's your culprit. - Right-click the
NDISkey, select Permissions, and ensure SYSTEM and Administrators have Full Control. - 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
| Cause | Fix | Time |
|---|---|---|
| Corrupt driver cache | Uninstall NIC driver with 'Delete driver software' checked, then install fresh from OEM site | 10 min |
| Corrupt system files | Run sfc /scannow then DISM /RestoreHealth | 20 min |
| Registry binding corruption | Check HKLM\...\NDIS\Linkage subkey; run netsh int ip reset and netsh winsock reset | 15 min |
Was this solution helpful?