Linux Storage Diagnostics

badblocks — scan device for bad blocks

badblocks scans a block device for bad sectors. It can run in read-only or destructive read-write modes.

What badblocks is good for

Destructive modes will erase all data on the device. Double-check the target device with lsblk before running.
Read-only mode is safest for drives with existing data.

10 Practical Examples

1) Read-only test (safe)

sudo badblocks /dev/sdX

2) Verbose output

sudo badblocks -v /dev/sdX

3) Destructive write-mode test

sudo badblocks -w /dev/sdX

4) Non-destructive read-write test

sudo badblocks -n /dev/sdX

5) Specify block size

sudo badblocks -b 4096 /dev/sdX

6) Output bad block list to file

sudo badblocks -v /dev/sdX > badblocks.txt

7) Use with e2fsck

sudo e2fsck -l badblocks.txt /dev/sdX1

8) Test partition only

sudo badblocks /dev/sdX1

9) Extended testing on new disk

sudo badblocks -wsv /dev/sdX

10) Monitor disk health with SMART

sudo smartctl -a /dev/sdX