Auteur Sujet: [WHDD] Récupération de données  (Lu 7807 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne melodie

  • Administrateur
  • Membre Héroïque
  • *****
  • Messages: 1777
    • Citrotux
[WHDD] Récupération de données
« le: 09 février 2015 à 01:36:35 »
L'an dernier, j'ai récupéré des données depuis un disque dur mourant de 40 Go. Le disque dur, en sata, avait 6 partitions, dont une présentait des secteurs défectueux, ce qui la rendait inaccessible : même pour le programme dd.

WHDD est un outil de récupération de données que l'on m'a montré, mais une fois lancé, je ne comprenais pas comment l'utiliser. J'ai d'abord visité le site du programme, puis je me suis inscrite sur la mailing-liste, et posté pour questionner sur la manière de l'employer.

WHDD est un outil de récupération de données travaillant en mode bas-niveau. Le contenu du disque dur de 40 Go fut sauvegardé sous la forme d'un fichier unique, qui si je me souviens bien, faisait 38 Go au total. Ensuite, il m'a fallu utiliser kpartx pour pouvoir accéder à chaque partition et aux données qu'elles contenaient. C'est seulement là que j'ai pu copier les données vers un autre espace. Je ne savais pas utiliser kpartx non plus, captnfab à cette occasion m'avait guidée.

Tout ceci a donné des notes, que j'ai transmises à captnfab, puis un autre membre du forum, membre aussi de la communauté Debian Facile, a transcrit tout cela sur le wiki debian-facile, ici:
http://wiki.debian-facile.org/doc:materiel:disques-durs:recuperation-de-donnees-disque-endomage?s%5B%5D=whdd

c'est à dire, la partie concernant l'accès à l'image créée par whdd.

J'ai à nouveau un disque dur endommagé à récupérer. J'ignore encore si et comment cela va être possible, car cette fois, j'ai affaire à un disque dur sata, mais faisant néanmoins 500 Go ! Et pour l'heure, je n'ai qu'un disque dur de 500 Go pour recevoir des données. Or, le fichier généré par WHDD est presque aussi gros que la taille totale du disque dur source ! Je me suis arrangée pour le rendre disponible… La première étape sera de réussir à copier les données du HDD malade vers celui-ci. Pour la suite, je verrai selon les résultats de cette première étape.

Je vais donc reprendre mes propres notes, et la lecture des mails échangés l'an dernier avec le développeur de WHDD sur sa mailing liste, (à peine plus d'un an en arrière) et tâcher de transcrire tout cela en français, avec captures et vidéo, puisque j'en avais faite une.

Le boulot est à faire assez rapidement, donc chaque nouveau post sous celui-ci correspondra à une session. J'espère que à la fin, les données seront récupérées, et que nous aurons un tutoriel complet en français permettant d'utiliser ce programme.

Liens:
http://whdd.org/
http://whdd.org/demo/

Il y avait une liste de discussion, mais elle a été fermée durant l'année dernière. Je me servirai des mails échangés, que j'ai conservés, et les transcrirai en français.
Good leaders being scarce, following yourself is allowed.

Hors ligne melodie

  • Administrateur
  • Membre Héroïque
  • *****
  • Messages: 1777
    • Citrotux
Re : [WHDD] Récupération de données
« Réponse #1 le: 09 février 2015 à 23:04:26 »
Installation:
Pour commencer, il faut installer whdd. Sous Archlinux, la version la plus récente, la 2.2, est disponible sur AUR. Pour Debian et Ubuntu, vous voudrez la compiler, car il n'y a pas de paquet sur les dépôts.   :-X  :'(

Test d'un disque dur:
Ouvrez une console root, lancez whdd, et commencez par sélectionner un disque dur, puis lancez un test.






Le choix par défaut est "ata". Si ça ne fonctionne pas, changez pour posix. L'explication de Andrey UTKIN à ce sujet:
Citer
> Then I tried to use the copy mode (ata choice failed, posix allowed
> continuing).

ATA mode failure may have different reasons: HDD not supporting LBA48
addressing, old kernel, missing sg (SCSI Generic device) driver in
kernel, maybe something else.

Traduction:
Citer
> Ensuite j'ai essayé en utilisant le mode "copy" (le choix ata a échoué, le choix "posix" m'a permis de continuer).

L'échec du mode ATA peut avoir différentes raisons: le disque dur ne supporte pas l'adressage LBA48, un vieux kernel, un pilote sg (périphérique générique SCSI) manquant dans le kernel, peut-être quelque chose d'autre.

/?\ Je n'ai pas pensé à questionner sur l'éventuel montage ou pas du disque dur. Il semble que le test fonctionne dans les deux cas, et même sur un système en cours de fonctionnement.


Comprendre les options de récupération de données:

J'ai commencé par regarder les vidéos, puis j'ai posé des questions sur la liste. Les vidéos sont certainement explicites pour le développeur mais elles ne l'étaient pas pour moi. Déjà elles passent très vite, ensuite, ne connaissant absolument pas le programme, et ne comprenant pas la différence entre les diverses options, et le niveau d'importance dans le choix de l'une d'elles, j'avais besoin de quelques précisions.

Voici la page des demos:
http://whdd.org/demo/

Des versions moins rapides, et annotées ou sous-titrées en français seraient les bienvenues.

Pour les questions et les réponses sur la liste de discussion, voici:
Citer
> I would need to have details about the copy mode : what does it do exactly when it
> uses the "copy" mode? Does it "repair" sectors, or is it supposed to retrieve data in a
> way or another?

It tries to read (and save) as much as it is able to read. Different reading strategies are available,
which use different orders of reading, you may get their ideas from demo videos and text description
built into WHDD dialogs (see Help button when you choose procedure).

The default one, smart_noreverse, should be good to you - it should proceed quite smartly and fast,
saving the healthy zones first, and try to read all the space.

Traduction:
Citer
> J'aurais besoin de détails à propos du mode "copy" : que fait-il exactement quand il utilise le mode
> "copy" ? Répare-t-il les secteurs, ou est-il supposé récupérer les données d'une manière ou d'une autre ?

Il essaie de lire (et sauver) autant qu'il est capable de lire. Différentes stratégies de lecture sont disponibles,
lequelles utilisent différents ordres de lecture, vous pouvez en avoir une idée d'après les démos vidéo et les
textes de description insérées dans les dialogue de WHDD (voyez le bouton "Help" quand vous choisissez la méthode).

La méthode par défaut, "smart_noreverse", devrait être bien pour vous - elle devrait procéder de manière assez intelligente
et rapide, en sauvegardant les zones saines en premier, et en essayant de lire tout l'espace.

Questions suivantes:
Citer
> Why do the demo videos always use /dev/null as destination for his file ?   I tried to do
> a file twice, (which would be located in a partition where there is a lot of disk space),
> and it ended with zero byte files: is it because I didn't do it the right way, or could it
> rather be because the hard drive is almost dead? (It's lying on cold surface right now,
> and I hope to resume the tests later, hopefully with some more information coming from
> the present list?).

I used /dev/null for demos (and set it to be default) because it allows
you to run it (at last to see what is being done) without having second HDD.
I believe /dev/null is a good default, because this way you cannot screw
up your real HDD by forgetting to edit the string.

The fact your destination file stays zero-length is strange. Couldn't it  be that you mistyped file path?
Did you try absolute path? If procedure runs, then it must be successful writing to your output file.

Traduction:
Citer
> Pourquoi les vidéos de démo utilisent-elles toujours /dev/null comme fichier de destination ? J'ai essayé
> deux fois de créer un fichier, (qui serait placé dans une partition où il y a beaucoup d'espace disque),
> et cela s'est fini avec un fichier faisant zéro bit: est-ce parce que je ne l'ai pas fait de la bonne manière,
> ou cela serait-il plutôt parce que le disque dur est presque mort ? (Il est posé sur une surface froide maintenant,
> et j'espère reprendre les tests plus tard, avec l'espoire d'avoir plus d'informations sur la présente liste ?).

J'ai utilisé /dev/null pour les démos (et je l'ai réglé par défaut) parce que cela permet de l'utiliser (au moins pour voir
ce que ça fait) sans avoir un second disque dur. Je crois que /dev/null est une bonne option par défaut, car
ainsi vous ne pouvez pas mettre la pagaille sur votre vrai disque dur en oubliant d'éditer la chaine de caractères.

Donc, c'est un mode test, à blanc.

Citer
> Happy End of Year !

To you also!

Citer
> Bonne Fin d'Année !

À vous aussi!

C'était le 31 décembre 2013.  :)

Voici un des mails suivants, avec les parties importantes contenant les informations permettant de finir de faire le tour des détails qui comptent:

Citer
> Alright. (Is it normal that it reads the whole drive : /dev/sdc here, and not each partition separately?)

Sure.

> (…)
> I always use absolute paths for cases such as this one. I also paid
> close attention to the
> syntax of the destination directory name. Only I was unsure if I
> should provide a file
> name (…).
>
> This is where I didn't find any information in the integrated help
> menu, nor in the videos you have provided: how is that supposed to be done exactly?

>> If procedure runs, then it must be successful writing to your output file.
>
> Thanks. I'll be waiting for your insight on what file name extension I should give if any?

Any file name will be fine. You can also give it another block device name, like /dev/sda.

> Last but not least, if it would succeed in creating a file, would it have to be mounted
> to loop (ie: as with images done with dd) to get to access the data or does it have to
> be done differently?

If i recall correctly, sth like
losetup -P <something else>
check `man losetup`.

In the end, i suggest you to bring the HDD to a professional if you
really want to recover your data.

Traduction:
Citer
> D'accord. (Est-ce normal qu'il lise tout le disque dur : /dev/sdc dans le cas présent, et pas chaque
partition séparément ?)

Bien sûr.

> (…)
> J'utilise toujours le chemin absolu pour des cas comme celui-là. J'ai aussi fait très attention
> à la syntaxe du nom du répertoire de destination. Seulement je n'étais pas sûre de savoir si je
> devais fournir un nom de fichier. (…)
>
> C'est là que je n'ai trouvé aucune information dans le menu d'aide, ni dans les vidéos que vous
avez fournies : comme cela doit être fait exactement ?

>> If procedure runs, then it must be successful writing to your output file.

Si la procédure se déroule, alors cela doit réussir à écrire dans votre fichier de destination.

> Merci. J'attendrai votre information sur le type d'extension de fichier que je devrai utiliser, si c'est
nécessaire d'en mettre une ?

N'importe quel nom de fichier fera l'affaire. Vous pouvez aussi lui donner un autre nom de périphérique
block comme /dev/sda.

> Enfin pour finir, un détail mais pas des moindres, si la création d'un fichier réussit, devra-t-il être monté
> en loop (ex: comme pour les images faites en utilisant dd) pour accéder aux données, ou cela devra-t-il
> être fait d'une manière différente ?

Si je m'en souviens bien, quelque chose comme I
losetup -P <quelque chose d'autre>. Vérifiez dans `man losetup`.

Enfin, je vous suggère de porter le disque dur auprès d'un professionnel si vous voulez récupérer les données.

Ce n'était pas mon objectif, je le lui ai expliqué dans un mail suivant. Cependant en effet, si les données que vous n'avez
pas sauvegardées à temps vous sont précieuses, vous pouvez trouver des professionnels vous proposant
un diagnostique et devis gratuit pour la récupération en laboratoire. J'ai vu des vidéos et des sites où les tarifs peuvent aller
de 300 à 600 euros. Alors bien sûr, la pertinence de faire faire le boulot en salle blanche dépend de la valeur que vous attachez
à vos données et du prix que vous êtes prêt à payer pour tenter de les récupérer.

Le mieux est de faire ses backups, mais les faisons-nous toujours à temps, et de la manière la meilleure ?

Pour la suite, si la phase de récupération avec WHDD fonctionne, il sera nécessaire d'avoir à nouveau un espace disque de taille identique ou supérieure, monté sur la même machine, d'utiliser losetup, du paquet util-linux, et d'installer multipath-tools, qui contient l'outil  kpartx.

La procédure a été décrite ici:
http://phillw.net/isos/bento-ubuntu-remix/Misc/whdd_howto-access-partitions-of-hdd-saved-with-whdd.txt et aussi retranscrite ici: http://debian-facile.org/viewtopic.php?id=8133

Il y a aussi eu utilisation de fsck.ext4 sur la partition contenant les blocks défectueux. Dans la prochaine opération que je vais faire, je vais travailler sur des systèmes de fichier Ntfs. Dans ce cas, et si je parviens jusqu'à ce stade, je m'interroge sur les possibilités de vérification de système ?  :o

Peut-être ntfsfix pourrait aider, entre deux des étapes finales:
https://doc.ubuntu-fr.org/ntfsfix

Après la mise en ligne de ce post, il s'agira de rebooter Linux avec le disque dur malade installé dans un dock ad'hoc, en e-sata. (C'est ce qui est disponible chez moi, mais si vous branchez le disque dur source dans une tour, c'est bien aussi, du moment que vous avez une place en plus : vous essayerez d'éviter d'utiliser une connexion dotée d'un mode de transfert plus lent, car les disques durs chauffent pas mal pendant les opérations de copie de données).


Good leaders being scarce, following yourself is allowed.

Hors ligne melodie

  • Administrateur
  • Membre Héroïque
  • *****
  • Messages: 1777
    • Citrotux
Re : [WHDD] Récupération de données
« Réponse #2 le: 13 février 2015 à 22:15:21 »
Après le reboot tel qu'indiqué à la fin du post précédent, j'ai pu récupérer 459 Go de données en un seul fichier nommé cette fois whdd-samsung-copy (le développeur avait indiqué qu'on peut lui donner le nom que l'on veut).

Cette récupération est illustrée par un grand nombre de captures d'écran stockées sur cet espace, en attendant un tutoriel complet sur le wiki:
http://linuxvillage.org/wp-content/uploads/images/

Cela a pris en tout 110 minutes, soit 1 heure 50 minutes, en utilisant une tour dotée de 4 Go de RAM et d'un processeur AMD/système 64bits:
Citer
AMD Athlon(tm) II X2 260
Vitesse du processeur en MHz : 1900.000
Vitesse maximale du processeur en MHz : 3200,0000
Vitesse minimale du processeur en MHz : 800,0000

Donc, la suite, l'inconnue, c'était le montage de partitions Ntfs contenues dans le fichier où les données ont été récupérées.

Un disque dur neuf, de 1 To a été doté d'une table de partitions et formaté en ext4, puis monté:
$ pwd
/run/media/joyce
$
$ ls -l
total 8
drwx------ 3 joyce joyce 4096 10 févr. 03:52 Sauvegardes
drwxr-xr-x 3 root  root  4096 13 févr. 18:05 data
$


le dossier Sauvegardes contient le fichier whdd-samsung-copy tandis que le dossier data contiendra des dossiers pour les points de montage, puis un dossier où seront copié les fichiers contenus dans les points de montage.

Ensuite, il suffit de suivre le tutoriel rédigé l'an dernier par MicP sur le wiki Debian-facile:
http://wiki.debian-facile.org/doc:materiel:disques-durs:recuperation-de-donnees-disque-endomage?s%5B%5D=whdd

Sous Archlinux, kpartx n'est pas disponible en tant que paquet, mais intégré à une suite d'outils:
$ yaourt kpartx
1 aur/multipath-tools 0.5.0-1 [installed] (28)
    Multipath tools for Linux (including kpartx)

J'ai donc installé multipath-tools, et suivi le conseil du message post-installation: j'ai chargé le module dm_multipath qui est disponible dans le kernel (mais pas compilé en dur).
# modprobe dm_multipath
quand aux options de /etc/multipath.conf celles par défaut convenaient.

Ensuite, création de répertoires correspondant aux futurs points de montage, utilisation de losetup pour créer un périphérique loop, puis de kpartx pour "détacher" les partitions contenues dans le fichier de données, et montage de ces partitions sur les répertoires dédiés aux points de montage. Suite des commandes, en gros et à la louche:
[root@squirrel data]# pwd
/run/media/joyce/data
[root@squirrel data]# mkdir sdc1 sdc2 sdc3
[root@squirrel data]# ls -l
total 28
drwx------ 2 root root 16384 13 févr. 18:05 lost+found
drwxr-xr-x 2 root root  4096 13 févr. 18:07 sdc1
drwxr-xr-x 2 root root  4096 13 févr. 18:07 sdc2
drwxr-xr-x 2 root root  4096 13 févr. 18:07 sdc3
[root@squirrel data]# cd ../
[root@squirrel joyce]# ls
Sauvegardes  data
[root@squirrel joyce]# cd Sauvegardes/
[root@squirrel Sauvegardes]# ls -l
total 480501560
drwx------ 2 root root        16384  3 mai    2014 lost+found
-rw------- 1 root root 500106780160 10 févr. 05:58 whdd-samsung-copy
[root@squirrel Sauvegardes]# losetup /dev/loop0 whdd-samsung-copy
[root@squirrel Sauvegardes]# ls -l
total 480501560
drwx------ 2 root root        16384  3 mai    2014 lost+found
-rw------- 1 root root 500106780160 10 févr. 05:58 whdd-samsung-copy
[root@squirrel Sauvegardes]# ls -l /dev/mapper/
total 0
crw------- 1 root root 10, 236 13 févr. 18:00 control
[root@squirrel Sauvegardes]# pacman -S multipath-tools
erreur : impossible de trouver la cible : multipath-tools
[root@squirrel Sauvegardes]# pacman -S kpartx
erreur : impossible de trouver la cible : kpartx
[root@squirrel Sauvegardes]# kpartx -a
usage : kpartx [-a|-d|-l] [-f] [-v] wholedisk
-a add partition devmappings
-r devmappings will be readonly
-d del partition devmappings
-u update partition devmappings
-l list partitions devmappings that would be added by -a
-p set device name-partition number delimiter
-g force GUID partition table (GPT)
-f force devmap create
-v verbose
-s sync mode. Don't return until the partitions are created
[root@squirrel Sauvegardes]# ls -l
total 480501560
drwx------ 2 root root        16384  3 mai    2014 lost+found
-rw------- 1 root root 500106780160 10 févr. 05:58 whdd-samsung-copy
[root@squirrel Sauvegardes]# ls -l /dev/mapper/
total 0
crw------- 1 root root 10, 236 13 févr. 18:11 control
[root@squirrel Sauvegardes]# kpartx -l
usage : kpartx [-a|-d|-l] [-f] [-v] wholedisk
-a add partition devmappings
-r devmappings will be readonly
-d del partition devmappings
-u update partition devmappings
-l list partitions devmappings that would be added by -a
-p set device name-partition number delimiter
-g force GUID partition table (GPT)
-f force devmap create
-v verbose
-s sync mode. Don't return until the partitions are created
[root@squirrel Sauvegardes]# man kpartx x
Aucune entrée de manuel pour x
[root@squirrel Sauvegardes]# kpartx -a whdd-samsung-copy
[root@squirrel Sauvegardes]# ls -l
total 480501560
drwx------ 2 root root        16384  3 mai    2014 lost+found
-rw------- 1 root root 500106780160 10 févr. 05:58 whdd-samsung-copy
[root@squirrel Sauvegardes]# ls -l /dev/mapper/
total 0
crw------- 1 root root 10, 236 13 févr. 18:11 control
lrwxrwxrwx 1 root root       7 13 févr. 18:15 loop1p1 -> ../dm-0
lrwxrwxrwx 1 root root       7 13 févr. 18:15 loop1p2 -> ../dm-1
lrwxrwxrwx 1 root root       7 13 févr. 18:15 loop1p3 -> ../dm-2
lrwxrwxrwx 1 root root       7 13 févr. 18:15 loop1p5 -> ../dm-3
[root@squirrel Sauvegardes]# ls /dev/dm-0
/dev/dm-0
[root@squirrel Sauvegardes]# mount /dev/mapper/loop1p1 /run/media/joyce/data/sdc0/
[root@squirrel Sauvegardes]# mount /dev/mapper/loop1p2 /run/media/joyce/data/sdc1/
[root@squirrel Sauvegardes]# mount /dev/mapper/loop1p3 /run/media/joyce/data/sdc2
mount: mauvais type de système de fichiers, option erronée, superbloc erroné
        sur /dev/mapper/loop1p3, page de code ou programme auxiliaire manquant, ou autre erreur

        Dans certains cas des renseignements utiles sont dans le journal
        système — essayez « dmesg | tail » ou quelque chose du genre.
[root@squirrel Sauvegardes]# mount /dev/mapper/loop1p5 /run/media/joyce/data/sdc3
[root@squirrel Sauvegardes]# dmesg | tail
[  332.397339] systemd[1]: Reached target Slices.
[  332.397371] systemd[1]: Started Journal Service.
[  335.443302] EXT4-fs (sdc1): mounted filesystem with ordered data mode. Opts: (null)
[  502.968741] loop: module loaded
[  687.039617] device-mapper: uevent: version 1.0.3
[  687.039727] device-mapper: ioctl: 4.28.0-ioctl (2014-09-17) initialised: dm-devel@redhat.com
[  687.055289] device-mapper: multipath: version 1.7.0 loaded
[ 1135.126655] EXT4-fs (dm-2): unable to read superblock
[ 1135.126699] EXT4-fs (dm-2): unable to read superblock
[ 1135.126728] EXT4-fs (dm-2): unable to read superblock
[root@squirrel Sauvegardes]# mount /dev/mapper/loop1p3 /run/media/joyce/data/sdc2
mount: mauvais type de système de fichiers, option erronée, superbloc erroné
        sur /dev/mapper/loop1p3, page de code ou programme auxiliaire manquant, ou autre erreur

        Dans certains cas des renseignements utiles sont dans le journal
        système — essayez « dmesg | tail » ou quelque chose du genre.
[root@squirrel Sauvegardes]# dmesg | tail
[  502.968741] loop: module loaded
[  687.039617] device-mapper: uevent: version 1.0.3
[  687.039727] device-mapper: ioctl: 4.28.0-ioctl (2014-09-17) initialised: dm-devel@redhat.com
[  687.055289] device-mapper: multipath: version 1.7.0 loaded
[ 1135.126655] EXT4-fs (dm-2): unable to read superblock
[ 1135.126699] EXT4-fs (dm-2): unable to read superblock
[ 1135.126728] EXT4-fs (dm-2): unable to read superblock
[ 1586.453081] EXT4-fs (dm-2): unable to read superblock
[ 1586.453163] EXT4-fs (dm-2): unable to read superblock
[ 1586.453325] EXT4-fs (dm-2): unable to read superblock
[root@squirrel Sauvegardes]#

Il y a à l'évidence un problème sur une des partitions (ce n'était pas inattendu).

Il y a eu ensuite copie depuis les deux premiers points de montage, vers un nouveau dossier du disque dur de 1 To, (en root, avec "cp -r -v <point_de_montage> <dossier_de_destination>").

Il reste un point de montage sur lequel il serait bon de tenter une réparation de système de fichier. Seulement, faire cela depuis un système Linux, vers une partition Ntfs, ce n'est pas évident, selon les premières recherches effectuées.

Les options des programmes ntfs installés dans mon système:
ntfs-3g           ntfs-3g.secaudit  ntfscat           ntfsclone         ntfscmp           ntfsdump_logfile  ntfsinfo          ntfsls            ntfsmove          ntfstruncate      ntfswipe         
ntfs-3g.probe     ntfs-3g.usermap   ntfsck            ntfscluster       ntfscp            ntfsfix           ntfslabel         ntfsmftalloc      ntfsresize        ntfsundelete

ntfsck et ou ntfsfix pourraient être utiles. Je continuerai les recherches de ce côté, avant de tenter, et éventuellement d'abandonner.

J'ai lu qu'une de ces commandes pourrait permettre de modifier le système de fichiers Ntfs de sorte à forcer une vérification et réparation par Windows, mais, c'est un Windows XP, et la carte mère aussi a lâché. Ne disposant pas d'une tour aux caractéristiques identiques, le Windows ne voudra probablement pas reconnaître le matériel (cela ne coûtera rien d'essayer, ce qui sera fait en dernier recours).

Good leaders being scarce, following yourself is allowed.

Hors ligne melodie

  • Administrateur
  • Membre Héroïque
  • *****
  • Messages: 1777
    • Citrotux
Re : [WHDD] Récupération de données
« Réponse #3 le: 14 février 2015 à 00:51:26 »
J'avais oublié la petite commande sympathique "fdisk -l":

# fdisk -l whdd-samsung-copy

Disque whdd-samsung-copy : 465,8 GiB, 500106780160 octets, 976771055 secteurs
Unités : secteur de 1 × 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 512 octets
taille d'E/S (minimale / optimale) : 512 octets / 512 octets
Type d'étiquette de disque : dos
Identifiant de disque : 0xb199d735

Device             Boot     Start       End   Sectors   Size Id Type
whdd-samsung-copy1 *           63 409625369 409625307 195,3G  7 HPFS/NTFS/exFAT
whdd-samsung-copy2      409625370 971305964 561680595 267,9G  7 HPFS/NTFS/exFAT
whdd-samsung-copy3      971305965 976768064   5462100   2,6G  5 Extended
whdd-samsung-copy5      971306028 976768064   5462037   2,6G bc inconnu

Magnifique : la partition numérotée "3", qui correspond au point de montage "lrwxrwxrwx 1 root root       7 13 févr. 18:15 loop1p3 -> ../dm-2" est en fait une partition étendue ce qui veut dire, en clair, qu'il n'y avait aucune partition inaccessible !

Voyez:
# mount /dev/mapper/loop1p3 /run/media/joyce/data/sdc2
mount: mauvais type de système de fichiers, option erronée, superbloc erroné
        sur /dev/mapper/loop1p3, page de code ou programme auxiliaire manquant, ou autre erreur

        Dans certains cas des renseignements utiles sont dans le journal
        système — essayez « dmesg | tail » ou quelque chose du genre.
[root@squirrel Sauvegardes]# dmesg | tail
[  502.968741] loop: module loaded
[  687.039617] device-mapper: uevent: version 1.0.3
[  687.039727] device-mapper: ioctl: 4.28.0-ioctl (2014-09-17) initialised: dm-devel@redhat.com
[  687.055289] device-mapper: multipath: version 1.7.0 loaded
[ 1135.126655] EXT4-fs (dm-2): unable to read superblock
[ 1135.126699] EXT4-fs (dm-2): unable to read superblock
[ 1135.126728] EXT4-fs (dm-2): unable to read superblock
[ 1586.453081] EXT4-fs (dm-2): unable to read superblock
[ 1586.453163] EXT4-fs (dm-2): unable to read superblock
[ 1586.453325] EXT4-fs (dm-2): unable to read superblock
#

Alors que la partition "lrwxrwxrwx 1 root root       7 13 févr. 18:15 loop1p5 -> ../dm-3" a bien été accessible (ce serait /dev/sdc5, une partition cachée dans une étendue, et contenant "je ne sais quoi" appartenant à Windows).

Dans le disque dur de 1 To, sous le répertoire "sdc3" (que j'aurais pu aussi bien nommer sdc5 si j'avais su qu'il y avait une partition cachée):
# ls -l sdc3/
total 1665088
-rwxr-xr-x 1 root root          0  7 juil.  2007 7E2F0537_E793_4461_B7B6_73A47574E9C1
-rwxr-xr-x 1 root root 1705048778  7 juil.  2007 AAA.TIB
#

Je supposerai que c'est en fait celle qui a un label "Acronis".

Et voilà, tout a en fait été récupéré ! \o/ Enfin, au moins les blocks que whdd a pu lire. Voir sur la dernière capture, le nombre de "read error" marqués d'une croix rouge:
http://linuxvillage.org/wp-content/uploads/images/whdd24.png

Good leaders being scarce, following yourself is allowed.