“The parameter is incorrect. (0x80070057)” and other Windows Defrag issues.
I’ve tried to defrag a 2TB hard drive for a couple of days now.
When defragging with /A /H /U /V /O, defrag nears completion, but throws a “The parameter is incorrect. (0x80070057)” error instead. This also happens when using the GUI, but defrag silently logs an error to the Event Log.
Another serious issue is the speed of defragmentation. As of right now (while consolidating free space), the defrag service spends the majority of it’s time eating 100% of a single core, and very little time on actual I/O. A quick bit of investigatory ProcMon work suggests a cause:
If you really want to go deep, Mark Roddy has written a great article: Adventures in Luserland: Finding Disk Sectors Associated with File Records.
Mirrored here: Adventures in Luserland
I’ll conjecture that Microsoft needs to review any defrag code related to FSCTL_GET_RETRIEVAL_POINTERS – but for now, I’ll just have to wait. And wait. And wait.