From ec073aac0e2d4b6be264a4a3b95d29eea0c117d1 Mon Sep 17 00:00:00 2001 From: coesensbert Date: Sat, 30 Dec 2023 23:21:13 +0100 Subject: [PATCH] really really clean a disk --- reallycleandisk.sh | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 reallycleandisk.sh diff --git a/reallycleandisk.sh b/reallycleandisk.sh new file mode 100644 index 0000000..b01cfe5 --- /dev/null +++ b/reallycleandisk.sh @@ -0,0 +1,30 @@ +#!/usr/bin/bash +set -x + +DISK=${1:-nodisk} + +if [ "x${DISK}" = "xnodisk" ]; then + echo "What disk ? (sda, sdb, nvme0n1,...)" + exit 1 +fi + +SIZE=$(sudo blockdev --getsz /dev/${DISK}) +PBSZ=$(sudo blockdev --getpbsz /dev/${DISK}) +SEEK=$(($SIZE - 256 * 1024 * 2 / $PBSZ)) +LEN=$((256 *2 *1024 /$PBSZ)) +# SEEK=$(( $(sudo blockdev --getsz "/dev/sdX1") - 256 * 1024 * 2 / $(sudo blockdev --getpbsz "/dev/sdX1"))) +echo $SIZE $PBSZ $SEEK $LEN +for i in 1 2 3 4 ; do + TOWIPE=${DISK}${i} + if [ -b /dev/$TOWIPE ] ; then + sudo wipefs -a -f /dev/${TOWIPE} + sudo dd if=/dev/zero of=/dev/${TOWIPE} bs=$PBSZ count=$LEN + sudo dd if=/dev/zero of=/dev/${TOWIPE} seek=$SEEK bs=$PBSZ count=$LEN + fi +done + + + +sudo wipefs -a -f /dev/${DISK} +sudo dd if=/dev/zero of=/dev/${DISK} bs=$PBSZ count=$LEN +sudo dd if=/dev/zero of=/dev/${DISK} seek=$SEEK bs=$PBSZ count=$LEN