Question: Some background:

I have been helping my uncle, a photographer, maintain a system of storage for all his work (Terrabytes of images!).

We do this by using two external hard drives for his data storage.

One of them we call the “Work Horse” drive, which he uses for working on files in Photoshop etc. thoughout the day. The other, called “Archive”, receives any changes (using SyncToy) to the Work Horse on a daily basis.

When the external drives start to get full, the pair of drives are eventually disconnected from the system, replaced by a new pair of drives. The full work horse is then stored on-site , the Archive at a family member’s house.

We have used this approach for the past few years – and I am now starting to think about ‘refreshing’ some of the older drives to prevent the effects of ‘bit flux’ or ‘bit rot’.

The Question:

Is using the bad sector check included in Windows 7’s chkdsk sufficient for revitalising every bit of data on these drives? If not, do any of you have a better solution?

Please bear in mind, I am aware using Tape backups would probably be best (as they are purpose built for archiving) but these are not an economically viable option for my uncle at present.

Answer: Simple yet effective method to refresh data is to use badblocks, it’s a linux utility that can check for bad blocks. It has a feature which allows non-destructive read-write test, which rewrites data on hdd by testing pattern, checks that pattern and write back original data.

Almost every linux distribution contains this utility as a part of e2fsprogs package. You can use for example live cd/usb SystemRescueCD

It is also part of cygwin packages, so you may be able to use it under Windows.

I’m not sure about this, but I think that chkdsk is performing only read test.