Ndu.sys
is the Windows Network Data Usage Monitoring Driver. If you check the What Failed section for various bugchecks like SYSTEM THREAD EXCEPTION NOT HANDLED and IRQL NOT LESS EQUAL, you’ll often find ndu.sys
listed there.
However, contrary to what users often believe, this doesn’t mean that ndu.sys
caused the BSOD. Instead, this driver failed because of something else, and that’s what you’ll need to figure out to fix the ndu.sys
BSOD at its root.
Ways to Fix Ndu.sys BSOD Error
As stated, there are various BSODs related to ndu.sys
, with some common ones being:
Ndu.sys
)0x0000001E: KMODE EXCEPTION NOT HANDLED (
Ndu.sys
)0x0000003B: SYSTEM SERVICE EXCEPTION (
Ndu.sys
)0x00000050: PAGE FAULT IN A NONPAGED AREA (
Ndu.sys
)0×0000007A: KERNEL DATA INPAGE ERROR (
Ndu.sys
)0x0000007E: SYSTEM THREAD EXCEPTION NOT HANDLED (
Ndu.sys
)These BSODs can be caused by a number of reasons, but when associated with ndu.sys
, certain fixes will be very effective. We’ve listed those first, and if those fixes don’t help, you can analyze the dump file to figure out the exact cause and apply any of the general solutions listed further below.
Remove Antivirus
The most common reason for ndu.sys
-related BSODs has been incompatibility with antiviruses. Malwarebytes, in particular, is notorious for this. As such, temporarily removing the antivirus might be your best bet at fixing this BSOD.
You can use Windows Defender for protection in the meantime. With that said, here’s how you can remove the antivirus:
- Press Win + R, type
appwiz.cpl
, and press Enter. - Select the antivirus from the list and press Uninstall.
- Follow the on-screen instructions to remove the antivirus and restart afterward.
Update Network Driver
Outdated or corrupt network drivers are another common reason for ndu.sys
-related BSODs. You should first try updating the network drivers. Here’s how you can do so:
- Press Win + R, type
devmgmt.msc
, and press Enter. - Expand the Network Adapters section.
- Right-click the Network Adapter and select Update Driver.
- First, select Search automatically for updated drivers.
- If you’re unable to find newer drivers that way, look for the drivers on the system manufacturer or network adapter manufacturer’s website.
- Download whichever one is newer.
- Launch the Device Manager and try to update the network driver once again.
- This time, select Browse my computer for drivers.
- Click on Browse and locate the directory where the driver files were downloaded in Step 6.
- Press Ok > Next > Close.
- Restart your computer afterward.
Replace ndu.sys
It’s also possible that the ndu.sys
file itself is corrupt, and replacing it with a proper one could resolve the BSOD issues. If you recently upgraded Windows, you’ll have the Windows.old
folder on your system. You can use the ndu.sys
file from that directory to replace the current one. Here’s how you can do this:
- First, create a restore point as a safety measure.
- On an admin account, press Win + R, type
cmd
, and press CTRL + Shift + Enter. - Execute the following commands to take ownership of the current file and rename it:
takeown /f %WinDir%\System32\drivers\ndu.sys
icacls %WinDir%\System32\drivers\ndu.sys /Grant Administrators:f
ren "%WinDir%\System32\drivers\ndu.sys" "ndu.old" - Now, execute the following commands to replace the file:
copy C:\windows.old\system32\drivers\ndu.sys C:\windows\system32\drivers\
If the Windows.old
method isn’t applicable to you, you can instead get the ndu.sys
file from an installation media and replace it in the same manner. Here are the steps for this:
- Insert the installation media and reboot your computer.
- Press the Boot Options key shown on the screen (usually F12) and select the media to boot from it.
- In the installation wizard, click on Repair your computer.
- Select Troubleshoot > Advanced Options > Command Prompt.
- Enter the following commands and note the system drive letter:
Diskpart
List vol - Enter
exit
. - Type the following command:
copy X:\windows\system32\drivers\ndu.sys C:\windows\system32\drivers\
- Replace C: with the system drive letter from Step 5 if different, and press Enter to replace the
ndu.sys
file. - On older systems, the previous command may not work. In such cases, try this one instead:
copy X:\sources\windows\system32\drivers\ndu.sys C:\windows\system32\drivers\
- Restart your device and remove the installation media to boot normally.
Analyze Dump File
The previous fixes will resolve the BSOD for most users, but if they persist, you should analyze the dump files generated by the bugcheck to get a better idea of what exactly is causing it. Afterward, you can apply the appropriate solution from the ones listed further below. Here’s how you can analyze the dump files:
- Install the WinDbg Preview App from the Microsoft Store.
- Launch the app and press CTRL + D.
- Navigate to
%windir%
or%windir%/minidump/
and open the dump file. - Select View > Command and enter
!analyze -v
at the kd prompt. - After completing the analysis, check the MODULE_NAME and Probably caused by sections for hints on what caused the crash.
- If there are multiple dump files, analyze the rest in the same manner to get more information.
If necessary, you could also use additional methods to gather information, like checking the Event Viewer logs and using Driver Verifier.
Repair System Corruption
We replaced the ndu.sys
file earlier, but there could also be other corrupt system files that are causing this driver to fail. As such, we recommend using the native DISM and SFC utilities to repair system corruption. Here’s how you can do this:
- Press Win + R, type
cmd
, and press CTRL + Shift + Enter. - Execute the following commands:
dism /online /cleanup-image /restorehealth
sfc /scannow
Use Diagnostic Tools
Memory and disk problems are a common reason for BSODs. As such, using in-built tools to diagnose any potential issues with them is a good idea. First, we recommend using CHKDSK with the steps shown below:
- Press Win + R, type
cmd
, and press CTRL + Shift + Enter. - Type
chkdsk c: /f /r
, replace c: with your system drive letter if different, and press Enter. - Accept the prompt to run the disk scan upon restarting, and restart your PC afterward.
- If no disk issues are found, use the
mdsched
run command and use the Windows Memory Diagnostic tool to check the memory instead.
Clean Boot
We’ve already talked about removing antiviruses, but other third-party programs could also be interfering with the ndu.sys
driver or other system components and causing this BSOD. As such, performing a clean boot could be helpful. Here’s how you can do this:
- Press Win + R, type
msconfig
, and press Enter. - In the Services tab, enable the Hide all Microsoft services option.
- Click on Disable all and press OK.
- In the Startup tab, click on Open Task Manager.
- Disable all the applications and restart your computer.
- If you don’t get the BSOD like this, one of the programs or services may be the culprit. Enable them one by one to figure out which one.
- If you do get the BSOD, the problem is likely something else. Follow the same steps to revert the clean boot configurations.
Update Windows
Windows Updates often include patches to minor issues with system components, including drivers like ndu.sys
. As such, we recommend updating your system with the steps listed below:
- Press Win + R, type
control update
, and press Enter. - Click on Check for Updates, then download and install any pending ones.
- Restart your PC afterward.
Use System Restore
If you have a system restore point from a time before the BSOD started, it’s very likely that restoring your system to that point could get rid of the BSODs as well. Here’s how you can use system restore in such cases:
- Press Win + R, type
rstrui
, and press Enter. - Press Next and select the restore point to use.
- Accept the confirmation prompts and press Finish.
- After 30 – 60 minutes, the system restore should finish, and you’ll receive a completion message.