Check disk: Difference between revisions

From Bitpost wiki
No edit summary
No edit summary
Line 17: Line 17:
  su -
  su -
  e2fsck -c /dev/sda5
  e2fsck -c /dev/sda5
To scan an entire drive for badblocks (which MAY cause firmware to improve things...?):
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:
  badblocks -svv /dev/sda
  sudo badblocks -t random -w -svv -b 4096 /dev/sda
To repair a drive, you MAY try this, but not tested.  e2fsck should be preferred according to [man badblocks]
e2fsck should be preferred according to [man badblocks], but if you can't get a partition written you will need badblocks.
badblocks -svvn -c 262144 /dev/sda

Revision as of 19:07, 20 March 2025

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.