web-dev-qa-db-fra.com

que fait spécifiquement ddrescue --retrim?

Nous suivons actuellement la suggestion médico-légale avec une analyse sans réessai, une réanalyse en lecture directe, une nouvelle analyse et un suivi des analyses directes sur un disque dur défaillant. Je pensais avoir une idée de ce que les étapes faisaient essentiellement.

Mon hypothèse était:

1) La première analyse, sans aucune tentative, consistait simplement à récupérer autant d’informations que possible ne générant pas d’erreurs, en enregistrant celles qui le faisaient pour des tentatives de récupération plus poussées plus tard.

2) la deuxième analyse était la première tentative agressive de passer en revue les secteurs spécifiques à l’erreur enregistrés lors de la première analyse afin de récupérer le plus possible

3+) troisième et analyses subséquentes avec --retrim Je pensais que la liste des erreurs restantes était lue et que toutes les erreurs restantes étaient récupérées.

Le problème qui me fait maintenant me gratter la tête est que lors de la troisième analyse, il a commencé avec 355 erreurs répertoriées (je suppose à partir du journal). Il faisait du bon travail en récupérant beaucoup des précédents et quelques-uns plus tard, après une mauvaise période d'environ 15 minutes, où il ne pouvait en récupérer aucun. Le nombre a été réduit à 285 encore au début de l'analyse. Mais maintenant, le nombre d'erreurs est remonté à 296. Que se passe-t-il réellement pour que ce nombre augmente? J'ai supposé qu'il n'essayait pas de lire autre chose que celles déjà marquées comme des erreurs et ne changerait le nombre d'erreurs que s'il était capable de lire avec succès une erreur déjà marquée comme mauvaise. Je ne m'attendais pas à voir ce nombre augmenter. Donc, je dois manquer quelque chose.

SW

1
Scott

Mon illustration:

Si le nombre d'erreurs correspond à "compter les secteurs", votre conclusion serait correcte, mais si le décompte d'erreur consiste à "comptabiliser des blocs contigus d'un ou plusieurs secteurs défectueux", un bloc de ce type peut être scindé en plusieurs blocs si certains un bloc sont récupérés comme lisibles mais entourés de secteurs défectueux .:

...GGGBBBBBBBBBBGGG...` (one bad block) -->

...GGGBBBGGBBGBBGGG...` (three bad blocks).

Explication dans info ddrescue:

La taille d'erreur totale ('errsize') est la somme des tailles de tous les blocs non tronqués, non grattés et à secteurs défectueux. Il augmente pendant la phase de copie et peut diminuer pendant le rognage, le grattage et la réessai. Notez que si ddrescue supprime ou tente de nouveau les blocs en échec, les bonnes données trouvées peuvent les diviser en blocs plus petits, ce qui diminue la taille totale de l’erreur mais augmente le nombre d’erreurs.

1
sudodus