STATUS_NONEXISTENT_EA_ENTRY (0XC0000051) – Bad EA Name Fix
This error hits when you try to read or delete an extended attribute (EA) that doesn't exist. It's common after a failed file copy or a botched backup.
This error shows up when you try to remove or read an extended attribute (EA) from a file, and Windows can't find that EA by the name or index you gave it. I see it most often after a backup tool like Veeam or robocopy fails halfway through copying a file with special attributes. The file ends up with a corrupt EA table, and any tool that tries to touch those attributes hits the 0XC0000051 stop.
Root Cause
Extended attributes are extra data attached to a file — things like encryption keys, Office document metadata, or NTFS permissions stored as EA. The EA table on a file is a small list of name-value pairs. If something writes a bad EA entry or deletes one without cleaning up the index, the table gets out of sync. When you later ask for that EA by name or index number, Windows checks the table, doesn't find it, and throws STATUS_NONEXISTENT_EA_ENTRY.
The real fix isn't to guess which EA is bad. It's to repair the file's EA table or remove the broken EA outright.
Fix: Delete the Broken EA
You'll need an elevated Command Prompt. Don't skip the chkdsk step — it often fixes the EA table automatically.
- Open Command Prompt as administrator. Press Win+R, type
cmd, then press Ctrl+Shift+Enter. - Find the exact file path that triggers the error. You might see the error in Event Viewer under Application, Source: Ntfs, ID: 55. Note the full path, e.g.,
C:\Users\Mike\Documents\report.docx. - Check the file's EA list. Run:
fsutil ea query /?to see syntax. Then:
fsutil ea query C:\path\to\file.ext
After pressing Enter, you should see a list likeEA[0] name: $KERNEL.PURGE.USERNAME value length: 12 bytes. If the list is empty, the EA table is corrupt — skip to step 5. - Delete the specific bad EA by name. If the error mentions an EA name (like "$KERNEL.PURGE.TOKEN"), run:
fsutil ea delete C:\path\to\file.ext EA_NAME
Replace EA_NAME with the exact name. After deleting, run the query again. You should see the EA count drop by one. - If the EA table is corrupt or you can't see the individual EA, run chkdsk on the volume. In the command prompt, type:
chkdsk C: /r /f
(Replace C: with the drive letter of the file.) It will ask to dismount the volume — press Y. If it's the system drive, it will schedule a scan on next reboot. Restart your PC and let chkdsk run. This rebuilds EA tables for fixed files. After the reboot, check the file again — the error should be gone. - If chkdsk doesn't help, delete the file completely and restore it from backup. That's the nuclear option, but it works. Use:
del C:\path\to\file.ext
Then copy the file back from a backup that doesn't have EA corruption.
What to Check If It Still Fails
- Check the file name. Some EA errors happen because the file path has a typo or extra spaces. Make sure the path is exact.
- Check permissions. Run
icacls C:\path\to\file.extand make sure your account has Full Control. If not, runicacls C:\path\to\file.ext /grant username:F. - Check for disk errors. Run
wmic diskdrive get statusto see if the drive is failing. A failing drive can corrupt EA tables. - Check if the file is encrypted or compressed. EFS encryption stores keys as EA. If you don't have the certificate, the EA might look invalid. Decrypt the file first:
cipher /d C:\path\to\file.ext. - Check third-party tools. Antivirus or cloud sync tools (like Dropbox) sometimes add their own EA. Disable them temporarily, then try the fix again.
That's it. The 0XC0000051 error is annoying but not dangerous. chkdsk fixes it 9 times out of 10. If you're still stuck after all this, boot from a live Linux USB and copy the file off — Linux ignores NTFS EA entirely, so you can salvage the data.
Was this solution helpful?