Originally Posted by crashpoint_zero
The above thread was very useful as I am facing the same problem and am running dosfsck to repair my USB drive. Thanks. I googled for what it tries to fix to understand the output and ran it with -v option, but didn't get much information. Can anyone elaborate on what:
File size is 111 bytes, cluster chain length is 0 bytes.
Truncating file to 0 bytes.
Contains a free cluster (5523521). Assuming EOF.
Does the USB hard drive have an internal table which keeps track of the clusters used and if the table entries are not in sync with the data on the disk, at that time these errors are detected?
Hi and welcome to LQ!
This was an old thread, but anyway -
If I understand correctly those messages simply indicate lost cluster(s) recovered by dosfsck - the type of error caused by write failures, power hiccups, software glitches, etc. The same thing scandisk in DOS/Win fixes without showing such messages. Your messages might be related to a file taking up 111 bytes when the FAT says it should be 0, or an incomplete write.
The same problem as the OP, eh? There are a few possible causes:
1) The number of files/folders on the root of the disk. FAT16 and FAT 32 have limits that can easily be exceeded by today's standards.
2) Power fluctuation on the usb root hub or disk drive. Have you tried testing it on other computers?
3) Corrupt FAT. Maybe dosfsck can't detect or fix this. Wipe and reformat the drive/partition, maybe?
4) Bad sectors where the disk it trying to write. SMART has been good at reassigning bad sectors to avoid problems, but sometimes it runs out of space for reassignment. The badblocks command in linux can scan for bad sectors. Get a copy of the Window$ utility HDDScan and run it with Admin privelege to get a SMART report. High and increasing values for reallocation_sector_count, reallocation_event_count and current_pending_sector_count could indicate pending drive failure.
USB hard drives and flash drives still use allocation tables for FAT-formatted partitions, or journals for NTFS, to track cluster usage and assignment. USB hard drives are actually internal drives mounted in a box. Anything that applies to internal drives also applies to USB hard drives: partitioning, mechanics, etc. Flash drives, though, also use FAT tables or journals, but the technology is more sensitive, has longer write delays, and more prone to data loss during any of the previously-mentioned situations.
Hope this helps