badblocks
lit, écrit et compare (pas nécessairement dans cet ordre).
Par la suite badblocks -v
, des messages comme:
Pass completed, n bad blocks found (x/y/z errors)
Ce qui signifie qu'il a trouvé n
des blocs défectueux, comprenant des x
erreurs de lecture, y
des erreurs d'écriture et z
des erreurs de corruption. Il considère les erreurs de lecture et d'écriture telles qu'elles se sont produites lors de la lecture et de l'écriture (telles que rapportées par le noyau). Ces erreurs peuvent également être dues à des problèmes de câble / contrôleur / pilote.
Une erreur de corruption est l'endroit où les données ont été comparées et jugées différentes de celles attendues (c'est-à-dire que les données lues ont dévié des données précédemment connues / écrites). En particulier, il badblocks
peut écrire différents modèles de données (spécifiés par une ou plusieurs -t pattern
options) et vérifier si chaque modèle a été correctement écrit.
Il est possible d'obtenir des faux positifs pour les erreurs de corruption, si un autre programme effectue ses propres écritures pendant badblocks
son exécution. Si un autre programme écrit, le disque se comporte correctement, mais badblocks
ne le saura pas, il ne voit que ce qu'il considère comme des données erronées.
C'est aussi pourquoi vous ne devriez jamais exécuter badblocks
sur un lecteur en cours d'utilisation, sur un lecteur qui possède déjà un système de fichiers qui pourrait être monté automatiquement à votre insu, ou sur des lecteurs que vous soupçonnez déjà d'être mauvais, mais vous souhaitez toujours récupérer vos données.
En termes de récupération de données, vous devriez toujours y aller au ddrescue
lieu de badblocks
. ddrescue
fait à peu près la même chose badblocks
(mode lecture), il lit le lecteur entier et enregistre les secteurs qu'il n'a pas pu lire; mais en même temps, il produit une copie utile, alors badblocks
qu'il supprime entièrement les données.
Est-ce digne de confiance?
badblocks
est un outil comme les autres, il fait exactement ce qu'il dit dans la page de manuel - recherchez un périphérique pour les mauvais blocs. Il peut ou non être le bon outil pour tout ce que vous voulez faire.
Entre de mauvaises mains, cela pourrait être la cause de la corruption des données. Le soi-disant non-destructive
mode est un faux ami et n'implique aucune sécurité pour vos données.
badblocks
(mode d'écriture) est principalement utile pour mettre un nouveau lecteur vide dans l'essoreuse avant de lui faire confiance avec les données.
Pour un test en lecture seule, il est généralement préférable d'utiliser des autotests SMART ( smartctl -t long
ou smartctl -t select
). Plus sûr que badblocks
et convivial pour les autres E / S.