Vous n'êtes pas identifié(e).
L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT →
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Prochaine révision Les deux révisions suivantes | ||
doc:materiel:disques-durs:recuperation-de-donnees-disque-endomage [07/01/2014 01:52] MicP [Introduction] modif lien smart.. |
doc:materiel:disques-durs:recuperation-de-donnees-disque-endomage [09/01/2014 07:21] MicP [Restauration] |
||
---|---|---|---|
Ligne 9: | Ligne 9: | ||
* Testé par mélodie le 02/01/2014 (merci à elle pour le transcript original du tuto) | * Testé par mélodie le 02/01/2014 (merci à elle pour le transcript original du tuto) | ||
* Commentaires sur le forum : [[http://debian-facile.org/viewtopic.php?id=8133 | ici]] ((N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) | * Commentaires sur le forum : [[http://debian-facile.org/viewtopic.php?id=8133 | ici]] ((N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) | ||
- | |||
- | === Nota === | ||
- | |||
- | Contributeurs, les FIXME sont là pour vous aider, supprimez-les une fois le problème corrigé ou le champ rempli ! | ||
- | |||
===== Introduction ===== | ===== Introduction ===== | ||
- | Aïe ! plus moyen de "booter" le système, ou plus aucun accès à cette partition de données dont j'ai tant besoin... | + | Aïe ! plus moyen de "booter" le système, et/ou plus aucun accès à cette partition de données dont j'ai tant besoin... |
Les accès à certaines partitions de ce disque sont impossibles. \\ | Les accès à certaines partitions de ce disque sont impossibles. \\ | ||
Ligne 26: | Ligne 21: | ||
Pour créer ce fichier de copie image disque, plusieurs outils existent avec chacun leur avantages et inconvénients. \\ | Pour créer ce fichier de copie image disque, plusieurs outils existent avec chacun leur avantages et inconvénients. \\ | ||
Ici, l'image disque a été crée avec [[http://whdd.org/|whdd]]. | Ici, l'image disque a été crée avec [[http://whdd.org/|whdd]]. | ||
- | <notes>Bientôt ici, 3 nouveaux liens vers tutos : \\ | + | <note >Bientôt ici, 3 nouveaux liens vers les tutos : \\ |
- | Création image disque avec ''dd'', ''GNU-ddrescue'', ''whdd''.</note> | + | Création image disque avec ''dd'', avec ''GNU-ddrescue'' et avec ''whdd''.</note> |
===== Installation ===== | ===== Installation ===== | ||
Ligne 66: | Ligne 61: | ||
</file> | </file> | ||
- | ===== Association et "mappage" ===== | + | ===== Préparation ===== |
+ | ==== Association et "mappage" ==== | ||
On va associer ce fichier image disque au périphérique ''/dev/loop0'' : | On va associer ce fichier image disque au périphérique ''/dev/loop0'' : | ||
<code root>losetup /dev/loop0 whdd-copy-mode</code> | <code root>losetup /dev/loop0 whdd-copy-mode</code> | ||
Pour permettre l'accès aux partitions du fichier image disque ''whdd-copy-mode'', \\ | Pour permettre l'accès aux partitions du fichier image disque ''whdd-copy-mode'', \\ | ||
- | on va utiliser ''kpartx'' pour en faire une "projection" sur le périphérique ''/dev/mapper'': | + | on va utiliser ''kpartx'' pour faire une "projection" (''mappage'') de ses partitions sur le périphérique ''/dev/mapper'': |
<code root>kpartx -a whdd-copy-mode</code> | <code root>kpartx -a whdd-copy-mode</code> | ||
- | Examinons ce que ça donne en listant le répertoire ''/dev/mapper'' : | + | Examinons ce que ça a donné en listant le répertoire ''/dev/mapper'' : |
<code root>ls -l /dev/mapper/</code> | <code root>ls -l /dev/mapper/</code> | ||
<file .txt retour de la commande> | <file .txt retour de la commande> | ||
Ligne 87: | Ligne 83: | ||
</file> | </file> | ||
- | ===== Le "mountage" ===== | + | ==== Le "mountage" ==== |
Créons les 6 répertoires qui vont servir de points de "mountage" pour ces partitions. | Créons les 6 répertoires qui vont servir de points de "mountage" pour ces partitions. | ||
- | <code root>mkdir /mnt/sdc1 /mnt/sdc2 /mnt/sdc3 /mnt/sdc4 /mnt/sdc5 /mnt/sdc6</code> | + | <code root>mkdir -p /mnt/sdc/sdc{1,2,3,4,5,6}</code> |
Vérifions qu'ils ont bien été créés : | Vérifions qu'ils ont bien été créés : | ||
- | <code root>cd /mnt | + | <code root>ls -l /mnt/sdc/</code> |
- | ls -l sdc/</code> | + | |
<file .txt retour de la commande> | <file .txt retour de la commande> | ||
- | sdc/: | + | /mnt/sdc/: |
total 24 | total 24 | ||
drwxr-xr-x 2 root root 4096 1 janv. 21:01 sdc1 | drwxr-xr-x 2 root root 4096 1 janv. 21:01 sdc1 | ||
Ligne 105: | Ligne 100: | ||
</file> | </file> | ||
- | Il nous faut maintenant "mounter" ces partitions sur les points de "mountage" précédemment créés: | + | Il nous faut maintenant [[doc:systeme:mount|mounter]] ces partitions sur les points de "mountage" précédemment créés: |
<code root>mount /dev/mapper/loop0p1 /mnt/sdc/sdc1</code> | <code root>mount /dev/mapper/loop0p1 /mnt/sdc/sdc1</code> | ||
<file .txt retour de la commande> | <file .txt retour de la commande> | ||
Ligne 147: | Ligne 142: | ||
''sdc4'' <=> ''loop0p4'' | ''sdc4'' <=> ''loop0p4'' | ||
- | La première de ces 2 partitions est une partition de type ''Étendue''.\\ | + | Étant donné que la première partition est une partition de type ''Étendue'',\\ |
- | Cette partition n'est donc qu'un conteneur de partitions de type ''Logique''. \\ | + | et que cette partition n'est qu'un conteneur de partitions de type ''Logique'', \\ |
- | il n'y-a donc aucun système de fichiers à réparer dans cette partition. | + | il n'y a aucun système de fichiers à réparer sur cette partition. |
Par contre la deuxième peut-être réparée avec ''fsck.ext4''. | Par contre la deuxième peut-être réparée avec ''fsck.ext4''. | ||
Ligne 176: | Ligne 171: | ||
==== En douceur ==== | ==== En douceur ==== | ||
- | On va d'abord commencer par n'utiliser ''fdisk'' qu'avec l'option ''-n'' qui ne travaille qu'en mode lecture et n'affichera seulement que les erreurs qu'il faudrait corriger. | + | On va d'abord commencer par n'utiliser [[doc:systeme:fsck|fsck]] qu'avec l'option ''-n'' qui ne travaille qu'en mode lecture et n'affichera seulement que les erreurs qu'il faudrait corriger. |
- | <code root>fsck.ext4 -n loop0p4</code> | + | <code root>fsck.ext4 -n /dev/mapper/loop0p4</code> |
Le retour de cette dernière commande est bien trop long pour être affiché ici. \\ | Le retour de cette dernière commande est bien trop long pour être affiché ici. \\ | ||
En voici une copie (fichier texte) : [[http://meets.free.fr/Downloads/whdd-file-partition-fsck.txt | fsck.txt]] | En voici une copie (fichier texte) : [[http://meets.free.fr/Downloads/whdd-file-partition-fsck.txt | fsck.txt]] | ||
==== Et maintenant, au boulot ! ==== | ==== Et maintenant, au boulot ! ==== | ||
- | <code root>fsck.ext4 -f -y loop0p4</code> | + | <code root>fsck.ext4 -f -y /dev/mapper/loop0p4</code> |
... (beaucoup de messages) | ... (beaucoup de messages) | ||
- | On va vérifier ce que ça donne maintenant : | + | On va vérifier ce que ça donne maintenant : \\ |
- | <code root>fsck.ext4 -n loop0p4 | more</code> | + | en utilisant [[doc:systeme:more|more]] (histoire de rien perdre des éventuels messages qui s'afficheraient...) |
+ | <code root>fsck.ext4 -n /dev/mapper/loop0p4 | more</code> | ||
<file .txt retour de la commande> | <file .txt retour de la commande> | ||
e2fsck 1.42.8 (20-Jun-2013) | e2fsck 1.42.8 (20-Jun-2013) | ||
home-buntu : propre, 234476/848640 fichiers, 2178724/3407872 blocs | home-buntu : propre, 234476/848640 fichiers, 2178724/3407872 blocs | ||
</file> | </file> | ||
- | (''propre'' => Il annonce que la partition est réparée). | + | (''propre'' => mais...il annonce que la partition est réparée!). |
===== Vérification ===== | ===== Vérification ===== | ||
Dernière vérification : "mounter" et lister le contenu de la partition réparée. | Dernière vérification : "mounter" et lister le contenu de la partition réparée. | ||
- | <code root> | + | <code root>mount loop0p4 /mnt/sdc/sdc4/ && ls -l /mnt/sdc/sdc4/</code> |
- | mount loop0p4 /mnt/sdc/sdc4/ | + | |
- | ls -l /mnt/sdc/sdc4/ | + | |
- | </code> | + | |
==== L'Ode à la joie ==== | ==== L'Ode à la joie ==== | ||
Ligne 204: | Ligne 197: | ||
Toutes mes partitions sont réparées. Hourra! | Toutes mes partitions sont réparées. Hourra! | ||
+ | |||
+ | ===== Dé-mountage ===== | ||
+ | Libération du périphérique ''/dev/loop0'' (dé-mappage de ses partitions). | ||
+ | <code root>kpartx -d /dev/loop0</code> | ||
+ | |||
+ | Détacher le fichier image disque ''whdd-copy-mode'' associé au périphérique boucle ''/dev/loop0''. | ||
+ | <code root>losetup -d /dev/loop0</code> | ||
+ | |||
+ | Destruction des points de "mountage" et du répertoire les contenant. | ||
+ | <code root>rm -r /mnt/sdc</code> | ||
+ | ===== Restauration ===== | ||
+ | ==== Recopie de l'image sur le disque ==== | ||
+ | === connexion et identification du disque === | ||
+ | Le fichier image disque étant maintenant détaché du périphérique ''/dev/loop0'', | ||
+ | Il suffit de le recopier sur le périphérique physique par son point de mountage au système. | ||
+ | Pour cela, ''whdd'' ou plus simplement ''dd'' peuvent êtres utilisés. \\ | ||
+ | <note>N'ayant pas encore de disques disponibles pour faire de vrais tests (je les reçoit dans une semaine...), ni installé ''wgdd'', je ne présenterais que la méthode utilisant ''dd''. \\ | ||
+ | Je vais supposer que, comme le disque était "malade", il avait été déconnecté physiquement de la machine le temps d'effectuer les manipulations précédentes.</note> | ||
+ | 1°/ Cas du disque dans un boîtier USB ou SATA connecté à chaud. | ||
+ | Avant de connecter physiquement le disque physique à la machine, \\ | ||
+ | ouvrez une fenêtre de terminal, connectez vous sous le compte du super-utilisateur ''root'', et entrez la commande suivante : | ||
+ | <code root>tail -f -n 5 /var/log/messages</code> | ||
+ | <file txt retour de la commande> | ||
+ | Jan 9 06:31:24 deb-G53SW mtp-probe: bus: 3, device: 19 was not an MTP device | ||
+ | Jan 9 06:31:24 deb-G53SW mtp-probe: bus: 3, device: 18 was not an MTP device | ||
+ | Jan 9 06:31:25 deb-G53SW kernel: [ 4074.562535] usblp1: removed | ||
+ | Jan 9 06:31:25 deb-G53SW kernel: [ 4074.569289] usblp1: USB Bidirectional printer dev 19 if 0 alt 0 proto 2 vid 0x04F9 pid 0x0027 | ||
+ | Jan 9 06:31:25 deb-G53SW udev-configure-printer: Re-enabled printer ipp://localhost:631/printers/HL-2030-series | ||
+ | </file> | ||
+ | Connectez physiquement le disque à la machine et observez les nouveaux messages qui apparaissent dans la fenêtre de terminal. | ||
+ | <note>En cours d'édition : je referai plus tard les fenêtres de retour de commandes avec un disque comportant les mêmes partitions. \\</note> | ||
+ | <file txt messages> | ||
+ | Jan 9 06:58:27 deb-G53SW kernel: [ 5696.507982] sd 9:0:0:0: Attached scsi generic sg4 type 0 | ||
+ | Jan 9 06:58:27 deb-G53SW kernel: [ 5696.508454] sd 9:0:0:0: [sdd] 625142448 512-byte logical blocks: (320 GB/298 GiB) | ||
+ | Jan 9 06:58:27 deb-G53SW kernel: [ 5696.508844] sd 9:0:0:0: [sdd] Write Protect is off | ||
+ | Jan 9 06:58:28 deb-G53SW kernel: [ 5696.707204] sdd: sdd1 sdd2 < sdd5 sdd6 sdd7 sdd8 sdd9 sdd10 sdd11 sdd12 sdd13 sdd14 sdd15 sdd16 > | ||
+ | Jan 9 06:58:28 deb-G53SW kernel: [ 5696.711281] sd 9:0:0:0: [sdd] Attached SCSI disk | ||
+ | </file> | ||
+ | Suite à la détection par le noyau de la connexion d'un nouveau périphérique, 4 nouvelles lignes sont apparues dans la fenêtre de terminal. | ||
+ | La dernière ligne nous permet de constater que le fichier de périphérique ''/dev/sdc'' a été associé au disque nouvellement connecté. | ||
+ | On peut maintenant stopper l'exécution de la commande ''tail'' avec ''Ctrl-c''. | ||
+ | |||
+ | On peut s'assurer qu'il s'agit bien de notre disque en visualisant ses références avec la commande suivante: | ||
+ | <code user>ls -l /dev/disk/by-id | grep sdd$</code> | ||
+ | <file txt retour de la commande> | ||
+ | lrwxrwxrwx 1 root root 9 janv. 9 06:58 usb-ST932042_3AS_088810000000-0:0 -> ../../sdd | ||
+ | </file> | ||
+ | Et confirmer le fait en visualisant l' ''UUID'' de touts les partitions présentes sur ce disque. | ||
+ | <code user>ls -l /dev/disk/by-uuid | grep sdd</code> | ||
+ | <file txt retour de la commande> | ||
+ | lrwxrwxrwx 1 root root 11 janv. 9 06:58 2864c6d8-3e6e-407a-88dd-b5848a9bdbdd -> ../../sdd16 | ||
+ | lrwxrwxrwx 1 root root 10 janv. 9 06:58 3214e144-879f-4edd-94fc-11cb85b81472 -> ../../sdd9 | ||
+ | lrwxrwxrwx 1 root root 10 janv. 9 06:58 33a9116c-e10f-4e6a-acd8-a90d20cb8e26 -> ../../sdd6 | ||
+ | lrwxrwxrwx 1 root root 11 janv. 9 06:58 3df408e9-e65e-4659-9881-84ae6d077c43 -> ../../sdd14 | ||
+ | lrwxrwxrwx 1 root root 11 janv. 9 06:58 4d8b7d8f-30db-4637-b33b-84c42df4cd88 -> ../../sdd13 | ||
+ | lrwxrwxrwx 1 root root 11 janv. 9 06:58 74349cee-dd8c-4ce5-ab45-a8e7b25cdda0 -> ../../sdd15 | ||
+ | lrwxrwxrwx 1 root root 10 janv. 9 06:58 965d9bed-c44b-4920-bf5a-9cae3da537f0 -> ../../sdd1 | ||
+ | lrwxrwxrwx 1 root root 11 janv. 9 06:58 9e2ba03c-bada-4db8-a761-fe3093b92860 -> ../../sdd11 | ||
+ | lrwxrwxrwx 1 root root 10 janv. 9 06:58 a05f71f5-83f6-46b8-a96a-499129916136 -> ../../sdd8 | ||
+ | lrwxrwxrwx 1 root root 10 janv. 9 06:58 a1fdf8ed-cc93-43bb-b37b-7ce8b0b3e153 -> ../../sdd5 | ||
+ | lrwxrwxrwx 1 root root 11 janv. 9 06:58 a69d9182-f4c7-4276-b35d-7d5f9bd50a57 -> ../../sdd10 | ||
+ | lrwxrwxrwx 1 root root 11 janv. 9 06:58 b9bf96f4-694a-453f-aad6-d84efbb1f299 -> ../../sdd12 | ||
+ | lrwxrwxrwx 1 root root 10 janv. 9 06:58 fd63ad30-fc7b-4640-b1ba-10c0da651be9 -> ../../sdd7 | ||
+ | </file> | ||
+ | Les ''UUID'' des partitions correspondent, c'est bien notre disque qui est connecté sur ''/dev/sdd''. | ||
+ | Pour que la recopie du fichier image disque puisse être faite, il faut d'abord (au cas où) "dé-mounter" les partitions de ce disque. | ||
+ | <code root>umount /dev/sdd*</code> | ||
+ | On vérifie que plus aucune des partitions de ce disque n'est "mountée" sur le système de fichiers: | ||
+ | <code user>mount | grep /dev/sdd</code> | ||
+ | Si cette dernière commande n'a rien retourné, on peut lancer la recopie du fichier image disque sur le disque physique. | ||
+ | <code root>dd if=whdd-copy-mode of=/dev/sdd bs=1M; sync</code> | ||
+ | Il va falloir patienter en fonction de la "taille" du disque... | ||
+ | |||
+ | |||
+ |