Chkdsk, SeaTools, and “does not have enough space to replace bad clusters”


When I tried to do a Windows Vista Complete PC Backup, I received an error message that blathered about bad sectors. Then, when I ran chkdsk /r on the destination drive, this is what I got:

C:\Windows\system32>chkdsk /R E:
The type of the file system is NTFS.
Volume label is Desktop Backup.

CHKDSK is verifying files (stage 1 of 5)...
  822016 file records processed.
File verification completed.
  1 large file records processed.
  0 bad file records processed.
  0 EA records processed.
  0 reparse records processed.
CHKDSK is verifying indexes (stage 2 of 5)...
  848938 index entries processed.
Index verification completed.
  0 unindexed files processed.
CHKDSK is verifying security descriptors (stage 3 of 5)...
  822016 security descriptors processed.
Security descriptor verification completed.
  13461 data files processed.
CHKDSK is verifying file data (stage 4 of 5)...
The disk does not have enough space to replace bad clusters
detected in file 239649 of name .
The disk does not have enough space to replace bad clusters
detected in file 239650 of name .
The disk does not have enough space to replace bad clusters
detected in file 239651 of name .
An unspecified error occurred.f 822000 files processed)

Yet, when I ran the SeaTools short & long generic tests on the Seagate disk, I didn't receive any errors.

I know that I could reformat the disk and try running chkdsk /r again but I'd prefer to avoid waiting >4 hours in the hope that the problem was magically fixed.

On the other hand, if I RmA the drive to Seagate, I have no SeaTools error number to use and they may claim that the drive is just fine.

What should I try to do next?

Side frustration:

There is plenty of free hard drive space. The E: partition has 182 GB free.

Best Answer

The free drive space and the drive space chkdisk uses are two different things. Each hard disk has some extra unallocated space which is used as replacement space for bad sectors. That space may not be used for anything else and as far as user (of a normally functioning drive) is concerned doesn't exist.

The "free" space on your E: partition isn't free at all. It's taken up by the E: partition (and even if you deleted the partition it still isn't free in the meaning of "free" windows is using).

Basically each sector on a hard disk has its own number. Usually at the end of the drive there are extra sectors which are not numbered. They are used when a sector goes bad. Bad sector's number is removed form the sector and assigned to one of the sectors without a number. This way the bad sector is "fixed".

In the end, the only thing you can do i replace the drive. Each drive has a finite number of normal sectors and a finite number of spare sectors. In your case, spar sectors are used up.

Another thing which is interesting is finding the cause of bad sectors. Hard drives are usually designed in such way that during its lifetime it will not run out of spare sectors. That means that something is generating abnormally large number of bad sectors on your drive and that something is going to get your data sooner or later, so even if you somehow manage to fix this or decide to ignore chkdisk, you should consider replacing the drive because there is a high chance that it will completely fail.