Check Hard drive for bad sectors or bad blocks in linux
Step:1 Use fdisk command to identify your hard drive info # sudo fdisk -l
Step:2 Scan your hard drive for Bad Sectors or Bad Blocks # sudo badblocks -v /dev/sdb > /tmp/bad-blocks.txt
Just replace “/dev/sdb” with your own hard disk / partition. When we execute above command a text file “bad-blocks” will be created under /tmp , which will contains all bad blocks.
Step:3 Inform OS not to use bad blocks for storing data
Once the scanning is completed , if the bad sectors are reported , then use file “bad-blocks.txt” with e2fsck command and force OS not to use these bad blocks for storing data.# sudo e2fsck -l /tmp/bad-blocks.txt /dev/sdb
Note : Before running e2fsck command , you just make sure the drive is not mounted.
For any futher help on badblocks & e2fsck command , read their man page