10

I know how to to check / repair my hard drive but I don't know a way how to see the number of bad sectors on my hard drive.

P.S. It looks like my hard drive will die soon :-(

0

2 Answers 2

12

There are two ways to detect bad sectors in Linux: you can use the disk utility (gui), or you can use the badblocks command to check your hard disk for bad sectors:

sudo badblocks -v /dev/{device}

That should answer the question but for anyone else interested in how to mark them it can be done with 2 simple commands...

You add the bad blocks to a file...

sudo badblocks /dev/sdb > {/dir/to/filename}

and then tell fsck to mark these as unusable with ...

sudo fsck -l {/dir/to/filename} /dev/{device}
3
  • 2
    It seems that e2fsck has a -c option which calls badblocks itself and takes care of the block size. One apparently has to be really careful that those match if you do it your way. Jul 21, 2014 at 14:39
  • 3
    This use of badblocks+fsck to mark bad blocks could be dangerous. From badblocks man page: "Important note: If the output of badblocks is going to be fed to the e2fsck or mke2fs programs, it is important that the block size is properly specified, since the block numbers which are generated are very dependent on the block size in use by the filesystem. For this reason, it is strongly recommended that users not run badblocks directly, but rather use the -c option of the e2fsck and mke2fs programs." See @john-mehorter answer. Jan 17, 2015 at 18:58
  • Thanks, I was wondering about this just yesterday. +1 Dec 20, 2018 at 3:03
8

Use fsck.ext3 (e2fsck) for instance and use the -cc option

-c     This option causes e2fsck to use badblocks(8) program to do a read-only scan of the device in  order  to  find  any  bad
          blocks.   If  any  bad blocks are found, they are added to the bad block inode to prevent them from being allocated to a
          file or directory.  If this option is specified twice, then the bad block scan will  be  done  using  a  non-destructive
          read-write test.`

fsck -cc /dev/sda1

2
  • 1
    I have read this several times the last years but I don't know what is a non-destructive test. It doesn't change anything in the disk? Is it informative only? Nov 9, 2012 at 5:16
  • I assume that it will try to write in each block, but write the original data back again. Jul 21, 2014 at 14:43

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .