Au cours de la tentative de récupération des données d'un disque dur défaillant , j'exécute la commande ddrescue
.
La commande est en cours d'exécution depuis 9 jours, et je pensais, d'après le son de l'activité du disque, qu'elle faisait peut-être quelque chose. La sortie de la ligne de commande a semblé plus ou moins statique tout ce temps:
$ sudo ddrescue -r3 /dev/sdb /home/dave/RECOVERY/usb500.image /home/dave/recovery_usb500.logfile
Press Ctrl-C to interrupt
Initial status (read from logfile)
rescued: 0 B, errsize: 0 B, errors: 0
Current status
rescued: 0 B, errsize: 500 GB, current rate: 0 B/s
ipos: 2539 MB, errors: 1, average rate: 0 B/s
opos: 2539 MB, time from last successful read: 9.7 d
Splitting failed blocks...
La seule partie qui a changé, c'est où il est dit ipos
et opos
. Il a fallu 9 jours pour se lever 500000 MB
, ce qui correspond à la taille du lecteur de disque défaillant. Quand il est arrivé, cependant, il est retombé 0
et a recommencé à monter. Au moment où j'écris ceci, c'est à peu près 2580 MB
et ça compte.
Le fichier image en cours de création a une longueur de 0 octet.
Le fichier journal a une taille d'environ 3 Mo et ressemble à ceci:
# Rescue Logfile. Created by GNU ddrescue version 1.14
# Command line: ddrescue -r3 /dev/sdb /home/dave/RECOVERY/usb500.image /home/dave/recovery_usb500.logfile
# current_pos current_status
0x975C3000 /
# pos size status
0x00000000 0x00862000 -
0x00862000 0x00014800 /
0x00876800 0x00800400 -
~~~~~~edited for brevity ~~~~~~~~
0x74702CCE00 0x00320000 -
0x74705ECE00 0x00025800 /
0x7470612600 0x005F3A00 -
Je commence à craindre que ce ne soit qu'une perte de temps et qu'aucune donnée ne soit récupérée du tout.
Y a-t-il une indication de cette sortie que quelque chose d'utile se passe?
Y a-t-il une raison de laisser la ddrescue
commande continuer telle quelle ou dois-je l'arrêter et faire autre chose?
Ceci est le contenu le plus récent de /var/log/syslog
Jun 10 07:29:17 homebase-i3 kernel: [568470.316436] sd 5:0:0:0: [sdb] Sense Key : Medium Error [current]
Jun 10 07:29:17 homebase-i3 kernel: [568470.316443] sd 5:0:0:0: [sdb] Add. Sense: Unrecovered read error
Jun 10 07:29:17 homebase-i3 kernel: [568470.316450] sd 5:0:0:0: [sdb] CDB: Read(10): 28 00 11 ff 02 98 00 00 08 00
Jun 10 07:29:17 homebase-i3 kernel: [568470.316465] end_request: critical target error, dev sdb, sector 301925016
Jun 10 07:29:17 homebase-i3 kernel: [568470.346640] sd 5:0:0:0: [sdb] Unhandled sense code
Jun 10 07:29:17 homebase-i3 kernel: [568470.346646] sd 5:0:0:0: [sdb] Result: hostbyte=invalid driverbyte=DRIVER_SENSE
Jun 10 07:29:17 homebase-i3 kernel: [568470.346651] sd 5:0:0:0: [sdb] Sense Key : Medium Error [current]
Jun 10 07:29:17 homebase-i3 kernel: [568470.346656] sd 5:0:0:0: [sdb] Add. Sense: Unrecovered read error
Jun 10 07:29:17 homebase-i3 kernel: [568470.346662] sd 5:0:0:0: [sdb] CDB: Read(10): 28 00 11 ff 02 98 00 00 08 00
la source
--force
option, elle n'est pas correcteVous devriez pouvoir arrêter
ddrescue
car il utilise le fichier journal pour pouvoir redémarrer son opération (près) à l'endroit où il est parti. Je vérifierais cependant si le fichier journal a été récemment mis à jour en regardant l'horodatage ou en faisanttail -f /home/dave/recovery_usb500.logfile
.Le fait que votre fichier image soit toujours aussi petit pourrait avoir à voir avec aucun bloc ayant été récupéré avec succès depuis le lecteur. Ce serait cependant un mauvais résultat après tout ce temps de course. En supposant qu'il n'y a que quelques blocs défectueux sur l'appareil, et qu'ils ne le sont pas au début, votre premier état d'entrées serait
+
. IIRCddrescue
commence la lecture jusqu'à ce qu'il trouve une erreur, puis commence à diviser le reste du disque. Votre disque semble échouer dès le début.À moins qu'il n'y ait (plusieurs)
+
entrées dans le journal et que la taille de votre fichier soit toujours,0
je ne pense pas que ceddrescue
soit faux. Pas+
de dire que rien de votre lecteur était récupérable. Cela pourrait signifier de l'électronique frite ou une mauvaise tête, car si seulement quelques secteurs étaient défectueux, vous auriez eu des résultats beaucoup plus rapidement.Quant à faire autre chose. Je suppose que vous avez déjà essayé de lire quelques blocs avec un dd normal. Avez-vous regardé le syslog sur cette base et googlé tous les messages que vous y avez trouvés?
La recherche de "Résultat: hostbyte = driverbyte non valide = DRIVER_SENSE" donne lieu à quelques lectures intéressantes (en partie allemandes) avec quelques suggestions supplémentaires:
Hormis le refroidissement d'un disque illisible (avec un spray de refroidissement), je n'en ai pas essayé moi-même.
la source
dd
, car je ne sais pas ce que c'est. Mon intuition est que la plupart du lecteur et des données sont intacts, mais il y a une erreur dans une zone critique du disque où l'indexation ou la liste des fichiers a lieu.ddrescue
qu'un dérivé dedd
cela ne s'arrête pas lorsqu'une erreur est rencontrée. Avez-vous vérifié les+
signes?+
signe. Il y a seulement-
et des\
signes.ddrescue
cela commence après tout ce temps. Si vous voulez, nous pouvons discuter (lien en haut de cette page) à ce sujet/var/log/syslog
la question.