web-dev-qa-db-fra.com

Sauvegarde d'un disque dur avec des secteurs défectueux: DD vs GDDRESCUE

Quelque part sur le - internets j'ai lu que gddrescue est supérieur à dd au moins en termes de pouvoir Faites la distinction entre la quantité de lectures de disque effectuées sur un secteur troublé. Est-ce vraiment le cas?

time DD Si =/dev/SDA Skip = 900343967 de = A.bin Nombre = 4 iflag = direct conv = noerror, synchronisation

dD: lecture `/ dev/sda ': erreur d'entrée/sortie
2 + 0 enregistrements dans
[.____] 2 + 0 enregistre
[.____] 1024 octets (1,0 kb) copiés, 18.6057 S, 0,1 kb/s
3 + 1 enregistrements dans
[.____] 4 + 0 enregistre
[.____] 2048 octets (2,0 kb) copiés, 18.6707 S, 0,1 kb/s

réel 0m18.672S
[.____] utilisateur 0m0.000s
SYS 0M0.004S

BTW, le Direct ​​Drapeau aide vraiment, sans cela, je n'ai pu lire que 1 secteur sur 4 (vs 3/4 avec elle). Cependant, cela ralentit sensiblement la vitesse de transfert en bas - elle est au moins environ 5 fois plus lente pour moi: 5Mb/s vs 25 Mo/s sans ce drapeau. De toute façon, maintenant pour la partie gddrescue (ddscue) ..

tIME DDRESCUE -B512 -C1 -S4B -DNVD -I900343967B -O0B/DEV/SDA B.BIN

Sur le point de copier 2048 octets de/dev/sda à b.bin
Positions de départ: Infile = 460976 MB, Outfile = 0 b
Taille du bloc de copie: 1 blocs durs
Taille du bloc dur: 512 octets
[.____] max_retries: 0
[.____] Direct: Oui Sparsse: Non Split: Non tronqué: Non

Appuyez sur Ctrl-C pour interrompre
[.____] Sauvé: 1536 B, Erreg: 512 B, Taux de courant: 53 B/S
IPOS: 460976 MB, Erreurs: 1, Taux moyen: 53 B/S
[.____] opos: 1536 B, heure de la dernière lecture réussie: 0 s
Fini

réel 0m18.736s
[.____] Utilisateur 0m0.004S
[.____] SYS 0M0.000S

Comme indiqué ci-dessus, il a pris exactement le même temps d'exécution. Comme prévu - mêmes statistiques: 3/4. Cependant, alors que je pouvais poser les secteurs troublés avec x pour dd (conv = sync), gddrescue semble manquer cette fonctionnalité? Au lieu de cela, il saute simplement le secteur troublé avec quoi que ce soit à sa position et se poursuit avec le prochain secteur (si je disposais déjà de données écrites sur ce secteur dans le fichier de sortie - il ne sera pas écrasé: parfois cela pourrait ne pas être souhaitable ). Je ne sais pas comment l'option t (tronquée) fonctionne pour un périphérique de bloc avec gddrescue (je suppose que cela écrasera complètement avec 0x00) , mais sur un fichier régulier, il sera, comme prévu, tronquer le fichier entier sans le faire dans les dimensions de décalage (c.-à-d. -O1). Donc, c'est un peu similaire à dd Sync, mais loin d'être identique à ce qu'il n'imprime que la fonctionnalité d'identification si vous êtes prêt à écraser le dispositif de sortie complet/fichier.

Bien que, grâce à la présence d'option verbeuse et à la capacité de connecter des secteurs/blocs incorrects - gddrescue semble être un meilleur choix. Il est important de noter que les deux applications ont été lancées avec des paramètres identiques (à peu près).

La sortie de

diff? .bin

est vide (sortie 0), ce qui signifie que les fichiers sont exactement les mêmes.

Maintenant, c'est la partie I NE PAS Comprendre:

DD est lent même sur les trucs sans erreur car il fait de minuscules lis et écrit. Il passe beaucoup de temps à mâcher à travers les parties erronées du lecteur, plutôt que de lire autant de choses sans erreur que possible, puis de remonter pour faire les choses difficiles.

Qu'est-ce que ça signifie? Surtout la partie "Cela dépense beaucoup de temps à mâcher à travers les parties erronées du lecteur, plutôt que de lire autant de choses sans erreur que possible, puis de retourner pour faire le disque dur"? Il a fallu le même temps, comme indiqué ci-dessus (même si j'ai inspecté une très petite partie des données, mais si cela importe?).

gddrescue offre le bouton r Commutateur, qui devrait contrôler la quantité de re-lit sur un "mauvais secteur", cependant DD semble être en cours d'exécution avec le R0 Tout le long (comme cela a pris la même heure). Donc, cette option est-elle simplement pour "post-traitement"? Ce que j'arrive, est-ce à l'origine à la fois dd et gddrescue semblent fonctionner avec R0 et dd ne semble pas être Chewing à travers les parties erronées plus que gddrescue (ils semblent tous les deux HALT sur un mauvais bloc pour 15-18 secondes donnent ou prendre, alors quelle est la transaction, comment est gddrescue plus rapide ???)

En outre, quelle est l'option d (utilisez des écrivies synchrones pour le fichier de sortie) pour? Je n'ai pas remarqué aucune différence par rapport à certains des tests effectués.

Quelqu'un peut-il commenter le tout? Merci.

11
XXL

Je ne sais pas comment l'auteur cité est arrivé à sa conclusion. Je ne débats pas s'il est correct, je n'ai tout simplement pas cette expérience.

D'autre part, en ce qui concerne cette déclaration ...

gDDRESCUE est supérieure à DD au moins en termes de distinction entre la quantité de lectures de disque réalisées sur un secteur troublé.

La vraie raison "au moins" d'utiliser gddrescue est que GDDRESCUE ne tronque pas la sortie sur des tentatives de lecture/écriture répétées. GDDRESCUE est également entièrement automatique, en ce qui concerne certaines erreurs de lecture qui feraient arrêter DD.

L'auteur cité peut donc être correct, il ne peut pas ... mais toute la déclaration manque le point de GDDRESCUE.

MISE À JOUR: Différences détaillées entre DD et GDDRESCUE.

dd conv = noerror, continuera à aller après une erreur, mais cela va simplement sauter le mauvais bloc. Même l'ajout de l'option de synchronisation ne fera que mettre des zéros au lieu de sauter. Si vous utilisez DD pour effectuer une autre lecture en utilisant la même sortie, vous allez simplement écraser/perdre tout ce que vous avez récupéré précédemment.

gDDRESCUE, continuera également à aller après erreur. Il peut récupérer un rendement partiel d'un mauvais bloc et remontera le secteur des blocs par secteur. GDDRESCUE conservera un journal d'erreur détaillé, avec un bon bloc, des blocs de mauvais blocages et le secteur par secteur de tout mauvais bloc. Si vous essayez d'effectuer la lecture à nouveau, GDDRESCUE coupera (tronquera) et ajoutera des données récupérées en plus.

Gardez à l'esprit, même avec les deux outils si un bloc total dans 100% illisible. Vous n'obtiendrez toujours aucune donnée de cela. GDDRESCUE peut potentiellement obtenir plus de données si certains secteurs du bloc sont lisibles.

6
J. M. Becker

Selon le moment où votre disque dur a été maudituré aussi bien que le fabricant et quelle version du micrologiciel qu'il exécute, avec des disques disques modernes, lorsque des secteurs défectueux sont détectés, ils sont retirés d'utilisation par le micrologiciel et le lecteur sait sauter les secteurs défectueux. Ainsi, la notion de "sauvetage" un disque dur des mauvais secteurs peut être discutable à cet égard. La question de savoir si les secteurs actuels avaient une fois des données valides semblaient être la solution de cas que vous recherchez - aucun jeu de mots destiné!

Il y a des logiciels sur GRC.com appelé Spinrite 6 qui prétend être capable de corriger des disques durs avec des secteurs défectueux. C'est un logiciel payant, et je ne l'ai jamais essayé. Il vaut la peine de lire, surtout si on tente de "résoudre" un disque dur et fonctionne comme décrit comme décrit. Le FAQ sur GRC.com concernant Spinrite 6 indique qu'il existe une garantie de remboursement de 30 jours (et il n'y a pas de version d'essai ou de version gratuite). Remarque: je ne suis pas affilié à grc.com, Je ne le recommande pas non plus pour votre situation. Je sais juste que cela existe et pourrait travailler comme annoncé, ne prenez pas la parole pour cela - cavez-vous.

En ce qui concerne l'évaluation de la question de savoir si GDDRESCUE "est supérieure" à DD au moins en termes de distinction entre la quantité de lectures de disque effectuées sur un secteur troublé, tout nombre de lectures sur un mauvais secteur (puisqu'il est marqué comme une non- Secteur fonctionnel dans une liste de secteurs méchants conservés dans une liste de firmware) ne me semblerait pas utile d'être utile dans une utilisation qualitative de GDDRESCUE ou de DD.

Vous pouvez trouver utile de lire la page Web, DD (UNIX) à: https://secure.wikimedia.org/wikipedia/fr/wiki/gddrescue#recovery-oriented_variants_of_dd

Vous pouvez également trouver utile d'examiner: Comment créer une image d'un disque dur écrasé à l'aide de l'explorateur UBCD, DD-Sauve-Rescue et P2 à l'adresse suivante: http://www.myfixlog.com/fix. php? fid = 21

2
Tom