So what does CHKDSK do? Well it reads through all the data listings, checking that everything stored and distributed on the disk is correct. Here it will simply read the overhead data. Where scanning for bad sectors is selected, CHKDSK reads the entire disk and not just overhead information. This can take quite a while. Where it is unable to read information, it will report an error. CHKDSK cannot interpret whether the data found is ‘good’, merely that it can be read.
When should I run CHKDSK? Normally only when you suspect a problem. Clearly if the problem is mechanical or electronic, CHKDSK will not be able to help and you should not put the hard disk drive through the strain of trying to run the utility. This may further damage a heads that is crashing or motor that is struggling! If you are encountering bad sectors – manifesting themselves as bad reads, writes or CRC errors – then CHKDSK may help and will remove that bad sectors from continued use. Similarly if your machine has been crashing, running CHKDSK to check the validity of the file system is a good option.
Will CHKDSK recover data? It is not a data recovery tool and will not recover lost or damaged files. CHKDSK will simply ensure the information currently on the disk is in a consistent and safe state. If files are damaged, the CHKDSK utility attempts to separate the damaged files and save the remnants as Filenn.chk. This reorganisation of bad sectors can cause further problems. There have been many discussions or forums whereby CHKDSK has failed to repair a file and made it worse! The best advice we can give is to never run CHKDSK with the automatic repair option enabled.
Reference: http://www.datarecoveryspecialists.co.uk/blog/chkdsk-data-recovery