2

I have an external USB WD disk (with physical and logical block size 512), which reports self test fail in smart with certain LBA. I tried to use badblocks to locate all the failed sectors/blocks, but it always finished the test with "Pass completed, 0 bad blocks found (0/0/0 errors)" regardless using or not using -w option.

Does it mean that badblocks may miss some error?

  • 1
    You didn't include details about the SMART values and failed tests in the question, but if the failure resulted in a block reallocation, the bad block will have been replaced with a good block, and badblocks won't find it (anymore), because this mapping is only visible to the harddisk. – dirkt Jun 19 '18 at 12:02

2 Answers2

0

Unless you have a utility that is able to access the disk at SCSI level, there is few that a normal read of a disk can do.

If you like to be able to find bad blocks, you need to be able to get access to the internal error correction data from the disk controller hardware. The SCSI verify command can do this but a normal read cannot.

Note that in former times, sectors with bit errors have been called bad blocks, but since IBM Stuttgart in 1992 made the first disk with forward error correction on the fly, bad blocks are blocks with a certain amount of bit errors that is close to the maximum correctable.

Before 1992, a normal read could find bad blocks and many people seem to believe that this still works, so what exactly does your program?

schily
  • 19,173
0

Does it mean that badblocks may miss some error?

Not necessarily. badblocks will not see any blocks that the disk has decided that are broken and has remapped.

symcbean
  • 5,540