HowTo: Check hard drive for errors1

a) sudo smartctl -t long /dev/sda

b) sudo touch /forcecheck; /sbin/reboot

OR

b) sudo shutdown -rF now See fsck for details.

c) Check for bad blocks:

sudo badblocks -v /dev/sda1
sudo badblocks /dev/sda > ~/badblocks.txt
sudo fsck -l badblocks.txt /dev/sda
  1. Based on A and B