Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 03/11/2011, à 23:08

ote

Récupération de données sur dd externe qui ne veut pas monter

Bonjour,

Le disque dur externe d'un copain a un souci : il est tombé de son support où il est normalement à la vertical, sur la table où il était posé (donc une chute de qq centimètres). Depuis il affiche des erreurs lorsqu'on le branche. Il tourne bien, ne fait aucun bruit suspect, mais refuse d'être monter et explorer. Je l'ai donc pris pour essayer de récupérer ce qu'il y a dessus.

Ce disque fait 500 Go en HFS+ (oui il était sur mac avant : depuis je l'ai fait passer sur ubuntu smile ).Suite aux lectures des posts dans le même genre et aux sujets de rmy, j'ai commencé par lancer une copie de la partition qui contient les données :

sudo ddrescue -v -n /dev/sdc10 /media/recup/img_dd_fred.dd /media/recup/info_recup_dd_fred.log

About to copy 499972 MBytes from /dev/sdc10 to /media/recup/img_dd_fred.dd
    Starting positions: infile = 0 B,  outfile = 0 B
    Copy block size: 128 hard blocks
Hard block size: 512  bytes
Max_retries: 0    
Direct: no    Sparse: no    Split: no    Truncate: no

Press Ctrl-C to interrupt
Initial status (read from logfile)
rescued:   123492 MB,  errsize:   4625 kB,  errors:       6
Current status
rescued:   499965 MB,  errsize:   7396 kB,  current rate:     8362 B/s
   ipos:    66690 kB,   errors:     993,    average rate:   10967 kB/s
   opos:    66690 kB,     time from last successful read:       0 s
Finished  

En ce moment je suis en train de repasser une 2e couche :

sudo ddrescue -v -T -r 1 -d  /dev/sdc10 /media/recup/img_dd_fred.dd /media/recup/info_recup_dd_fred.log

Pour info (j'avoue la première n'est pas très utile)

sudo sfdisk -luS
Disque /dev/sdc : 60801 cylindres, 255 têtes, 63 secteurs/piste

sfdisk: ERREUR: le secteur 0 n'a pas une signature MS-DOS
 /dev/sdc : type non reconnu de table de partition
Aucune partition repérée
dmesg|tail
[50998.110940] sd 6:0:0:0: [sdc] Sense Key : Medium Error [current] 
[50998.110945] sd 6:0:0:0: [sdc] Add. Sense: Unrecovered read error
[50998.110951] sd 6:0:0:0: [sdc] CDB: Read(10): 28 00 36 73 e2 fd 00 00 01 00
[50998.110962] end_request: I/O error, dev sdc, sector 913564413
[51000.991183] sd 6:0:0:0: [sdc] Unhandled sense code
[51000.991187] sd 6:0:0:0: [sdc] Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
[51000.991192] sd 6:0:0:0: [sdc] Sense Key : Medium Error [current] 
[51000.991197] sd 6:0:0:0: [sdc] Add. Sense: Unrecovered read error
[51000.991202] sd 6:0:0:0: [sdc] CDB: Read(10): 28 00 36 73 de 2d 00 00 01 00
[51000.991214] end_request: I/O error, dev sdc, sector 913563181

Je voulais savoir si ce que j'avais fait jusqu'à maintenant était correct et avoir un conseil sur la suite des événements car je suis perdue : testdisk, fsck.hfsplus, photorec, .... ??? Merci

Dernière modification par ote (Le 03/11/2011, à 23:10)

Hors ligne

#2 Le 04/11/2011, à 01:54

rmy

Re : Récupération de données sur dd externe qui ne veut pas monter

tout est correct jusqu'ici.
Tu peux passer une troisième fois avec ddrescue en lui passant
-r2 -c16 pour diminuer la taille des blocs et donc réduire les erreurs. ça risque d'être long.
Eventuellement tu peux essayer aussi avec -R, parfois ça donne des résultats surprenants.

Ensuite, ne tente rien qui puisse écrire, il faut d'abord dupliquer ton image puisque le disque est HS et que tu ne sais pas si tu pourras recommencer l'image.

Après ça, tu peux tenter un mount en read-only, tu verras bien les messages d'erreur.
On verra après pour la suite.

Hors ligne

#3 Le 04/11/2011, à 14:23

ote

Re : Récupération de données sur dd externe qui ne veut pas monter

Merci de m'aider.

J'avais déjà tenté l'option en splittant les blocs, mais je l'avais arrêté car c'était effectivement super long et j'avais pas l'impression que ça récupérait de nouveaux trucs, mais je la relancerai ce soir. L'option -R est à lancer toute seule comme option ou à ajouter à -r2 -c16 ?

Je ne pourrais pas dupliquer l'image car elle fait quasi 500 Go et je n'ai pas suffisamment de place sur mes disques.

Sinon comment je fais un mount en read only de mon fichier xxx.dd ?

Hors ligne

#4 Le 04/11/2011, à 14:34

rmy

Re : Récupération de données sur dd externe qui ne veut pas monter

L'option -R est à passer seule. Si tu ne peux pas dupliquer l'image, privilégie d'abord toute récupération "saine" sans modification de l'image.

Pour le mount, comme tu as fait une image directement de la partition, donc du FS, il devrait suffir de faire :

mkdir test && sudo mount /media/recup/img_dd_fred.dd test/ -o ro

en espérant que ce soit pas trop moche.

Hors ligne

#5 Le 04/11/2011, à 14:40

ote

Re : Récupération de données sur dd externe qui ne veut pas monter

J'ai fait une image que de la partition données du disque. Il y a aussi des petites partitions (sdc1 à 9) avec le File System et des drivers, mais je ne les ai pas incluses dans l'image que j'ai faite.

Du coup le mount comme tu me l'indiques ne va pas marcher, non ?

Hors ligne

#6 Le 05/11/2011, à 05:38

ote

Re : Récupération de données sur dd externe qui ne veut pas monter

J'ai repassé un coup de ddrescue comme tu me l'as indiqué, mais aucune amélioration sad

sudo ddrescue -v -c 16 -r 2 /dev/sdc10 /media/recup/img_dd_fred.dd /media/recup/info_recup_dd_fred.log
About to copy 499972 MBytes from /dev/sdc10 to /media/recup/img_dd_fred.dd
    Starting positions: infile = 0 B,  outfile = 0 B
    Copy block size: 16 hard blocks
Hard block size: 512  bytes
Max_retries: 2   
Direct: no    Sparse: no    Split: yes    Truncate: no

Press Ctrl-C to interrupt
Initial status (read from logfile)
rescued:   499967 MB,  errsize:   5395 kB,  errors:    2386
Current status
rescued:   499967 MB,  errsize:   5395 kB,  current rate:        0 B/s
   ipos:   467794 MB,   errors:    2386,    average rate:        0 B/s
   opos:   467794 MB,     time from last successful read:     1.1 h
Finished        
sudo ddrescue -v -R /dev/sdc10 /media/recup/img_dd_fred.dd /media/recup/info_recup_dd_fred.log
About to copy 499972 MBytes from /dev/sdc10 to /media/recup/img_dd_fred.dd
    Starting positions: infile = 0 B,  outfile = 0 B
    Copy block size: 128 hard blocks
Hard block size: 512  bytes
Max_retries: 0   
Direct: no    Sparse: no    Split: yes    Truncate: no

Press Ctrl-C to interrupt
Initial status (read from logfile)
rescued:   499967 MB,  errsize:   5395 kB,  errors:    2386
Current status
rescued:   499967 MB,  errsize:   5395 kB,  current rate:        0 B/s
   ipos:    59250 MB,   errors:    2386,    average rate:        0 B/s
   opos:    59250 MB,     time from last successful read:     5.2 m
Finished                  

J'ai tenté de monter en read only comme tu me le suggérais, mais comme je le soupçonnais, ça ne marche pas :

mkdir test && sudo mount /media/recup/img_dd_fred.dd test/ -o ro
[sudo] password for ote: 
mount: /media/recup/img_dd_fred.dd n'est pas un périphérique de type bloc (essayer « -o loop » ?)

Avec l'option suggérée :

sudo mount /media/recup/img_dd_fred.dd test/ -o ro -o loop
mount : type erroné de syst .de fichiers, option erronée, super bloc
        erroné sur /dev/loop0, codepage ou aide manquante ou autre erreur
       Dans quelques cas certaines informations sont utiles dans syslog - essayez
       dmesg | tail  ou quelque chose du genre

Dans le syslog :

ote-desktop kernel: [26556.801913] hfs: Filesystem was not cleanly unmounted, running fsck.hfsplus is recommended.  mounting read-only.
ote-desktop kernel: [26556.818464] hfs: failed to load catalog file

Qu'est-ce que je peux faire du coup ?

Dernière modification par ote (Le 05/11/2011, à 05:54)

Hors ligne

#7 Le 05/11/2011, à 11:46

rmy

Re : Récupération de données sur dd externe qui ne veut pas monter

La démarche est bonne. J'avais oublié le -o loop que tu as corrigé.
Le FS est endommagé comme tu as pu le voir. Un fsck est de nature à corrompre ton image (ou bien à réparer le FS, mais qui peut en être sûr avant…) mais je persiste dans l'option "de sécurité" qui serait de recopier ton image sur un autre support avant de tenter de réparer.

Si enfin ton fsck ne donne rien, il faudra envisager de passer par des outils propriétaires (bah oui, c'est du HFS quand même…), mais là… je te donnerai les indication hors forum…

Hors ligne

#8 Le 05/11/2011, à 16:40

ote

Re : Récupération de données sur dd externe qui ne veut pas monter

Merci pour tes conseils.

Le problème c'est que le volume est super gros. Déjà pour pouvoir faire la copie du disque, j'ai profité de l'achat d'un disque d'un To. Mais vu la taille de la copie, pas moyen de doubler cette image sur le nouveau disque. En plus les données sont maintenant sur un disque interne en ext4 donc pas évident de trouver qq'un qui pourrait me rendre service non plus...

Donc je vais voir avec le proprio du disque, lui expliquer les enjeux et lui laisser le choix (acheter un nouveau disque ou pas). Pour ma part je serai plus pour partir sans copie car le disque endommagé ne s'est pas trop plaint pendant ces deux/trois jours de recopie intense et je pense pouvoir faire refaire au moins un premier passage avec ddrescue si l'image est endommagée en essayant de la réparer. Mais je peux bien sûr me planter.

Pour toi le mieux avant de continuer c'est de trouver un moyen de faire une copie impérativement, c'est ça ?

Sinon pour la suite c'est mieux d'utiliser fsck plutôt que testDisk pour réparer le FS ? Si je peux pas faire de recopie, ne vaudrait-il mieux pas voir avec photoRec qui fait du read-only d'après ce que j'ai pu lire pour tenter de récupérer des trucs d'abord ? Il gère le HFS+ toujours d'après ce que j'ai lu.

Dernière modification par ote (Le 05/11/2011, à 16:47)

Hors ligne

#9 Le 05/11/2011, à 21:43

ote

Re : Récupération de données sur dd externe qui ne veut pas monter

Je me rends compte que je confonds à chaque fois FS et table de partition... Pourtant j'ai fais quelques lectures cette aprem pour y remédier.

Quelqu'un m'a fait pensé à essayer de compresser la copie du disque pour qu'elle tienne sur le 400 Go qui me reste. C'est en cours, mais qu'est ce que c'est long de compresser 500Go...

Si ça marche je tente ensuite un fsck. Sinon je verrai ce que me sors photoRec bien que le fait qu'il récupère pas les noms des fichiers m'embête bien vu la nature des données à récupérer (musique principalement).

Hors ligne

#10 Le 05/11/2011, à 21:53

rmy

Re : Récupération de données sur dd externe qui ne veut pas monter

Photorec va te sortir la musique, mais il y aura énormément de postraitement (virer les doublons, lmes faux positifs, renommer en fonction des données pertinentes que tu pourras chopper comme les tags…) et pour répondre à ta question, oui, je conseille toujours une duplication dès lors que c'est une image sur un disque endommagé.

Compresser 500Go peut te prendre 10 à 20 heures sans problème…
Te restera-t-il la place pour tenter photorec ?

Enfin, dans l'idée, pour simplifier : Disque=> table de partition => partitions => FS

La partition c'est l'enveloppe et le FS la lettre. Ça prend la même place, mais la partition contient le FS alors que ce dernier organise les données.

Hors ligne

#11 Le 05/11/2011, à 22:09

ote

Re : Récupération de données sur dd externe qui ne veut pas monter

10 à 20 heure o_O Bon on verra. Je pense avoir encore de la place une fois la compression faite car en fait sur ce gros volume, d'après le propriétaire, il n'y a pas beaucoup de données (50 à 100 Go). Donc tout dépendra de la taille que fera l'image compressée.

De toute façon mon idée c'est que soit j'arrive à compressée l'image, donc faire une sauvegarde et dans ce cas je tente de réparer le FS avec fsck. Soit la compression est encore trop grosse, donc pas de sauvegarde de l'image et dans ce cas je lancerai photoRec pour récupérer certains fichiers importants.

Merci pour l'explication, c'est ce que j'avais retenu de mes lectures. Je disais ça car je mentionnais testDisk alors que ce n'est pas utile dans mon cas puisque je vois bien les partitions.

Hors ligne

#12 Le 06/11/2011, à 00:18

rmy

Re : Récupération de données sur dd externe qui ne veut pas monter

effectivement, testdisk est inutile ici. Il fait un peu plus que retrouver et reconstruire les tables de partitions, mais pas avec le hfs.

Hors ligne

#13 Le 06/11/2011, à 04:05

ote

Re : Récupération de données sur dd externe qui ne veut pas monter

L'image du disque a été réduite à 56 Go en la compressant ! Donc copie de la copie possible tongue

J'ai tenté un fsck mais ça donne pas de résultat, en tout cas pas avec les options que je lui ai passé :

sudo fsck.hfsplus -f /media/recup/img_dd_fred.dd 
** /media/recup/img_dd_fred.dd
** Checking HFS Plus volume.
   Invalid B-tree node size
(4, 0)
** Volume check failed.

Hors ligne

#14 Le 06/11/2011, à 12:13

rmy

Re : Récupération de données sur dd externe qui ne veut pas monter

d'après ce que j'ai vu sur des forums mac, tu peux essayer avec -r (je suppose que c'est pour repair) si hpfsck se comporte avec les mêmes options que sous mac. Il y a de faibles chances que ça fonctionne mieux, mais c'est malheureusement peu probable.

Ensuite, il te reste les options photorec… ou diskwarrior depuis un mac, ou m'envoyer le disque si tu veux pas avoir à payer une licence diskwarrior et que je vois si j'arrive à mieux avec mes outils ici…

Hors ligne

#15 Le 06/11/2011, à 13:22

ote

Re : Récupération de données sur dd externe qui ne veut pas monter

L'option -r ne donne rien (même réponse qu'avec -f). Je vais voir ce que photorec me sort pour commencer. Sinon pour tester diskwarrior, faudrait que le proprio du disque me ramène son mac. Je vais voir avec lui pour ça et la licence. Je viens de regarder vite fait sur des forums macs, y a quelques personnes qui ont eu des résultats avec ce soft pour type d'erreur. C'est encourageant.

Avant d'éventuellement te l'envoyer, je vais dans un premier temps tenter tout ce que je peux avec mes moyens, mais merci pour la proposition et tes conseils.

Hors ligne

#16 Le 06/11/2011, à 14:15

rmy

Re : Récupération de données sur dd externe qui ne veut pas monter

diskwarrior coute quelque chose comme 100$ il me semble… Entre le prix libre chez moi et les 30% de réduc (oui une réduc sur prix libre, c'est original) que j'offre à toute personne du forum ubuntu, tu peux voir avec le proprio ce qu'il préfère. Je reste à dispo.

Hors ligne

#17 Le 06/11/2011, à 17:19

ote

Re : Récupération de données sur dd externe qui ne veut pas monter

PhotoRec est vraiment impressionnant ! Il m'a récupéré presque 15 000 fichiers à partir de l'image du disque. Après suppression des doublons (avec fslint), il me reste un peu plus de la moitié. Je les ai ensuite triés par extensions avec un script python trouvé sur le site de photoRec. Pour finir, la cerise sur le gâteau : je suis en train de me servir de EasyTag pour renommer la flopée de mp3 qui constitue la majorité des fichiers trouvés.

Le propriétaire du disque viendra voir le résultat mardi (il habite à 300kms) et suivant ce qu'il retrouvera (ou pas) on verra si on continue ou pas.

Déjà un grand merci à toi Rémy pour ton suivi et tes conseils et peut-être à bientôt pour la suite.

Hors ligne

#18 Le 07/11/2011, à 01:22

rmy

Re : Récupération de données sur dd externe qui ne veut pas monter

big_smile


Tu peux aussi utiliser pyrenamer pour les fichiers audio.
Si tu as des images, il y a aussi pas mal de truc sur la base des exifs (jhead, hachoir-metadata, etc…)

Hors ligne