# 1/ Savoir quel emplacement tester :
sudo -i
fdisk -l | grep '/dev/[sh]d[a-z]\|sata[0-9]\|usb[0-9]'
ls /dev/ | grep '/dev/[sh]d[a-z]\|sata[0-9]\|usb[0-9]'
# Exemple de sortie :
Disk /dev/sata2: 1.8 TiB, 2000398934016 bytes, 3907029168 sectors
Disk /dev/sata1: 7.3 TiB, 8001563222016 bytes, 15628053168 sectors
Disk /dev/sata3: 931.5 GiB, 1000204886016 bytes, 1953525168 sectors
GPT PMBR size mismatch (239649 != 245759) will be corrected by w(rite).
/dev/sata3p1 2048 4982527 4980480 2.4G fd Linux raid autodetect
/dev/sata3p2 4982528 9176831 4194304 2G fd Linux raid autodetect
/dev/sata3p3 9437184 1953320351 1943883168 926.9G fd Linux raid autodetect
# 1-bis/ Si disque USB avec partition montée automatiquement :
Utiliser la commande ls /dev.... précédente, et démonter les paritions avec :
umount /dev/usb1p1
umount /dev/usb1p2
# 2/ Vérifier la valeur à mettre pour le paramètre -b
sudo hdparm -I /dev/sata1 | grep -i physical
# Exemple de sortie :
admin@Syno-DS920Plus:/dev$ sudo hdparm -I /dev/sata2 | grep -i physical
Physical Sector size: 4096 bytes
#3/ Détermination de la valeur max du paramètre -c : XX = qté en Go de RAM --- YY nombre de disques à tester
# Formule de calcul : XX * 1024 * 3/32 * 1024 / YY
# Dans le cas des deux disques ci-dessous : 12 x 1024 * 3/32 * 1024 / 2 = 589824 ko
# Mais ça ne passe pas, et qu'il y a une erreur :
# [1]+ Segmentation fault (core dumped) badblocks -b 4096 -c 589824 -s -w -v /dev/sata1 > /volume1/toto/badblocks_sata1.log 2>&1
# Donc on test avec 10Go : 10 x 1024 * 3/32 * 1024 / 2 = 491520
# et si ça ne fonctionne toujours pas, on test avec 8Go : 8 x 1024 * 3/32 * 1024 / 2 = 491520
# 4/ En cas de doute sur un disque : pour avoir des infos détaillées
smartctl -a /dev/sata2
# -> Afficher fichier dans la ligne de commande :
tail -f /volume1/Rapports/badblocks_sata4.log
# => LA COMMANDE BADBLOCK à lancer en ligne de commande :
# => Nouvelle version 2021 <=
sh -c "/sbin/badblocks -b 4096 -c 491520 -s -w -v /dev/usb2 > /volume2/TEMP/badblocks_usb2-test.log 2>&1" &
# -> Pour tuer un processus :
ps -aux | grep badblocks
kill xxxx
kill -9 xxxx