From microsoft documentation of chkdsk command, it has the following commonly used switches:
Fixes errors on the disk. The disk must be locked. If chkdsk cannot lock the drive, a message appears that asks you if you want to check the drive the next time you restart the computer.
Locates bad sectors and recovers readable information. The disk must be locked.
/rincludes the functionality of
/f, with the additional analysis of physical disk errors.
NTFS only: Clears the list of bad clusters on the volume and rescans all allocated and free clusters for errors.
/bincludes the functionality of
/r. Use this parameter after imaging a volume to a new hard disk drive.
Does it mean
/r switch will scan for both logical errors in files (logical file corruptions) and physical HDD damages (like bad sectors)?
/r switch does scan for bad sectors, will it scan the entire HDD (both used and free areas) ?
Do the differences between
/b lie in that
/r will skip scanning for the sectors previously marked as bad sectors while
/b will scan all sectors (no matter normal or bad)?
/b will update the list of marked bad sectors, which means releasing false-positive bad sectors for normal usage (This often happens when cloning an old HDD with bad sectors to a brand new HDD which should have no bad sectors in ideal case). Am I correct?
If my understanding is correct in Q3, then I would wonder about the mechanism of determination for bad sectors.
Suppose there is a bad sector(already marked as bad) in old HDD and it is not 100% dead practically, so it could read once in several attempts. Then I clone the old HDD to a brand new one, so the bad sector records are also copied to the new HDD.
If now I run
chkdsk /b for the brand new HDD, will there be a chance that this abnormal sector will be released as a normal sector for read/write? That sounds dangerous and unreliable.
Is it worth to use
/b for the brand new HDD after cloned?