#!/bin/bash
DISK="/dev/disk/by-id/ata-WDC_WD20NMVW-59AV3S3_WD-WXQ1EA4F4HS2"
MAX_SECTORS=$(hdparm -I ${DISK} | grep sectors | grep LBA48 | rev | cut -d' ' -f1 | rev)
JUMP=64
LAST=$(cat last)
while [ ${LAST} -lt ${MAX_SECTORS} ]; do
if [ $(expr ${LAST} + ${JUMP}) -lt ${MAX_SECTORS} ]; then
DIFF=${JUMP}
else
DIFF=${MAX_SECTORS} - ${LAST}
fi
RANGEEND=$(expr ${LAST} + ${DIFF})
for i in $(seq ${LAST} ${RANGEEND}); do
hdparm --yes-i-know-what-i-am-doing --write-sector ${i} ${DISK} 2>&1 | grep "sector" | awk '{printf "%s\r", $0}'
done;
LAST=$(expr ${LAST} + ${DIFF} + 1)
echo -n ${LAST} > last
done
Comments