Vérification HD physique complète

17

Je voudrais effectuer une vérification physique complète, secteur par secteur, sur certains disques durs externes. Pour autant que je sache, chkdskne fournit pas cette option.

Y a-t-il une solution de contournement sous chkdsk, ou un bon remplacement? J'utilise Windows 7 sur cette machine, mais les solutions Linux applicables à partir d'un CD live sont également les bienvenues.

Merci,

Adam Matan

Adam Matan
la source
Quel système d'exploitation utilisez-vous? Puisque vous avez mentionné chkdsk, je suppose que c'est Windows NT, XP, Vista, 7, Server 2003 ou Server 2008.
vol

Réponses:

28

Sous Windows NT / XP / Vista / 7, vous pouvez ouvrir une invite CMD et utiliser

chkdsk /r x:

où x est la lettre de lecteur de votre clé USB, en supposant que le lecteur est partitionné et qu'une lettre de lecteur lui est affectée.

Je suggère d'obtenir un CD live Ubuntu et de démarrer sous Linux, puis d'utiliser des badblocks pour rechercher les défauts physiques.

Utilisez sudo fdisk -lpour répertorier tous les lecteurs et leurs partitions. Pour chaque lecteur :

sudo badblocks -nvs /dev/sdx

où votre disque dur est / dev / sdx. Cela effectuera un test de lecture / écriture non destructif sur le disque sans effectuer de vérification du système de fichiers.

Si vous ne vous souciez pas des données, vous pouvez le faire à la place, pour effectuer une analyse plus approfondie:

sudo badblocks -wvs /dev/sdx

L'option -w indique aux badblocks d'écrire un modèle connu, puis relisez les données pour vous assurer qu'elles correspondent au modèle. Il le fait 4 fois, en utilisant les modèles 0xaa, 0x55, 0xff et 0x00 (en alternant 0 et 1, puis tous les 1, puis tous les 0). Notez que cela écrasera toutes les données sur le lecteur et effacera également toutes les partitions.

S'il vous arrive d'avoir un système de fichiers Linux sur le lecteur, vous pouvez vérifier les erreurs du système de fichiers et exécuter des badblocks en même temps. Tout d'abord, obtenez la liste de tous les lecteurs et de leurs partitions:

sudo fdisk -l

Puis pour chaque partition :

sudo e2fsck -fcc /dev/sdx#

Encore une fois, / dev / sdx est le disque dur que vous souhaitez analyser. # est le numéro de la partition (par exemple, / dev / sdb1). La spécification de c deux fois forcera fsck à s'exécuter et utilisera des badblocks pour effectuer un test de lecture-écriture non destructif. Si vous utilisez une seule fois l'option c, les badblocks feront un test en lecture seule.

J'exécute badblocks -wvs sur chaque nouveau disque dur que j'achète avant de le mettre en service.

Rob
la source
1
Je ne pense pas que chkdsk / r analyse vraiment chaque bloc ... il s'exécute beaucoup plus rapidement que ce à quoi je m'attendais pour quelque chose qui lit chaque bloc. Pourrait vouloir noter l'option de test non destructif des badblocks, au cas où il aurait déjà des données sur les disques.
davr
@davr: Merci; J'ai déjà mentionné le test non destructif de badblocks dans la commande fsck, mais j'ai ajouté un badblocks -vs explicite pour être complet. chkdsk / r recherche les blocs défectueux et prend un certain temps lorsque je l'exécute, mais n'est probablement pas aussi complet que badblocks -w. Êtes-vous sûr de ne pas penser à chkdsk / f ou chkdsk / p, qui ne corrigera que les erreurs du système de fichiers mais ne recherchera pas les blocs défectueux?
voler
@davr: J'ai pensé à une chose ... chkdsk ne vérifie probablement pas l'enregistrement de démarrage ou la table de partition. Puisqu'il prend uniquement un nom de volume (c'est-à-dire une lettre de lecteur, un point de montage ou un nom de volume) comme argument, cela suggère que vous ne pouvez vérifier qu'un volume logique pour les erreurs de média, et tout ce qui se trouve en dehors du volume spécifié (partition) est ignoré. Cela ne devrait cependant pas faire une grande différence en termes de vitesse de numérisation. C'est de cela dont vous parlez?
voler
1
Votre utilisation de fsck est en fait une référence à e2fsck. Le stock fsck ne comprend pas d' -cargument de ligne de commande. Autre que, bonne réponse.
DaveParillo
Vous avez raison, Dave. Merci; J'ai déplacé les instructions badblocks à l'avant car il exécute Windows, mais j'ai corrigé les instructions e2fsck et les ai déplacées à la fin pour quiconque traverse cela et exécute Linux.
voler
5

Je voudrais effectuer une vérification physique complète, secteur par secteur, sur certains disques durs externes.

Téléchargez et exécutez HD Tune , choisissez le lecteur que vous souhaitez analyser dans le menu déroulant, cliquez sur l'onglet Scan d'erreur (assurez-vous que la case Quick Scan est vide) et appuyez sur Démarrer .

entrez la description de l'image ici

HD Tune est gratuit pour un usage personnel et portable (aucune installation requise).

Gaffe
la source
1
Freeware ?? Essai de 15 jours! C'est juste HD Tune qui est un logiciel gratuit.
Loren Pechtel
excuses, édité le post ... ne fait pas beaucoup de différence car la fonctionnalité à laquelle je fais référence est disponible dans la version gratuite, comme vous pouvez le voir sur la capture d'écran.
1

De nombreux fabricants de disques comme Western Digital et Seagate fournissent des outils qui effectueront ce type de vérification. Habituellement, un outil Windows.

Dave M
la source
Pour autant que je sache, cela exécute simplement l'autotest SMART, qui n'est pas une analyse complète du lecteur.
endolith
endolith- Les tests de WD semm pour aller au-delà de SMART. Téléchargement gratuit alors essayez-le si vous avez un lecteur WD
Dave M
1

Sous Windows, j'utiliserai la version gratuite de HDTune pour rechercher les secteurs défectueux. Cependant, le programme Linux BadBlocks est bien meilleur, vous donnant une liste exacte de chaque bloc défectueux, et prend en charge la vérification en lecture et en écriture (bien que l'écriture soit destructrice).

Dentrasi
la source
2
badblocks dispose également d'un test d'écriture non destructif. il lit le bloc, écrit une nouvelle valeur, vérifie la nouvelle valeur, puis réécrit le bloc d'origine. il ne détruira donc aucune donnée valide sur le disque. L'inconvénient est que les opérations supplémentaires le rendent beaucoup plus lent.
davr
1

Tout lecteur moderne remappera automatiquement les blocs illisibles / aléatoires. Un système d'exploitation n'obtiendra normalement pas d'échec de lecture pour un bloc à moins que le bloc ne soit vraiment illisible, et l'écriture sur ce bloc entraînera le remappage du disque. Cela échouera uniquement si le lecteur est à court de blocs de rechange, auquel cas il est temps de remplacer le lecteur!

Le résultat est qu'un système d'exploitation marquant les "mauvais blocs" dans le style de scandisk est généralement inutile.

Cela dit, j'utiliserais un autotest étendu SMART. smartmontools devrait fonctionner. Vous pouvez également obtenir le nombre de blocs remappés.

Notez que sous Linux, un simple dd if=/dev/sdx of=/dev/null, où sdx est le périphérique de bloc du disque, fera une lecture logique complète du disque. Si des blocs sont illisibles, vous obtiendrez une erreur. Si cela ne vous dérange pas de clobper les données, vous pouvez dd if=/dev/zero of=/dev/sdxsimplement écraser le disque entier, entraînant le remappage du disque si nécessaire.

Capitaine Segfault
la source
1
Au lieu d'utiliser «dd», il est préférable d'utiliser la commande linux «badblocks», spécialement conçue pour cette tâche.
davr
1
Mon point est que "cette tâche" est aussi obsolète que le concept d'un "mauvais bloc".
Capitaine Segfault
Le disque dur ne corrige pas les blocs défectueux tant que vous n'y avez pas écrit. Une bonne façon de leur écrire est d'utiliser des badblocks en mode non destructif. : D
endolith
Je souhaite que ce soit vrai. Vous confondez des disques internes avec des disques externes USB. Les boîtiers de clés USB nécessitent un meilleur firmware avec des rapports SMART, dont la plupart d'entre eux manquent.
Nicolay77
@endolith Certains disques durs déplacent également les blocs suspects lors de la lecture. Au moins certains disques durs d'entreprise.
Roland Pihlakas du
-1

Je n'ai jamais été trop passionné par les lecteurs externes USB, car ils n'existaient pas vraiment lorsque certains des meilleurs outils comme ScanDisk ont été écrits. J'aime particulièrement la version de ScanDisk fournie avec Windows 98 SE.

Donc, s'il s'agit d'un lecteur externe, vous devez probablement le placer dans un ordinateur, puis l'exécuter fsck -fsur le lecteur à partir d'un LiveCD Linux tel que le CD de sauvetage PLD .

onze81
la source
1
ScanDisk est obsolète. fsck -f forcera fsck à s'exécuter, mais il ne fera pas de test de support physique.
voler