Récupération données / disque dur illisible HOWTO avec outils libres - Hardware - Linux et OS Alternatifs
Marsh Posté le 19-07-2006 à 00:57:39
Mon point de vue sur la sécurité de stockage, c'est les sauvegardes, images disques et autres rsync (c'est long et c'est cher mais c'est sur) !
Marsh Posté le 19-07-2006 à 11:59:55
Tu a entièrement raison, cependant malheureusement tu ne peux pas toujours tout sauvegarder de manière clean et les particuliers n'ont pas forcément le RAID 1/5 à la maison, le script de sauvegarde et les backups automatiques. Pareil sur les postes avec des données "locales" dans les entreprises. De plus ce tuto s'adresse aussi aux gens qui ont poussé un petit "oops" après avoir niqué leur table de partitions ou effectué un resize sauvage.
a+
Deuxième partie : compte rendu de récupération très difficile
Voici ma dernière expérience, très enrichissante du point de vue des connaissances mais très stressantes.
Préliminaire 1 : spinrite
Qu'est ce que c'est ?
Spinrite permet de réparer la surface d'un disque dur si l'état de celle-ci n'est pas trop mauvais. Ce logiciel semble très efficace pour réparer les i/o error et donc récupérer les mauvais secteurs. C'est un logiciel payant, qui tourne sous FreeDOS. Il est utilisé par la NASA dans la station spatiale, gage de qualité. De plus, il n'est pas très cher. Je ne suis pas sur d'avoir testé efficacement ce logiciel lors de la récupération pour laquelle le disque présentait des problèmes matériels. Cependant, lors de la récupération réussie, TOUTES les données ont pu être transférées, sans aucune erreur, et je pense que c'est grâce à ce logiciel. Cependant, en cas de mauvais état matériel du disque, cette récupération peut détruire le disque définitivement, ce dont le logiciel vous informe. Fin de la pause pub.
Préliminaire 2 : tactique d'approche
La démarche à suivre est simple. Les manoeuvres ne peuvent être tentées que dès lors le disque détecté par le BIOS. SI le disque bloque à la phase initiale de reconnaissance du BIOS, attendez un certain temps, après un certain nombre de claquages le disque peut se mettre à démarrer. Sinon, employer des méthodes barbares, EN DERNIER RECOURS, tapez légerement le disque sur ses faces, ou mettez le disque à l'envers ou posé sur un coté. Martelez la touche reset du PC pour provoquer la phase de reconnaissance du BIOS. Il faut ETEINDRE le PC pour provoquer le redémarrage mécanique du disque. Donc eteignez, allumez...
Préliminaire 3 : sur mon bus IDE, ou sur une interface externe USB ?
En cas de disque défaillant, il est très pénible de devoir redémarrer le PC en hard reboot car cela fatigue les composants. Pas besoin si vous utilisez une interface USB/IDE ou IEEE1394/IDE (disques externes). Cependant, la qualité de ces interfaces laisse souvent à désirer, les commandes hdparm ne passent pas par cette interface et on perd donc beaucoup en capacité d'action sur la mécanique du disque. Donc à moins que vous connaissiez une interface de ce type performante et implémentant la totalité du protocole PIO/ATA, préférez une connexion en direct sur le bus IDE de la CM.
LET'S GO
Situation initiale : un disque dur qui fait un bruit de claquement au démarrage, reconnu 1 fois sur 10. Le moteur s'arrète parfois après une série de claquements. Les utilisateurs un peu neuneu ont laissé claquer le disque pendant 2 jours ordinateur allumé. Le disque essaie de booter nux mais bloque sur des erreurs
I/O error on sector XXX |
Diagnostic initial : disque mort.
Première tentative ratée
Utilisation de gddrescue, une variante de dd_rescue qui se veut plus "intelligente" pour récupérer les données. Utilisation de dd_rescue de kurt. Utilisation de spinrite pour essayer de récupérer les secteurs défectueux.
Tout cela a été un échec. En effet, lors de la récupération des données, le disque s'arrète. Ensuite, le kernel refuse de donner l'accès au périphérique, le débit de ddrescue s'emballe mais en fait il ne récupère plus rien ! Même après le passage de spinrite, rien ou presque n'a changé. Le diagnostic SMART du disque est désastreux.
sda : rejecting i/o to dead device |
Deuxième tentative : succès
Afin d'expliquer cette tentative réussie, on doit comprendre quelques concepts préliminaires. Tout d'abord comment le kernel accède aux périphériques disques.
Accès en mode "DMA" soit Direct Memory Access (modes DMA et UDMA1/2/3/4/5/6)
Périphérique physique en lecture -> Kernel : allocation mémoire, tampon de transfert -> périphérique en écriture
Dans ce mode, le kernel fait écran entre les périphériques. Le problème, c'est que lorsque le périphérique n'arrive pas à lire un secteur, le disque s'arrète et le kernel ne renvoie pas de commande de redémarrage au disque.
Accès le plus basique : PIO (Programmed Input Output)
Périphérique physique en lecture -> Proce -> périphérique en écriture
Cette méthode beaucoup plus simple est différente et surtout plus lente et consommatrice de proce. Mais elle permet un meilleur contrôle sur le transfert et permet des récupérations car on a un accès plus direct au disque. En effet, lorsque le transfert en mode PIO échoue, l'ordinateur renvoie une commande reset sur le périphérique, visible dans dmesg (ca donne quelque chose du genre)
device /dev/hda not ready for transfer |
Ce qui peut permettre au disque de redémarrer pour reprendre le transfert.
Détail des commandes de diagnostic et de paramétrage du disque cassé :
1) Boot de knoppix
knoppix lang=fr nofstab |
On demande à knoppix d'éviter la phase de construction du fstab, qui sollicite notre périphérique en mauvais état en lecture.
2) Etat SMART du disque
smartctl --all /dev/hda |
Si vous voyez un "FAILING_NOW" quelque part, ou que le disque ne passe pas le test de
smartctl -H /dev/hda |
Vous êtes bien dans un cas ou le disque est affecté.
3) Modification du comportement du disque
Ici on utilise des commandes marquées "Dangerous" dans la doc d'hdparm. Vous êtes prévenus.
Pour redémarrer le disque :
hdparm --verbose -w /dev/hda |
Le disque recommence à tourner.
-w Perform a device reset (DANGEROUS). Do NOT use this option. It exists for unlikely situations where a reboot might otherwise be required to get a confused drive back into a useable state. |
Désactiver des fonctions annexes qui peuvent provoquer des problèmes lors de la récupération (vieux disques mais toujours essayer):
hdparm --verbose -D 0 /dev/hda |
-D Enable/disable the on-drive defect management feature, whereby the drive firmware tries to automatically manage defective sectors by relocating them to "spare" sectors reserved by the factory for such. Control of this feature via the -D flag is not supported for most modern drives since ATA-4; thus this command may fail. |
Changer le mode de transfert :
hdparm --verbose -X 11 /dev/hda |
-X Set the IDE transfer mode for newer (E)IDE/ATA drives. This is typically used in combination with -d1 when enabling DMA to/from a drive on a supported interface chipset, where -X mdma2 is used to select multiword DMA mode2 transfers and -X sdma1 is used to select simple mode 1 DMA transfers. With systems which support UltraDMA burst timings, -X udma2 is used to select UltraDMA mode2 transfers (youll need to prepare the chipset for UltraDMA beforehand). Apart from that, use of this flag is seldom necessary since most/all modern IDE drives default to their fastest PIO transfer mode at power-on. |
Passe le disque en mode PIO5 (~5mo/s). Cette étape est la plus importante. En effet, le disque ne lit plus à fond mais fait une lecture séquentielle à vitesse de transfert constante. En passant en mode PIO1(~0,5-1mo/s), on a la vitesse la plus lente mais aussi les meilleures chances de récupération possibles.
hdparm --verbose -X /dev/hda |
Note: avec hdparm on peut modifier d'autres paramètres tels que le maxRetry qui permet de donner le nombre d'essais pour lire un secteur. L'abaisser diminue les chances de récup mais c'est parfois nécessaire si le disque est trop pourri. L'augmenter augmente la probabilité de récupération mais aussi la probabilité de faillite matérielle en cours de récupération. Faut jauger quoi
4) récupération effective
Pour cela on se sert de dd_rescue de kurt garloff. Pourquoi ? Parce que gddrescue, prétendument plus efficace, n'a pas autant d'options avancées et n'est pas aussi performant. En effet, dd_rescue permet si le kernel a le support des périphériques "raw" (ce qui est le cas de knoppix), un accès au flag O_DIRECT qui permet d'accéder aux disques en mode brut, donc encore améliorer nos chances de succès.
dd_rescue -l log_ddrescue -D -b 4096 -B 4096 /dev/hda /dev/hdb |
J'ai testé avec les valeurs -b 512 -B 4096 sans le flag -D et ca a merdé. A vous de tester.
-D active le mode brut (raw). Avec ce mode le secteur minimal est de 4096 octets. Sinon -b 512 est l'option par défaut.
On peut aussi tenter avec le flag -r, pour lire le disque à partir de la fin, le flag -f pour passer en force (mes options préférées ).
ATTENTION pour avoir une table de partitions correcte activer l'option -A si vous copiez un disque entier
Et MERDE, ca marche pas, ca bloque, ca buggue, ca saoule
Si ca ne marche pas, recommencez la procédure à partir de spinrite. Laissez le disque chauffer sans claquer pendant une journée avant de faire la récup. Ou alors mettez-le au congel. Bref tentez n'importe quoi, car la c'est la dernière chance sans les messieurs en blanc
Troisième partie : pourquoi mon disque se met-il a bugguer et comment l'éviter ?
1) Fonctionnement d'un disque dur
Une bonne base : http://fr.wikipedia.org/wiki/Disque_dur
On y apprend qu'un disque est formé de plateau sur lequels sont imprimés des secteur magnétiques qui sont lus par des têtes de lecture (2 par plateau : une en dessous et une au dessus. La tête de lecture se déplace sur un coussin d'air crée par la rotation à haute vitesse du plateau du disque dur, entrainé par un moteur.
On a 3 éléments :
- la mécanique de déplacement des têtes de lecture
- le mécanisme d'entrainement du plateau
- le mécanisme des têtes de lecture
Causes des pannes
La plus courante : i/o error sporadique : bad sector
Le contrôle de redondance n'a pas fonctionné sur les secteurs concernés (voir article wikipedia pour la somme de contrôle)
Un des secteurs est démagnétisé ou la lecture du champ n'est plus possible : usure de la surface, présence d'une poussière...
Conséquence : mode de lecture normale : le disque répète la commande X fois avant de lacher l'affaire. Le système de fichier est bloqué.
Solution : récupérer les données en sautant les mauvais secteurs sans essayer de répéter indéfiniment la commande de lecture.
Récupération du disque dur possible par un formatage de bas niveau. cependant, ceci "use" la surface et il est déconseillé de faire cette opération plus de quelques fois.
Défaillance d'une tête de lecture
Symptome : claquement/bruit bizarres (une tête racle la surface)
Solution : si le disque est encore fonctionnel, il est possible de récupérer les données en montant sélectivement les plateaux. Pour cela il faut avoir une bonne idée de la géométrie du disque dur : nombre de plateaux, secteur de départ des différents plateaux.
Le disque est mort.
Pour récupérer la donnée sur le dernier plateau la seule solution est de remonter une mécanique.
Défaillance du moteur de démarrage des plateaux
Symptome : le disque dur ne se "lance" pas au démarrage (on n'entend pas les plateaux arriver à leur vitesse de croisière).
Solution : changement de moteur !
Défaillance de la mécanique de déplacement des têtes
Symptome : bruits bizarres
Solution : changement de mécanique.
Remontage sur mécanique pour récupérer les données.
Troisième partie : Récupération de données volontairement effacées sur un support ext2/ext3
Sur un support ext2, les inodes ne sont pas effacés lors de la supression de fichiers. Par contre, c'est le cas pour ext3, pour des raisons de rapidité d'accès et éviter la fragmentation des accès au disque dur. Donc la récupération de données volontairement effacées sur un support ext3 est impossible avec la méthode constituant à récupérer les inodes et la seule solution simple est d'utiliser un outil comme photorec qui ne se base pas sur les inodes pour la récupération des fichiers.
La méthode est toujours la même, afin de ne pas toucher au support original on fait un miroir avec dd rescue sur un disque sain et ensuite on travaille dessus.
Pour les partitions ext2
http://e2undel.sourceforge.net/how.html
Explications du pourquoi de la difficulté de récupération sur un support ext3
http://en.wikipedia.org/wiki/Ext3#Undeletion
http://www.redhat.com/archives/ext [...] 00000.html
http://linuxmafia.com/faq/Filesyst [...] etion.html
http://batleth.sapienti-sat.org/pr [...] 3-faq.html
Pistes potentielles pour le ext3 (non testé)
http://www.uwsg.indiana.edu/hyperm [...] /1642.html
http://linuxfr.org/forums/10/10786.html
Marsh Posté le 19-07-2006 à 12:02:16
sujet interessant : ça m'est arrivé quelquefois aussi a mes debuts,
c'est la que j'ai investi dans plusieurs hdd/pc afin de redonder mes datas
Marsh Posté le 19-07-2006 à 16:12:48
Mais je mais pas en cause ce topic, bien au contraire, c'est important.
Je voulais juste rajouter qu'il faut mieux prévenir que guérir !
Marsh Posté le 10-08-2006 à 13:24:42
Pour plaisanter sur un sujet grave. Avec la canicule, les PC, aussi veulent leur "MISTER FREEZE", parfum "Disque Dur Exotique". Trève de plaisanterie, il doit se produire de la condensation dans le compartiment des plateaux, lors qu'on sort le disque du congel ! ce doit être celà qui ne permet pas un nouvel essai, sans doûte.
Marsh Posté le 12-08-2006 à 13:31:34
très interressant tout ça =)!
merci bien, j'ai cramé un 200 Go il y a une semaine et demi, je vais tenter le coup du congel! J'avais jamais entendu parler de cette technique de sioux.
Marsh Posté le 12-08-2006 à 13:50:29
Tiens, j'étais passé à côté de ce topic
Bonne initiative, merci pour ces infos utiles à garder sous le coude en cas de besoin
(drapal)
Marsh Posté le 12-08-2006 à 17:18:47
Merci beaucoup enfoiro, sujet très intéressant !
Enfin une alternative aux outils windows qui ne marchaient que pour du fat32/ntfs !
Merci (et drapal).
Marsh Posté le 14-08-2006 à 22:16:23
Salut à ts,
Merci pour vos commentaires
Je vais faire un ptit update bientot avec les live cd de récup.
cybergaby a écrit : Pour plaisanter sur un sujet grave. Avec la canicule, les PC, aussi veulent leur "MISTER FREEZE", parfum "Disque Dur Exotique". Trève de plaisanterie, il doit se produire de la condensation dans le compartiment des plateaux, lors qu'on sort le disque du congel ! ce doit être celà qui ne permet pas un nouvel essai, sans doûte. |
Attention il faut bien mettre le disque dans un zip-bag avant de faire ca. Pour la condensation à l'intérieur je ne pense pas car normalement les disques (hermétiques) sont montés en chambre blanche donc l'air emprisonné est à une température et à une hygrométrie contrôlée (faible). L'effet du refroidissement se situe surtout sur les pièces mécaniques apparemment : le métal se rétracte mais quand ca réchauffe ensuite ca redevient bouseux (ca reste tt de même une technique hasardeuse ! lol). Il faut donc opérer vite ou habiter au canada : http://www.macbidouille.com/news/2006-03-13/
Bonne chance à toi !
a+
Marsh Posté le 19-10-2006 à 23:03:09
Pour info, les DD ne sont pas hermétiques. Il y a UN petit trou dans lequel est inséré un filtre papier très dense (que quelqu'un me corrige si c'est pas ça).
Je pense pas que ça laisse passer la condensation aussi facilement (si le congélo est pas pourri, enfin le sachet hermétique est une excellente idée de toute façon) mais faut pas tremper un disque dur dans le seau à champagne, il prendra l'eau
Marsh Posté le 19-10-2006 à 23:38:41
alors moi moi j'ai un gros pb j'ai un DD de 180 Go qui ne marche plus du tout enfaite quand je le branche il ne fait aucun bruit , Comme si le branchement electrique du disque dur ne fonctionnais plus ,
Le bios ne le vois meme pas , je l'ai mis au congel pendant 2 h cela na rien changer ,
sur 180Go je doit avoir au moins 80Go de donné perso .
Sa fait 2 ans que ca dure , je me dit que ej devrais jeter le DD mais je le fais aps dans l'espoir de retrouvé les donné , en attend ce que j'ai pennsé c de trouvé le meme DD de debrancher la partie electronique et de le brancher sur le mien
Marsh Posté le 20-10-2006 à 22:41:22
phosphoreloaded a écrit : Pour info, les DD ne sont pas hermétiques. Il y a UN petit trou dans lequel est inséré un filtre papier très dense (que quelqu'un me corrige si c'est pas ça). |
c'est possible, je croyais que les disques dur etaient sous vide. de toute facon, pas tel quel dans le congel, c'est clair.
darthnet a écrit : alors moi moi j'ai un gros pb j'ai un DD de 180 Go qui ne marche plus du tout enfaite quand je le branche il ne fait aucun bruit , Comme si le branchement electrique du disque dur ne fonctionnais plus , |
c'est une bonne idée si c'est l'électronique qui foire, si c'est mécanique il faut desosser la mecanique d'un disque dur et la mettre dessus (le meme). C'est technique.
Marsh Posté le 24-10-2006 à 23:35:35
Smart ne ment pas. Y a quelque temps, un de mes DD (30 Go) que je possède depuis environs 5 ans, a vu son "LifeTime" passer à 0. Et il a rendu l'âme dans le mois qui a suivit ... en emportant la table des partitions de mon DD de 200 Go
J'ai testé le congélateur pour mon DD de 30 Go, mais il a rien voulu savoir. J'ai pu récupérer la table des partitions grâce au logiciel diskdrake de ma Mandriva. Il possède une option "deviner la tables des partitions" qui a bien fonctionné. Et tous cela en mode graphique
Une chose qui pourrai être utile c'est des explications sur comment sauvegarder la table des partitions et/ou les secteurs de boot pour remettre facilement en marche un DD qu'a eut un pépin. D'ailleurs diskdrake offre la possibilité de sauvegarder dans un fichier la table des partitions, pour ensuite pouvoir avec le logiciel la restaurer facilement (fichier a ne pas conserver sur un DD biensûr ).
tuto pour smart : http://www.lea-linux.org/cached/in [...] smart.html
Marsh Posté le 25-10-2006 à 22:54:34
Mailik a écrit : |
Bonne idée, je rédige ca dès que j'ai le temps.
Merci pour le lien
Marsh Posté le 15-11-2006 à 10:04:26
j'ai une partition en ext2 qui a flanché, j'ai fait un dd, le disque dur fait 80go, y a 40 go en tout d'occuper sur le disque dur.
Ca va me prendre combien de temps environ ?
Marsh Posté le 19-11-2006 à 20:22:49
aucune idée, mais ce que je peux te dire c'est au moins 4h car tu peux faire un scan profond qui est ultra lent pour retrouver la table des partitions. Pour les fichiers c'est pareil. Disons qu'il faut pas être pressé dans tous les cas.
++
Marsh Posté le 05-12-2006 à 21:15:37
Salut,
merci pour ce topic, j'ai récupéré une partition EXT3 en 2 min avec testdisk !
Biloute
Marsh Posté le 23-12-2006 à 23:51:24
Petite note, en general,
S'il on ouvre un disque on perd une partie de son conditionnement, sauf erreur de ma part le disque tourne dans un gaz inerte anti-statique, si on l'ouvre on le perd.
Cependant dans changer les plateaux d'un disque a un autre est bien utile lorsque l'éléctronique est morte. (je l'ai déjà fait sur un conner 80Mo (j'ai bien dis Mo et pas Go) il y a quelques temps en fait... mais sur un autre conner de meme taille (même taille de disque même moteur et même techno de tête de lecture, même empatement entre les têtes).
Par contre le recepteur peut être considéré comme mort aussi (enfin non réutilisable en production) . Une société specialisée dans la récuperation de donnée peut se permettre d'avoir ce qu'il faut pour cela.
Jerrykhan
Marsh Posté le 25-12-2006 à 12:45:36
jerrykhan a écrit : Petite note, en general, |
Non, il y a de l'air ambiant, mais bien filtré par des filtres antipoussières. D'où l'utilité des petits trous sur les disques avec la petite mention souvent présente: "Do not cover this hole".
Marsh Posté le 29-12-2006 à 18:15:00
Salut les amis,
biloute80 a écrit : Salut, |
Content pour toi
jerrykhan a écrit : Petite note, en general, |
Ouep, de toute facon c'est une solution de dernier recours, quand on n'a pas l'argent pour confier son disque aux gentils monsieurs en blanc .
Pour ce qui est du gaz initialement à l'intérieur du disque, j'aurais moi aussi dit soit un gaz spécial soit du vide, mais apparemment c'est juste l'air de l'extérieur filtré. Soit.
Bon sinon j'ai enfin rajouté la commande pour sauvegarder sa table de partitions. Si vous avez des ajouts à proposer, MP.
A+
Marsh Posté le 08-01-2007 à 07:20:14
je n'avais pas vu ce topic
Merci beaucoup, je garde sous la main
(c'est vrai qu'à la maison, il est difficile de mettre en place une solution performante et économique en matière de sauvegarde )
Marsh Posté le 08-01-2007 à 12:04:46
perchut2 a écrit : je n'avais pas vu ce topic |
C'est clair.
Pour ma part j'ai opté pour un raid1 software avec mdadm, couplé avec des disques série entreprise de chez maxtor quand ils étaient dispo a montgallet. Tu raque un peu pour le deuxième disque dur mais la sérénité n'a pas de prix . Pour le réseau c'est debian+samba, ca marche niquel. Les temps d'accès et les débits sont pas super (vive les cartes SATA PCI) mais ce n'était pas le but.
a+
Marsh Posté le 21-02-2007 à 13:41:04
moi, j'ai un petit souçi avec un DD. C'est un DD de portable en NTFS, le portable à grillé et, j'essai de récupérer mes données een mettant le DD en USB mais, windows le reconnais bien, il est dans le gestionnaire des disques mais poour windows, il est illisible et surtout, il fait 880Go; Pour un disque de 20Go c'est intéressant...
est ce que il existe une solution ?
merci
++
Marsh Posté le 21-02-2007 à 16:04:56
salut,
Il ne te reste plus qu'a utiliser un outil windows payant ou les outils linux avec l'aide de quelqu'un d'expérimenté. D'abord fait une copie miroir du disque comme expliqué dans le HOWTO. Utiliser un adaptateur 2.5->3.5 peut aussi être plus efficace que de mettre le disque en USB.
a+
Marsh Posté le 09-03-2007 à 20:24:31
drapal aussi
je suis preneur du tuto sur testdisk, rien compris
Marsh Posté le 09-03-2007 à 21:01:22
Personnnelement j'ai lancé une analyse de testdisk le matin et le soir en rentrant seulement 140/7500 cylindres étaient analysées...
S'il faut attendre 1 an pour tout analyser c'est déséspérant
Marsh Posté le 10-03-2007 à 00:00:45
Tu a bien fait un miroir du disque ? Si non, fais le car tu réduis tes chances de récupération.
Le scan, c'est le scan "avancé" de testdisk ?
(ca me parait vraiment lent)
Au pire 12h=140cy 24h=280cy
7500/280 = 27 jours
Tout dépend de la valeur des données
Sinon tu peux faire tourner photorec direct dessus mais ce sera le désordre intégral
As tu essayé gpart qui est bien plus rapide ? (mais bien moins efficace)
a+
Marsh Posté le 10-03-2007 à 00:12:29
En fait j'aimerai récupérer la main sur le DD pour le formater. Donc je n'ai pas de craintes coté données, elles ne sont pas précieuses.
J'ai utilisé testdisk un peu par désespoir mais j'avoue ne pas connaitre la solution parfaite. pour info l'analyse est celle qui se lance après que testdisk n'est pas trouvé de partition, j'imagine qu'il s'agit de la première analyse (proceed)
Mon DD est donc reconnue, mais impossible de faire un FDISK dessus : "erreur lecture sur disque"
Enfoiro quelle est la meilleure solution à appliquer?
Merci pour ton aide
Marsh Posté le 10-03-2007 à 09:31:56
et un cat /dev/zero /dev/tondd
ça lui remet pas les idées en place? (attention, c'est un zero-fill, donc ça efface tout)
Marsh Posté le 10-03-2007 à 13:53:50
haha a écrit : En fait j'aimerai récupérer la main sur le DD pour le formater. Donc je n'ai pas de craintes coté données, elles ne sont pas précieuses. |
Ok, utiliser testdisk ne sert à rien dans ce cas-la.
Il faut faire un formatage de bas niveau pour remettre à zéro la table des mauvais secteurs et remettre le disque dans un état correct. De plus, tu pourra avec l'utilitaire de ton fabricant de disque vérifier que ton disque est encore en état de marche. Utilise smart aussi, afin de comprendre peut être un peu mieux le souci de ton disque dur. Tu peux te référer à la section correspondante dans le howto. Si tu a des questions n'hésite pas.
a+
Marsh Posté le 10-03-2007 à 14:42:27
Merci!!
Je viens de lancer un "Zero Fill process" de MaxBlast (j'ai un maxtor ).
~6min/1%, ce qui ferait 10H de process...
Je vous tiendrai au courant
Marsh Posté le 11-03-2007 à 01:36:34
haha a écrit : Merci!! |
Bon et bien voilà, le formatage est fini et le problème reste exactement le même.
C'est comme si rien n'avait changé et peut être que rien n'a changé.
J'ai donc testé les outils smart, mais smart est disable sur le maxtor (alors qu'il est enable sur mon seagate), le mode est bien activé dans le BIOS.
J'ai donc lancé powermax.
Si le test rapide passe bien, le full test retourne une erreur de99e67d et un message disant que le DD doit être échangé chez Maxtor?
C'est foutu?
Marsh Posté le 11-03-2007 à 18:23:07
Ca m'en a tout l'air...
PowerMax Error Codes - What does it mean? |
Conclusion : si c'est sous garantie tu renvoie
Marsh Posté le 11-03-2007 à 18:55:30
Il ne l'est malheureusement plus.
Tant pis, en tout cas j'aurai appris quelques choses en plus
Merci pour ton aide
Marsh Posté le 20-03-2007 à 13:52:19
ptit up : ajout d'une section sur les données effacées volontairement sur un support ext2/3
Marsh Posté le 18-07-2006 à 15:35:39
Salut à toutes et à tous,
(issu de http://gizmodo.com/archives/would- [...] 18574.php)
Suite à une densité importante de problèmes liés à des disques dur ces temps ci j'ai pu tester pour vous des solutions pour récupérer des données brutes ou une table de partitions cramée.
Note : ce tuto s'adresse autant à ceux qui voudraient récupérer des partitions linux (ext2 ext3 etc...) que windows (ntfs, fat32). testdisk marche meme avec les partitions mac (attention INTEL car les PPC étaient en big endian donc incompatibles)
Note 2 : on trouve de tout sur le net concernant la récupération de données. Je ne donne pas de solution miracle mais que les gens qui mettent des infos genre "mettre le HD au congélateur est un mythe", viennent me parler ici et je leur riverai leur clou . De plus, merci de ne pas piller ce topic, si vous trouvez des infos dessus, mettez le en lien chez vous.
Dans la récupération de données la première étape est l'évaluation des dégats sans écrire sur le disque dur :
- symptomes ?
Si le disque fait un bruit bizarre et/ou répétitif : c'est presque foutu, à priori le disque a un pb mécanique. La seule solution possible à la maison : laisser le disque dur reposer quelques temps (1 semaine à 1 mois) à l'extérieur du pc OU mettre le disque au congélateur (rigolez pas!) ; il faut bien sur enfermer le disque dur dans un sac plastiqué étanche, en retirant le maximum d'air, par exemple un sac de congélation avec fermeture hermétique (s'il vous reste une poche de silicone dans un coin, celles qu'on trouve parfois dans les chaussures (silica gel - do not eat), mettez le dedans aussi, ca absorbe l'humidité).
Dernière solution, pour les bricoleurs : transférer les plateaux du disque dur cassé vers un disque dur identique et fonctionnel dont on a retiré les plateaux http://www.hackaday.com/2005/11/17 [...] urrection/
Dans le bios, ne pas oublier d'activer SMART, qui permet aux disques dur d'effectuer un reporting matériel (le disque peut dire "la, je crois que je vais bientot crever, change moi vite" ). Sous linux, il faut ensuite activer le démon correspondant pour pouvoir avoir les infos smart : smartd
http://sourceforge.net/projects/smartmontools
http://valaurea.free.fr/documents/sig11_smart.html <- en francais
Si le disque ne fait pas de bruit bizarre mais que la partition n'est pas reconnue, la situation est bien meilleure :
- soit la table de partitions est niquée par un plantage ou une erreur logicielle
- soit une partie de la surface du disque est pleine de mauvais secteurs et donc ca fait bugguer l'ordi lorsque l'on tente d'y accéder.
Organisation du HOWTO :
1) les étapes correspondent à une récupération à partir d'un disque éclaté. A la fin du HOWTO il y a quelques astuces : comment sauvegarder sa table de partitions par exemple.
2) Exemple de récupération sur un disque à la limite de la poubelle dans le second post.
3) une description sommaire du fonctionnement d'un disque dur et pourquoi les erreurs aparaissent est disponible dans le 3e topic (en cours de rédaction)
4) Quelques pistes pour tenter la récupération de données effacées volontairement d'un support formaté en ext2/ext3. En ext3 afin de vous éviter de la lecture avec espoir, c'est dès le départ la merde, dû à la non conservation des inodes des fichiers supprimés.
ETAPE 1 : copie des données corrompues vers un disque sain
Lorsque vous voulez récupérer des données, la première chose à faire est de ne JAMAIS travailler sur le disque source. En effet, s'il se met à avoir des mauvais secteurs etc, la situation ne peut qu'empirer et très vite : votre disque dur est en fin de vie. Nous verrons à la fin comment lui redonner éventuellement une seconde vie. EN attendant, il ne faut JAMAIS tenter une écriture dessus ni essayer de lire les fichiers qui sont illisibles trop de fois.
Il faut donc copier bloc à bloc le disque dur crashé sur un disque de secours, neuf, de capacité suffisante pour acueillir l'ensemble des données du disque source.
Si vous ne disposez pas d'un système fonctionnel, vous pouvez utiliser un live cd tel que Mondorescue : http://www.mondorescue.org/about.shtml ou Knoppix http://www.knoppix.org/ par exemple. Il existe aussi un cd de boot excellent (UBCD full version)qui dispose d'une distrib linux, INSERT, basée sur knoppix, ainsi que des outils de formatage de bas niveau : http://www.ultimatebootcd.com/ . Ces CD contiennent tout ce dont nous aurons besoin.
Dans notre exemple,
hda est le disque à récupérer, mettons de 20 go
hdd est le disque de secours , de capacité >= 20 go.
Normalement pour copier un disque bloc à bloc on utilise dd,
dd if=/dev/hda of=/dev/hdd
Malheureusement dd n'est pas fait pour les disques cassés. On utilise donc dd_rescue
http://www.garloff.de/kurt/linux/ddrescue/
dd_rescue -l transfer_errors.log /dev/hda /dev/hdd
avec dd_rescue on peut régler la taille de bloc qu'il utilise au départ pour choper les données (nom:hs) et aussi la taille de bloc minimale en cas d'erreur (nom:bs). En général pas besoin de toucher à ces options.
Bon, maintenant on a quoi :
un hdd rempli avec le contenu qu'hda à bien voulu lire.
Quand dd_rescue fait des erreurs il vous les note dans le fichier transfer_errors.log dans notre exemple. Ca pourra être utile lorsqu'on voudra voir quels fichiers ont été corrompus par le crash de hda.
note avancée : pour rendre le travail de dd_rescue plus rapide et plus complet dans le cas d'un disque bien défoncé cad avec un/des grand nombre de blocs contigus de données défectueuses, il est possible d'utiliser dd_rhelp http://www.kalysto.org/utilities/d [...] ex.fr.html . Ce script bash permet de rendre le travail de dd_rescue plus rapide et plus complet sur les cas difficiles. Exemple : gros bloc de données défectueuses : dd_rescue essaie de lire les données bloc à bloc en ordre croissant et foire : c'est très lent et ne récupère pas tout. dd_rhelp, quand à lui, permet de chercher d'abord la fin du bloc de données défectueuses et de commencer la lecture des secteurs. Il récupère d'abord les données récupérables et ensuite voit ce qu'il peut faire avec les mauvais secteurs. De plus, il est possible d'interrompre le travail de dd_rhelp avec ctrl+c puis de le reprendre au même endroit (il me semble que c pareil dur dd_rescue ; voir http://www.oreillynet.com/sysadmin/blog/2004/07/ ds les commentaires).
Note : si vous pensez avoir une table des partitions potable à la fin de cette étape, vous pouvez directement passer à l'étape 4.
Note : un autre utilitaire, gpart, permet parfois de retrouver la table des partitions. Il est beaucoup plus rapide, mais procède uniquement avec un algorithme heuristique (d'après ce que j'ai compris), ce qui le rend beaucoup moins efficace que testdisk.
ETAPE 2 : récupération éventuelle de la table de partitions, du secteur de boot
Pour cela on utilise testdisk : www.cgsecurity.org
note : si ces infos ne vous suffisent pas, il y a dans les liens un tuto sur testdisk bien détaillé.
Testdisk permet de retrouver vos partitions écrasées avec différents niveaux de finesse (le scan le plus lent trouve TOUT).
Je ne m'étend pas sur le fonctionnement, je ferai ptet des captures d'écran plus tard mais la pas le temps, l'ergonomie du logiciel est un peu bizarre donc il faut faire attention à ne pas lancer d'opération longue par mégarde même si on peut toujours les stopper avec "s".
Le logiciel propose la recherche de toutes les partitions sur le disque. Ensuite, on choisit les partitions qu'on veut reconstruire dans la table des partitions. On peut aussi refaire un secteur de boot correct à partir d'un vieux secteur de boot. Pour les partitions NTFS le logiciel gère la MFT (Master File Table) pour reconstruire la partition.
ETAPE 3 : si vous ne retrouvez pas vos fichiers sur la partitions
Une seule solution : rechercher tous les identificateurs de fichiers en fonction de leur type. Ensuite vous aurez une grosse bouillie sans dossiers avec tous vos fichiers. Pour cela, on utilise photorec, du même auteur que testDisk : décidément un ptit génie celui-là . Il relève les traces de tous vos fichiers "reconnus" genre .odt .jpg etc... et essaie de les reconstruire ensuite.
note :un autre cd de boot est le SystemRescueCd, http://linuxfr.org/2007/04/04/22306.html , qui comprend d'autres utilitaires tels que foremost et magicrescue pour récupérer les fichiers effacés. Ces utilitaires fonctionnent comme photorec, c'est à dire regardent les premiers octets des fichiers pour en repérer le type, et ensuite ils peuvent récupérer le fichier en entier s'il est contigu (i.e. non fragmenté). Je ne parle pas de ces utilitaires dans le tuto. SI vous les testez, postez vos expériences.
D'autres logiciels tels foremost, développé par les ricains, ainsi que scalpel, une version modifiée de foremost, permettent de faire ce travail. Il existe aussi Sleuth kit. Essayez-en plusieurs, puis faites un delta entre les fichiers retrouvés par ces différents logiciels pour récupérer le plus grand nombre de fichiers possibles.
ETAPE 4 : vérifications, réparations du fs
Si les partitions sont du type ext2 ext3 lancer l'outil associé fsck.ext2 fsck.ext3 sur les partitions en question.
SI type FAT32 lancer fsck.vfat
Si type NTFS lancer chkdsk lorsque vous serez sous windows (il le proposera de toute facon au démarrage)
ETAPE 5 : enjoy&relax
Vous pouvez souffler, mettre le disque endommagé en lieu sur et pleurer sur les données perdues à jamais. Pour ma part, je n'ai au final pas perdu grand chose grâce à tous ces outils.
Note : les outils utilisés sont ultra puissants. les mecs qui ont codé ca sont vraiment des génies et on peut récupérer les données comme des pros pour 0 euro alors que les tarifs pratiqués dans le commerce vont de 300 à 1500 euros pour le démontage en chambre blanche et remontage sur mécanique fonctionelle.
ETAPE 6 : wipeout éventuel du disque cramé
Si vous pensez que le disque avec les mauvais secteurs (notre hda)
1) est encore valable
2) que vous êtes sur d'avoir récupéré toutes les données importantes sur ce disque
3) vous voulez encore utiliser ce disque par la suite
Vous pouvez utiliser les outils propres à chaque marque de disque dur pour faire un formatage de bas niveau (low level format). Ensuite, parfois, le disque remarche comme un charme. Par exemple MaxBlast pour les maxtor. Si ensuite vous voulez faire un "stress test" sur le disque afin de le casser définitivement vous trouverez des outils par ici : http://ltp.sourceforge.net/tooltable.php
ASTUCES
1) Comment sauvegarder la table de partitions d'un disque dur ?
(Extrait du "man gpart" )
Pour sauvegarder le secteur de boot (Master Boot Record, MBR) ainsi que la table des partitions primaires d'un disque dur (hda représente le disque, mbr la sauvegarde de la table de partitions):
dd if=/dev/hda of=mbr bs=512 count=1
note : cette opération doit être effectuée sur tous les disques durs physiques.
Pour remettre une table de partitions sauvegardée à la place de la table de partitions actuelle d'un disque dur, sans toucher au MBR :
dd if=mbr of=/dev/hda bs=1 count=64 skip=446 seek=446
Je vous rapelle qu'il faut faire très attention quand on utilise la commande dd, surtout quand il s'agit d'écrire sur le disque. Pour ne pas se tromper :
dd IF= (Input File) OF= (Output File)
D'autre part, sauvegardez ce petit fichier en lieu sûr, et n'oubliez pas de le mettre à jour si vous modifiez la table de partitions de votre disque.
2) Comment monter une image disque récupérée ?
mount -o loop /chemin/vers/fichier-dd /mnt/point
3) Comment monter un système de fichiers endommagé à partir du support physique original ?
(ce n'est pas recommandé ! à utiliser en dernier recours, par exemple si une tête du disque dur est mort, et que seuls certains plateaux sont encore accessibles)
=> Voir les liens
Erreurs probables, replaïe appreciated
Postez ici vos méthodes, vos techniques, vos expériences en matière de récupération de données et vos problèmes éventuels lors de récupérations, j'essaierais de vous aider dans la mesure du possible.
edit 15/08/06 : rajout livecd, précisions sur dd_rhelp
edit 02/09/06 : rajout quelques liens
edit 29/12/06 : rajout commande dd pour sauvegarde table partitions
edit 04/01/07 : rajout de liens, astuce : comment monter une image disque, comment monter un système de fichiers endommagé.
edit 07/01/07 : rajout d'une section hardware dans le 3e post sur les disques durs.
edit 26/02/07 : ajout de nouveaux liens
edit 12/03/07 : ajout d'un lien, ajout de gpart dans la section récupération de la table des partitions.
edit 21/03/07 : rajout d'une section : récupération éventuelle de données effacées sur support formaté en ext2/ext3.
edit 26/03/07 : ajout de liens.
edit 05/04/07 : ajout du systemRescueCd et autres utilitaires.
edit 16/07/07 : ajout de lien tuto LVM RAID1
edit 02/08/07 : supression lien mort et ajout de lien
edit 07/08/07 : lien test disque SMART ajouté
edit 28/09/07 : grosse partie d'explications sur une récupération avancée !!
edit 26/06/08 : ajout de sleuth kit, foremost et scalpel
edit 29/01/09 : ajout lien recup ext3
edit 05/03/10 : ajout lien récupération hardcore avec les handles du kernel
Liens
Comment tester son disque dur avec des commandes SMART
http://www.cyberciti.biz/tips/linu [...] iling.html
(Vieux) tutos en francais pour les fichiers effacés (non testé)
http://chl.be/glmf/www.linuxmag-fr [...] recup.html
http://www.ibiblio.org/pub/Linux/d [...] etion.html
Tutorial de récupération (US)
http://servers.linux.com/article.p [...] 0&from=rss
Tuto gentoo rapide pour récupérer des photos sur une carte SD (ils suivent la même méthode que nous)
http://gentoo-wiki.com/Photo_Recov [...] emory_Card
Tuto pour debian sur ddrescue
http://www.debianadmin.com/recover [...] escue.html
Récupération d'une clé FAT32 (technique)
http://www.linuxjournal.com/article/8366
Comment monter un système de fichiers endommagé ?
http://www.cepcasa.info/parted/recupfs.html
http://www.delafond.org/traducmanf [...] tup.8.html
Deux études sur la fiabilité des disques grand public
http://hardware.slashdot.org/artic [...] /21/004233
(liens directs)
http://www.usenix.org/events/fast0 [...] index.html
http://labs.google.com/papers/disk_failures.pdf
(résumé de ces deux articles)
http://storagemojo.com/?p=383
Article de récupération d'un raid avec outil commercial, mais les détails techniques sur les pannes de disques durs sont intéressantes (si la seconde partie du post ne vous suffit pas )
http://www.tomshardware.com/2007/02/14/raid_recovery/
Tutorial sur testdisk
http://forum.pcastuces.com/sujet.asp?f=01&s=102819
Tutorial de récupération (quelques astuces et évocation de debugfs)
http://www.commentcamarche.net/faq [...] es-perdues
Tutorial de récupération de partitions LVM en RAID1
http://www.howtoforge.com/recover_ [...] partitions
Tuto récupération hardcore avec lsof et donc les handles du kernel sur les fichiers en cours d'utilisation
http://www.linux.com/archive/articles/58142
Comment ne pas confondre ses partitions avec les labels ext3
http://www.debian-administration.org/articles/522
Exemple de récupération de LVM cassé
http://linuxfr.org/~KiKouN/29625.html
Sleuth kit
http://www.sleuthkit.org/sleuthkit/desc.php
Foremost
http://foremost.sourceforge.net/
Scalpel
http://www.digitalforensicssolutions.com/Scalpel/
Topics locaux
Récupération d'un RAID1 cassé
http://forum.hardware.fr/hfr/OSAlt [...] 1457_1.htm
Récupération d'un système de fichier ext3 dont le journal est corrompu
http://forum.hardware.fr/hfr/OSAlt [...] 4695_1.htm
Bons articles sur le système de fichiers ext3
http://forum.hardware.fr/hfr/OSAlt [...] 4431_1.htm
Ext3 : pistes de récupération avec tous les superblocks niqués :
http://forum.hardware.fr/forum2.ph [...] post=68693
Message édité par enfoiro le 20-04-2010 à 20:07:56