×
Bienvenue sur le nouveau serveur de l'Aru2L (17 Nov 2012)

Nous voila en phase beta suite à une refonte totale du site de l'aru2L, n'hésitez pas à faire remonter les Bugs que vous pouvez trouver sur contact(@)aru2l.org (enlever les parenthèses) ou en créant un post sur le forum.
Nous vous prions de bien vouloir nous excusez pour la gène occasionnée.

Topic-icon recuperer des donnees sur un disque dur

Plus d'informations
il y a 10 ans 3 mois - il y a 10 ans 3 mois #1905 par stephdl
stephdl a créé le sujet : recuperer des donnees sur un disque dur
encore l'artisan numerique


Récupérer les données d'un disque défectueux
Le 29 mai 2008, à 15:17 par Ulhume...

A qui n'est-il pas arrivé d'avoir un disque qui lui claque dans les pattes sans avoir eu le temps d'en sauvegarder le contenu ? Heureusement, avec un Linux, allez pouvoir avec un peu de chance retrouver vos précieuses données...
On arrête tout !!

Lorsque les ennuis surviennent, la première chose à faire est de ne plus toucher à rien. Le mieux alors est d'éteindre la machine et d'aller quelque part trouver un CD Live d'une distribution Linux. A priori toutes conviennent car il ne nous faut que les outils de base : dd, gzip, fsck.*, mount.* et ssh. La seule chose qui peut poser problème sont les distributions trop intelligentes qui s'amusent à monter tous les disques qu'elles trouvent. Le mieux est donc d'utiliser une distribution de type rescue linux.

Récupération des données brute

La première chose que vous pouvez faire est de monter la partition en lecture seule pour tenter en toute simplicité d'en sauvegarder le contenu. Pour cela il faut utiliser l'option -ro de la commande mount :

1.
mkdir /media/sauvegarde
2.
mount /dev/hda1 /mnt -o ro

Si les données sont trop atteintes pour pouvoir monter le disque, il faut passer à la vitesse au dessus. Pour ne prendre aucun risque, la régle numéro un est de faire comme le chat qui chipent la bouffe de ses voisins : recopier le plus furtivement possible la partition en danger, et l'emmener dans un coin calme pour travailler dessus. Surtout ne jamais faire ce qui suit sur la "vraie" partition sous peine de voir empirer les choses : l'ennemi ici, c'est l'écriture.

Tout d'abord donc, il nous faut récupérer le contenu de la partition dans un fichier. Soit nous disposons sur notre machine de deux disques, dont un en bon état, auquel cas nous montons ce disque et nous créons notre fichier dessus :
dd if=/dev/hda1 of=/media/bon_dique/hda1.img conv=noerror,sync
Les options noerror et sync permettent de passer outre les erreurs de lecture des bad-sectors en les remplaçant par des zéros. Le fichier final garde ainsi strictement la même taille que la partition sauvegardée.

Si vous n'avez pas de disque disponible, la même chose peut être faite à travers le réseau vers une machine disposant de SSH :
dd if=/dev/hda1 conv=noerror,sync | gzip | ssh user@machine "gunzip > hda1.img"

Réparation

Maintenant que nous avons notre fichier partition, nous allons pouvoir lancer une procédure de correction sur celui-ci :
fsck.ext3 hda1.img
Si votre disque est formaté avec un autre système de fichier, remplacez ext3 par celui-ci (ex. vfat, ext2, reiser, etc...).

Si tout c'est bien passé, l'image est réparée. Nous pouvons la monter pour récupérer les précieuses données :
mount -t ext2 hda1.img mount_point

Recherche des superblocks

Si la partition problématique est formatée avec EXT3, il se peut que l'on ait un refus d'obstacle à l'étape précédente pour cause de "superblock" introuvable.

Il y a (au moins) deux manières de récupérer la position des superblocks. La première consiste à simplement rechercher la chaîne superblock dans l'image du disque que nous avons créée plus haut :
dumpe2fs -ob hda1.img | grep Superbloc

La seconde solution consiste à fabriquer une fausse image disque de la taille exacte de la partition d'origine que nous allons ensuite formatter en ext3 pour obtenir la position des superblocks :

1.
# affichage de la taille de la partition
2.
df /dev/hda1
3.

4.
# on reporte cette taille pour créer un faux disque
5.
dd if=/dev/zero of=/faux_disque.img count=taille_partition
6.

7.
# formatage du faux disque qui, une fois terminé, affiche les positions de superblocks
8.
mkfs.ext3 /faux_disque.img

Une fois que l'on connaît la position des superblocks, il suffit de lancer un réparation :
fsck.ext3 -B POSITION_SUPER_BLOCK hda1.img

Conclusion

Voilà, avec peu d'effort, l'ami Linux peut encore nous sauver la vie avec sa vision Unixienne "Tout n'est que fichier, sauf bien sur lorsque ce n'en est pas un"

Légèrement hors sujet, je profite juste de ce billet pour citer l'outil photorec. Disponible dans toutes les bonnes distributions, cet utilitaire est capable d'analyser une partition et d'en retirer des fichiers perdus. A garder dans sa boîte à outils.

.....être Libre, c'est aussi être Militant.....

stephane (att) de-labrusse (punto) fr
Dernière édition: il y a 10 ans 3 mois par stephdl.

Connexion pour participer à la conversation.

Plus d'informations
il y a 10 ans 3 mois #1919 par Signix
Signix a répondu au sujet : Re:recuperer des donnees sur un disque dur
Dans le dd avec shh il ne manque pas justement l'appel à ssh avant user@machine ?
Sinon l'idée est bonne j'auras pas pensé par ssh...
Merci pour le how-to et pour l'adresse de ce site

Software is like sex: it is better when it is free. Linus TORVALD
Mandriva 2008.1 sur XPSM1330 (T7500, Nvidia 8400M, lecteur d empreinte, bluetooth, webcam)

Connexion pour participer à la conversation.

Plus d'informations
il y a 10 ans 3 mois - il y a 10 ans 3 mois #1922 par stephdl
stephdl a répondu au sujet : Re:recuperer des donnees sur un disque dur
effectivement, sinon pour le blog de l'artisan numerique, il est publié sur le "planet libre", avec une autre jolie collection de publication RSS.......un must

.....être Libre, c'est aussi être Militant.....

stephane (att) de-labrusse (punto) fr
Dernière édition: il y a 10 ans 3 mois par stephdl.

Connexion pour participer à la conversation.

Temps de génération de la page : 0.135 secondes