Check disk
See what you have. Use gparted, or these...
# basics df # NICE, this shows ALL DRIVES and where they are mounted! sudo lsblk # This is nice too, shows "data" for a raw drive, or type for a formatted one. Nice to know! sudo file -s /dev/xvdf
Most drive health maintenance is done internally by S.M.A.R.T.
# install smartctl tools smartctl -c /dev/sdf # to peek at available tests and how long they typically take to run smartctl -t short /dev/sdf watch -n 3 smartctl -l selftest /dev/sdf # until success, takes about 1 minute # if you're feeling ambitious, rerun with [-t long]
You can do more. Boot to a live mode to test root partitions.
This is a tested way to check a PARTITION for bad blocks, and repair:
su - e2fsck -c /dev/sda5
badblocks is an old program that destructively scans an entire drive (like dd) looking for bad blocks, by writing data to them all (which MAY cause firmware to improve things...?). You have to use -b param to get it to work with larger drives. THIS IS DESTRUCTIVE:
sudo badblocks -t random -w -svv -b 4096 /dev/sda
e2fsck should be preferred according to [man badblocks], but if you can't get a partition written you will need badblocks.