Comment puis-je corriger une erreur d'entrée / sortie à l'aide de dd?


13

Salut, j'essaie de réparer mon système Windows 7 avec un disque dur cassé, mais il fonctionne toujours.

J'essaie de copier toutes les données sur un nouveau lecteur pour réinstaller Windows 7. Lecteur appelé SQSERVICE.

Je ne peux pas copier du tout - voir ci-dessous:

$ sudo dd if=/dev/sdc1 of=/dev/sda1
dd: reading `/dev/sdc1': Input/output error
11233976+0 records in
11233976+0 records out
5751795712 bytes (5.8 GB) copied, 187.731 s, 30.6 MB/s

Comment corriger cette "erreur d'entrée / sortie"?


1
@Gertvddijk merci de résoudre mon problème d'orthographe, je viens des Pays-Bas et j'apprends toujours bien l'anglais.
Erazer

Réponses:


15

Vous l'avez dit vous-même: votre disque est cassé. Vous pouvez essayer ddrescue, il pourra peut-être contourner le chemin interrompu. Attention cependant, vous perdrez des données.

La restauration à partir de la sauvegarde sera plus facile :)

L'utilisation correcte de ddrescueest la suivante:

sudo apt-get install gddrescue
sudo ddrescue /dev/sdc1 /dev/sda1

ou si vous souhaitez stdoutdiriger vers l'outil de suivi de progression:

sudo ddrescue /dev/sdc1 /dev/sda1 | pv

oui je l'ai dit mais la restauration à partir de la sauvegarde se fait sur ce lecteur .. et si ce lecteur n'a qu'un problème de secteur, comment puis-je utiliser cette commande? im just newbie linux user ..
Erazer

2
Votre sauvegarde est donc sur le même lecteur que le lecteur que vous préparez?! boggles
Dennis Kaarsemaker

1
bien même lecteur oui mais pas sur la même partition. eh bien je suis un peu stupide: '(sauvegarde ce n'est pas du tout
imporant

6

Je ne sais pas si cela est utile à quiconque, mais si j'ai trouvé cette page dans ma recherche, cela aidera peut-être quelqu'un (autre que le PO qui, espérons-le, a résolu son problème il y a des mois).

ddrescue peut être le meilleur choix dans ce cas, pour la récupération de données (différent de "corriger" l'erreur / le disque comme la question d'origine était formulée), comme l'a suggéré Dennis.

Alternativement, vous pouvez également monter le disque et copier les fichiers. C'est BEAUCOUP plus rapide s'il y a beaucoup d'espace vide, ou si vous ne voulez que certains fichiers particuliers. AVERTISSEMENT: effectué à partir d'une machine Linux, cela perd tous les attributs étendus, tels que les autorisations de fichier, c'est donc un très mauvais choix pour les fichiers OS, mais tolérable pour les fichiers utilisateur. Le faire à partir de Windows devrait les conserver, mais pourrait ne pas gérer les erreurs en douceur, ce qui pourrait le ralentir.

Une autre option pour réellement "réparer" les secteurs, pas seulement les contourner, est de réallouer les secteurs défectueux. Si vous connaissez le numéro de secteur (dans votre cas, 11233976 en supposant que la taille de votre bloc en dd et la taille du secteur sont 512), exécutez simplement ceci et exécutez à nouveau pour chaque nouveau secteur défectueux que vous trouvez:

hdparm –write-sector 11233976 –yes-i-know-what-i-am-doing /dev/sdb

AVERTISSEMENT: cela détruira les données sur ce secteur. Assurez-vous donc que vous savez vraiment ce que vous faites. Si ce secteur ne peut pas être lu, l'écraser arrêtera les erreurs, mais cela signifiera que le secteur contiendra des ordures, endommageant éventuellement un fichier important.

Voir ceci pour plus d'informations: http://www.sjvs.nl/forcing-a-hard-disk-to-reallocate-bad-sectors/

Et si votre disque a un grand nombre (des milliers peut-être) de secteurs défectueux (soit Current_Pending_Sector, Offline_Uncorrectable ou Reallocated_Sector_Ct), ou s'il est nouveau et toujours sous garantie, ou si le nombre augmente régulièrement au fil du temps, vous devez remplacer le disque de toute façon. Ne les laissez pas vous dire que la réallocation corrige le disque. Il corrige uniquement les secteurs défectueux connus et consomme les secteurs réservés à la réallocation. Si le disque est enclin à développer plus de secteurs défectueux, le problème ne fera que revenir, corrompant à chaque fois certaines données.


0

Bien que certaines parties du disque soient endommagées, vous pouvez toujours copier les bonnes parties du disque.

$ dd --help
...
 noerror   continue after read errors
...
sudo dd if=/dev/sdc1 of=/dev/sda1 conv=noerror
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.