J'ai donc un disque dur qui tombe en panne. Je veux effacer les données dessus avant de l'envoyer pour remplacement. J'essaie d'utiliser dd if=/dev/zero of=/dev/sdXX
, mais cela s'arrête à la première erreur d'écriture. Comment puis-je écraser le lecteur avec des zéros, en ignorant les erreurs d'écriture? conv=noerror
semble affecter uniquement le fichier d'entrée.
bad-sectors
dd
secure-erase
TestUser16418
la source
la source
badblocks
S'arrête- t-il également en cas d'erreur? Peut-être pourriez-vous faire une écriture destructrice avec ça?badblocks
pour être sûr de la quantité de blocs défectueux avant de retourner le disque lundi. Il a également effacé le disque avec succès, mais cela a pris près de 50 heures.Réponses:
essayez ddrescue au lieu de dd - il essaie plus fort avec des erreurs
la source
Paramètres que j'ai utilisés avec ddrescue pour effacer le lecteur
/dev/sdb
(rempli de zéros/dev/zero
) et enregistrer la sortie dans le fichierlog.txt
:la source
Si vous cherchez simplement à essuyer le lecteur, essayez dban
Depuis le site:
Darik's Boot and Nuke ("DBAN") est un disque de démarrage autonome qui efface en toute sécurité les disques durs de la plupart des ordinateurs. DBAN supprimera automatiquement et complètement le contenu de tout disque dur qu'il peut détecter, ce qui en fait un utilitaire approprié pour la destruction de données en masse ou d'urgence.
la source
Pour mémoire, dd a également une option
conv=noerror
pour ignorer les erreurs. Si vous avez rencontré des erreurs sur un fichier d'entrée et que vous ne l' utilisez pas/dev/zero
, vous souhaitez utiliserconv=noerror,notrunc
ouconv=noerror,sync
empêcher dd de tronquer le fichier de sortie là où des erreurs existent sur le fichier d'entrée.Pour votre requête, vous pouvez essayer cette commande à la place:
Pour accélérer le processus et potentiellement éviter que le lecteur ne meure à mi-chemin, vous pouvez également essayer d'augmenter la taille en octets de la valeur par défaut 512 (ce qui rend dd lecture secteur par secteur, ce qui est lent) à quelque chose de plus grand, comme 4K ( qui est huit fois plus grand):
Remarque: avec une taille d'octet plus grande, les erreurs ignorées peuvent laisser des sections de données lisibles légèrement inférieures à la taille d'octet que vous choisissez, mais il est peu probable que quiconque puisse obtenir quoi que ce soit de ces sections après que le disque entier a été exécuté via le processus.
En plus de cela, je suis sûr que les fabricants de disques durs éliminent correctement les disques durs qui sont retournés pour le remplacement de la garantie, au cas où le disque tombe en panne avant d'avoir pu terminer complètement le processus de remplacement.
la source
man dd
montre "noerror" signifie "continuer après des erreurs de lecture"Ce n'est certainement pas une solution pour les utilisateurs expérimentés, mais si les erreurs d'écriture sont rares, vous pouvez simplement vouloir continuer manuellement après leur apparition.
Vous pourriez théoriquement écrire quelque chose pour le faire automatiquement, mais ce n'est pas si simple, et je préfère écrire un outil pour faire l'affaire plutôt que de vous embêter avec le script dd ..
la source