Disks support smart?
sudo smartctl -i /dev/sdX
Show disk info:
sudo smartctl -a /dev/sdX
Enable smart:
sudo smartctl -s on -d ata /dev/sdX
Initiate quick health check:
sudo smartctl -d ata -H /dev/sdX
Initiate extended self test:
sudo smartctl -d ata -t long /dev/sdX
then
sudo smartctl -l selftest /dev/sdX
Badblocks can be hazardous to your data. Make a backup first!
Running
badblocks
on SSDs may reduce lifespans.
There are some valid circumstances where you have to use the '-f' switch to force the testing. Be careful when doing so to make sure you 'do no harm'.
tune2fs -l /dev/sdX1 | grep Block
Read/write test a disk/partition:
sudo badblocks -nvs /dev/sdX # entire disk sudo badblocks -nvs /dev/sdX1 # partition only
This is the best test and uses 4096K blocks for improved speed and saves a log file of bad blocks (add f to -wvs to force if drive reports in use):
sudo badblocks -wvs -b 4096 /dev/sdX | tee badblocks.txt
Write zeros to disk (best for making compressible images) (also wipes out MBR):
sudo sh -c "cat /dev/zero > /dev/sdX"
Show disks:
sudo fdisk -l
Partition a drive:
sudo fdisk /dev/sdX
Write a DOS MBR (like fdisk /MBR) (may need –force)
sudo install-mbr /dev/sdX -v --interrupt n --partition D --timeout 0
Note: the syslinux package also includes a mbr.bin file:
sudo dd if=/usr/lib/syslinux/mbr.bin of=/dev/sdX
Linux EXT3:
sudo mkfs.ext3 /dev/sdX1
FAT32 (Flash is normally FAT16 or FAT32): Partition the flash device as 'W95 FAT32' and set the 'bootable' flag if desired.
sudo mkdosfs -F 32 /dev/sdX1
or
sudo mkfs.vfat -F 32 /dev/sdX1