Généralement, vous ne pouvez pas vraiment rafraîchir tout le disque sans tout lire/écrire. fsck est peu susceptible de fournir ce dont vous avez besoin - cela fonctionne avec le système de fichiers pas le périphérique sous-jacent, il analyse donc principalement les métadonnées du système de fichiers (inodes et autres structures de système de fichiers).
badblocks -n peut être une option pour dd if=X of=X . Dans tous les cas, vous voudrez probablement utiliser de gros blocs pour accélérer les choses (pour dd quelque chose comme bs=16M , pour badblocks cela donnerait -b 16777216 , ou -b $((1<<24)) dans des coquilles raisonnables). Vous voudrez probablement aussi utiliser conv=fsync avec dd .
Quant à la sécurité de dd avec le même périphérique d'entrée et de sortie - il lit le bloc de l'entrée et l'écrit dans la sortie, il devrait donc être sûr (j'ai rechiffré une partition chiffrée comme celle-ci à plusieurs reprises, en créant des périphériques en boucle avec le même périphérique sous-jacent et différents mots de passe puis dd 'ing de l'un à l'autre) - au moins pour certains types de supports physiques :par exemple avec des lecteurs en bardeaux, il n'est certainement pas évident pour moi qu'il soit 100 % infaillible.