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 30/04/2012, à 14:52

ycrevolin

Secteurs défectueux sur DD, comment récupérer les données ?

Bonjour,
Comme beaucoup j'ai un problème de disque dur qui est sur le point de mourrir : impossible à booter, ne veut plus être monté, de nombreux secteurs défectueux etc...
Quelle démarche entreprendre sachant que je ne cherche pas forcément à récupérer la totalité des données, à tout casser j'aurais vraiment besoin de récuper 50 mo de fichiers sur les 250 go que contient le disque.

Voici la structure des partitions :

Disk /dev/sdb: 30401 cylinders, 255 heads, 63 sectors/track
Units = sectors of 512 bytes, counting from 0

   Device Boot    Start       End   #sectors  Id  System
/dev/sdb1   *        63 482383754  482383692  83  Linux
/dev/sdb2     482383755 488392064    6008310   5  Extended
/dev/sdb3             0         -          0   0  Empty
/dev/sdb4             0         -          0   0  Empty
/dev/sdb5     482383818 488392064    6008247  82  Linux swap / Solaris

impossible d'executer la commande udisks, qui ne fonctionne pas sur mon live CD (system rescue)

Sur les bons conseils de rmy j'ai commencé à copier le contenu du disque sur un autre disque.

root@sysresccd /root % ddrescue /dev/sdb1 /dev/sda /livemnt/boot/recup.log -n -f
Press Ctrl-C to interrupt
Initial status (read from logfile)
rescued:         0 B,  errsize:       0 B,  errors:       0
Current status
rescued:   708857 kB,  errsize:    246 GB,  current rate:    2349 kB/s
   ipos:   708902 kB,   errors:       1,    average rate:   20253 kB/s
   opos:   708902 kB,     time from last successful read:       0 s
Finished                   
root@sysresccd /root % ddrescue /dev/sdb1 /dev/sda /livemnt/boot/recup.log -d -r3 -f

Press Ctrl-C to interrupt
Initial status (read from logfile)
rescued:   708857 kB,  errsize:    246 GB,  errors:       1
Current status
rescued:   708857 kB,  errsize:    246 GB,  current rate:        0 B/s
   ipos:     1140 MB,   errors:       1,    average rate:        0 B/s
   opos:     1140 MB,     time from last successful read:    28.7 m
^Clitting failed blocks...
Interrupted by user

Bref j'ai l'impression que j'arrive à récupérer les 700 premiers Mo, mais rien après. Chose surpenante, quand j'arrête la copie et relance un fdisk les partitions du hd amoché ont disparues, il faut que je redémarre la machine pour les voir réaparaitre.

Que me reste t il comme option avant d'acheter une pelle pour mon disque et une corde pour moi ?

merci d'avance

Dernière modification par ycrevolin (Le 01/05/2012, à 09:41)

Hors ligne

#2 Le 30/04/2012, à 16:31

usky

Re : Secteurs défectueux sur DD, comment récupérer les données ?

Peut être un truc qui m'a sauvé une fois.
Les composants électroniques étant sensible à la chaleur, mettre le disque dur au frais une heure (genre posé sur la sortie d'air d'une clim) et le remettre en marche. Dans mon cas ça m'a laissé le temps de sauvegarder les donnes.


Un PC Desktop Sous Ubuntu 12.04 Unity + acer1410 sous Unity Plus de windows depuis 2007 Le PC acer est sous Windows7... Ubuntu ne marche plus correctement depuis la 12.04...
http://parrains.linux.free.fr/

Hors ligne

#3 Le 01/05/2012, à 09:43

ycrevolin

Re : Secteurs défectueux sur DD, comment récupérer les données ?

mh, je n'ai pas de clim, et j'ai un peu des craintes quand à l'idée de balancer mon DD au congelo. En dernier recours...

Hors ligne

#4 Le 01/05/2012, à 19:25

rmy

Re : Secteurs défectueux sur DD, comment récupérer les données ?

Pas de congélo. Bien sûr.

Vu la faible quantité de données, il peut être possible de passer par testdisk, lister les fichiers avec "P", et copier uniquement ce que tu veux. Mais ton dsique a des symptômes de panne sévère et en l'occurence ce que tu décrit c'est qu'il "déconnecte" lorsqu'il y a une erreur.

Pour bien faire il faudrait poursuivre la duplication, éventuellement en zappant le début (-i 800MB), ou en compilant une versin récente de gddrescue et en utilisant -R pour le reverse (attention, -R n'a pas le même rôle dans les précédentes versions).

Si tu ne t'en sors pas, et avant de faire plus de dégâts sur ton dsique, tu peux aussi me l'adresser pour voir ce que je peux réussir.

Dernière modification par rmy (Le 01/05/2012, à 19:25)

Hors ligne

#5 Le 01/05/2012, à 19:47

ycrevolin

Re : Secteurs défectueux sur DD, comment récupérer les données ?

ok je vais tenter l'aventure, mais quelques questions :
- c'est quoi compiler une version récente... en utilisateur balot de ubuntu je connais principalement la logithèque, quelques lignes de commandes dont j'évite au maximum de me servir. Y a t il un article un peu simple pour neuneu sur le sujet ?
- Effectivement le disque semble se déconnecter à chaque erreur rencontrée. Y a t il un solution autre que le reboot (les live usb c'est sympa pas pas super rapide) pour "reconnecter" le bouzin.
- si je zappe le début faut il continuer une copie en sautant les erreur ( -i800MB -n ) ?
- qu'est ce que ça veut dire quand il m'affiche errsize 246 Gb (cf ci dessus), c''est une GROSSE erreur ou juste il en a croisé une petite et ducoup n'est pas allé plus loin pour lire les 246 GB restant ?
- J'ai tenté plusieurs manip à partir de ce que j'ai lu sur le forum. Il m'est arrivé après avoir tenté un -d -r3 par exemple et de relancer ddrescue avec l'option -i1Go que le compteur rescue repasse à 0. Se peut il que les données récupérées se fassent écraser ? Ou bien est ce le fichier log ?
- Est ce que plutôt que de s'ennuyer à copier des bouts de disque avec ddrescue, je ne peux pas directement utiliser testdisk sur le disque malade avec la fonction P et essayer d'aller à la pêche à la dizaine de fichier qui sont réellement important ? Ou bien vraiment est-ce vraiment mal ? En gros quelle est l'opération la plus risquée ?

merci pour le coup de main

Dernière modification par ycrevolin (Le 01/05/2012, à 20:05)

Hors ligne

#6 Le 02/05/2012, à 19:13

rmy

Re : Secteurs défectueux sur DD, comment récupérer les données ?

ycrevolin a écrit :

ok je vais tenter l'aventure, mais quelques questions :
- c'est quoi compiler une version récente... en utilisateur balot de ubuntu je connais principalement la logithèque, quelques lignes de commandes dont j'évite au maximum de me servir. Y a t il un article un peu simple pour neuneu sur le sujet ?
- Effectivement le disque semble se déconnecter à chaque erreur rencontrée. Y a t il un solution autre que le reboot (les live usb c'est sympa pas pas super rapide) pour "reconnecter" le bouzin.
- si je zappe le début faut il continuer une copie en sautant les erreur ( -i800MB -n ) ?
- qu'est ce que ça veut dire quand il m'affiche errsize 246 Gb (cf ci dessus), c''est une GROSSE erreur ou juste il en a croisé une petite et ducoup n'est pas allé plus loin pour lire les 246 GB restant ?
- J'ai tenté plusieurs manip à partir de ce que j'ai lu sur le forum. Il m'est arrivé après avoir tenté un -d -r3 par exemple et de relancer ddrescue avec l'option -i1Go que le compteur rescue repasse à 0. Se peut il que les données récupérées se fassent écraser ? Ou bien est ce le fichier log ?
- Est ce que plutôt que de s'ennuyer à copier des bouts de disque avec ddrescue, je ne peux pas directement utiliser testdisk sur le disque malade avec la fonction P et essayer d'aller à la pêche à la dizaine de fichier qui sont réellement important ? Ou bien vraiment est-ce vraiment mal ? En gros quelle est l'opération la plus risquée ?

merci pour le coup de main

Dans l'odre :
1/ Il faut récupérer le sources, installer un compilateur, décompresser l'archive, se placer dans le dossier, faire un './configure' puis 'make' et enfin 'sudo makeinstall'. C'est pas forcément évident, mais c'est pas grave, réponse plus loin.

2/ Si ton disque est en sata, un déplug/replug peut suffire (à surveiller avec un autre terminal dans lequel tu lances

watch 'dmesg | tail' 

. Si c'est de l'IDE, boîtier externe et plug/replug usb + extinction alim IDE.

3/ -n ce n'est plus possible, tu as une seule erreur de 246GB (explication ci-dessous), il faut que tu passes l'option -R (retrim avec ta version)

4/ Ton disque rencontre une erreur, se déconnecte. ddrescue ne peut plus accéder à ton dsique et considère donc une erreur unique de 246GB, qu'il faut donc reprendre.

5/ Le compteur rescue ne compte que ce qui est dans la zone traîtée, donc ici après 1Gio. Tu peux t'en assurer en relançant sans le -i, et tu verras le total.

6/ Oui, c'est ce que je t'indiquais précédemment, mais c'est vraiment fonction de la taille et de la fragmentation des fichiers cibles, et de l'état de ton disque.

Hors ligne

#7 Le 04/05/2012, à 18:23

ycrevolin

Re : Secteurs défectueux sur DD, comment récupérer les données ?

ok merci pour ces réponses très claires et précises. Je vais tenter le coup, on verra ce que ça donne, et je vous tiendrais au courant du résultat.

Hors ligne

#8 Le 04/05/2012, à 19:04

ycrevolin

Re : Secteurs défectueux sur DD, comment récupérer les données ?

Alors j'ai essayé un petit coup de testdisk pour récupérer les dossiers "sensibles". Au poil ça m'a récupéré les quelques MO de données vraiment sensibles... épatant.

Hors ligne

#9 Le 04/05/2012, à 21:34

ycrevolin

Re : Secteurs défectueux sur DD, comment récupérer les données ?

Coté copie avec DDrescue, ce n'est pas évident.
En résumé, après un premier passage avec la commande  :

ddrescue /dev/sdb1 /dev/sda /recup.log -n -f

Ca bloque au bout de 5Go le disque s'arrête.
Je dois débrancher et rebrancher la connection SATA pour qu'il soit de nouveau recconu

Ensuite un petit passage à l'envers cette fois ci

ddrescue /dev/sdb1 /dev/sda /recup.log -R -f

  Youpi je récupère une dizaine de GO cette fois ci et le disque déconnecte de nouveau.
Actuellement j'en suis à tenter

ddrescue /dev/sdb1 /dev/sda /recup.log -i XGo -f

en essayer -10 -i15 -i20. Je récupère comme ca quelques Go à chaque fois. Ca bloque de temps en temps donc je vais chercher un peu plus loin. Je sais pas encore si ça sert à grand chose d'avoir une copie qui ressemble à un gruyere, mais on verra !

Hors ligne

#10 Le 05/05/2012, à 11:36

rmy

Re : Secteurs défectueux sur DD, comment récupérer les données ?

Une fois que tu as la copie la plus saine possible, il faudra persévérer pour combler le gruyère. C'est aussi ça la récup de données. Parfois, il me faut 3 semaines au chevet d'un disque pour réduire la taille des trous au plus proche. Astuce : plutôt que d'utiliser l'alim de l'ordi, prends une alim externe, c'est plus facile d'appuyer sur un bouton on/off que de débrancher/rebrancher à chaque fois l'alim sata.

Hors ligne

#11 Le 05/05/2012, à 11:37

rmy

Re : Secteurs défectueux sur DD, comment récupérer les données ?

Attention par contre, ta commande ddrescue montre que tu as copié la partition sdb1 vers le disque sda, et non le disque sdb vers sda. Ce n'est pas dramatique, mais tu n'auras plus de MBR sur sda.

Hors ligne

#12 Le 05/05/2012, à 11:52

pires57

Re : Secteurs défectueux sur DD, comment récupérer les données ?

@manush, pour tout nouveau problème, un nouveau sujet.


Utilisateur d'Archlinux, Ubuntu et Kali Linux
Administrateur système et réseau spécialisé Linux.
LinkedIn

Hors ligne

#13 Le 05/05/2012, à 11:52

rmy

Re : Secteurs défectueux sur DD, comment récupérer les données ?

Pour t'aider il faudrait ouvrir un sujet propre à ton cas et nous donner le lien. Ici, tu "squatte" le sujet ouvert par un autre... c'est très mal tongue

Il est bien possible que ce soit une panne matérielle, mais quoi qu'il en soit avant de l'envoyer chez WD (autant dire à la poubelle pour les données), tu peux aussi me contacter en privé (je te laisse jeter un œil sur mon site, Cf. ma signature).

Hors ligne

#14 Le 05/05/2012, à 12:18

Manush

Re : Secteurs défectueux sur DD, comment récupérer les données ?

toutes mes excuses je pensais faire le lien avec le sujet plus haut compte tenu des solutions évoquées.

J'ouvre un sujet et visite ton site rmy.

merci et bonne journée


Config : 15.04 sur Samsung samsung np530uE3B avec HDD 500 go et Puce ATA San DiskISSD P4 de 16 go / Lubuntu sur Macbook

Hors ligne

#15 Le 05/05/2012, à 13:51

rmy

Re : Secteurs défectueux sur DD, comment récupérer les données ?

N'oublie pas de donner le lien du nouveau sujet...

Hors ligne

#16 Le 05/05/2012, à 14:16

Manush

Re : Secteurs défectueux sur DD, comment récupérer les données ?


Config : 15.04 sur Samsung samsung np530uE3B avec HDD 500 go et Puce ATA San DiskISSD P4 de 16 go / Lubuntu sur Macbook

Hors ligne

#17 Le 14/05/2012, à 19:18

ycrevolin

Re : Secteurs défectueux sur DD, comment récupérer les données ?

Merci pour les conseils. En effet ça prend du temps ces bricoles. Pour l'instant j'ai réussi à réduire le volume d'erreur à 20 Go pour un disque de 250 Go c'est pas mal. Ducoup j'ai essayé pour voir un coup de testdisk sur le disque de sauvegarde, j'ai réussi à récupérer pas mal de petits fichiers en copiant les répertoires un par un depuis testdisk. Fastidieux et pas toujours avec succes vu le volume d'erreur. J'en suis donc à essayer de recopier d'autres petits bouts pour compléter.

N'y a t il pas moyen de voir le "gruyere" dans son ensemble de manière à mieux cerner où sont les trous ?
Je dirais même plus... comment vais-je savoir si le fichier que j'ai copié est réellement complet ? Par exemple j'ai un document vidéo, qu'est ce qu'il me fait dire qu'il ne va pas manquer quelques MO du fichier rendant la vidéo illisible dans un lecteur ?

Dernière modification par ycrevolin (Le 14/05/2012, à 20:04)

Hors ligne

#18 Le 15/05/2012, à 12:54

rmy

Re : Secteurs défectueux sur DD, comment récupérer les données ?

Pour le gruyère : cat le fichier de log, repère les zones les plus importantes non traitées, et transforme l'hexadecimal en décimal avec la calculette. Bon courage tongue
Pour savoir si un fichier est impacté ou pas : Tu peux utiliser l'option "Fill" de ddrescue pour remplir les zones défectueuses avec un motif genre "ERRORERROR" et du coup, après l'extraction, tu peux faire un petit script pour vérifier pour chaque fichier (à limiter aux fichiers importants, sinon il y en a pour des heures) si tu retrouves ce motif dans leur code hexa (un truc à base de dd if=lefichier | hd | grep "ERRORERROR")

En théorie ça devrait marcher, mais n'hésites pas à donner des retours là dessus, je n'ai pas encore eu le temps de m'y pencher et ça m'intéresse.

Hors ligne