User Tools

Site Tools


computing:storage:disk_prep_test

Disk or Flash Drive Testing and Preparation

Testing

SMART

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

:!: 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'.

Determine Optimal Block Size

tune2fs -l /dev/sdX1 | grep Block

Non-Destructive Test

Read/write test a disk/partition:

sudo badblocks -nvs /dev/sdX                # entire disk
sudo badblocks -nvs /dev/sdX1               # partition only

Destructive Test

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

Preparation

Wipe a Disk

Write zeros to disk (best for making compressible images) (also wipes out MBR):

sudo sh -c "cat /dev/zero > /dev/sdX"

Partition a Disk

Show disks:

sudo fdisk -l

Partition a drive:

sudo fdisk /dev/sdX

Write a DOS MBR

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

Make a Filesystem

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
computing/storage/disk_prep_test.txt · Last modified: 2018/01/17 10:32 by gcooper