Done as root: # losetup /dev/loop0 whdd-copy-mode // where whdd-copy-mode is the file pulled out of the dying HDD /dev/sdc with WHDD. * Installed multipath-tools which contains kpartx; done as root: # kpartx -a Which allowed accessing to the partitions of the whdd-copy-mode image disk: # ls -l /dev/mapper/ total 0 crw------- 1 root root 10, 236 1 janv. 20:52 control lrwxrwxrwx 1 root root 7 1 janv. 20:52 loop0p1 -> ../dm-0 lrwxrwxrwx 1 root root 7 1 janv. 20:52 loop0p2 -> ../dm-1 lrwxrwxrwx 1 root root 7 1 janv. 20:52 loop0p3 -> ../dm-2 lrwxrwxrwx 1 root root 7 1 janv. 20:52 loop0p4 -> ../dm-3 lrwxrwxrwx 1 root root 7 1 janv. 20:52 loop0p5 -> ../dm-4 lrwxrwxrwx 1 root root 7 1 janv. 20:52 loop0p6 -> ../dm-5 # Created some directories under /mnt to mount each partition: [root@squirrel mnt]# ls -l sdc/ sdc/: 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 sdc2 drwxr-xr-x 2 root root 4096 1 janv. 21:01 sdc3 drwxr-xr-x 2 root root 4096 1 janv. 21:01 sdc4 drwxr-xr-x 2 root root 4096 1 janv. 21:01 sdc5 drwxr-xr-x 2 root root 4096 1 janv. 21:01 sdc6 [root@squirrel mnt]# Some devices from /dev/mapper fail to be mounted: # mount /dev/mapper/loop0p1 /mnt/sdc/sdc1 mount: wrong fs type, bad option, bad superblock on /dev/mapper/loop0p1, missing codepage or helper program, or other error In some cases useful info is found in syslog - try dmesg | tail or so. # # mount /dev/mapper/loop0p2 /mnt/sdc/sdc2 # # mount /dev/mapper/loop0p3 /mnt/sdc/sdc3 # # mount /dev/mapper/loop0p4 /mnt/sdc/sdc4 mount: wrong fs type, bad option, bad superblock on /dev/mapper/loop0p4, missing codepage or helper program, or other error In some cases useful info is found in syslog - try dmesg | tail or so. # # # mount /dev/mapper/loop0p5 /mnt/sdc/sdc5 mount: unknown filesystem type 'swap' # mount /dev/mapper/loop0p6 /mnt/sdc/sdc6 # Of course "loop0p5" is the swap partition, which we don't care about. The two partitions which we might want to repare are the one which is related to sdc1 (here loop0p1) and sdc4 (here loop0p4). The partitions related to sdc2 and sdc6 do mount fine and their content can be accessed. Next step will be trying to repair the 2 partitions which trigger the errors, with fsck.ext4. Trying the '-n' option first, which works in reading mode only shows there are errors which need to be corrected. However only one partition needs to be checked and if possible fixed. We can see it with "fdisk -l" (invoked as root because the hdd file belongs to root) # fdisk -l whdd-copy-mode Disk whdd-copy-mode: 37.3 GiB, 40020664320 bytes, 78165360 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0xace22e9e Device Boot Start End Blocks Id System whdd-copy-mode1 57993214 78163967 10085377 5 Extended whdd-copy-mode2 2048 16386047 8192000 83 Linux whdd-copy-mode3 * 16386048 30726143 7170048 83 Linux whdd-copy-mode4 30726144 57991167 13632512 83 Linux whdd-copy-mode5 57993216 64342015 3174400 82 Linux swap / Solaris whdd-copy-mode6 64344064 78163967 6909952 83 Linux Partition table entries are not in disk order. # The partition number 1 is an extended partition containing the other ones. Therefor the "wrong fs type" error from the mount command on /dev/mapper/loop0p1 should be normal. # cd /dev/mapper/ # ls -l total 0 crw------- 1 root root 10, 236 1 janv. 20:52 control lrwxrwxrwx 1 root root 7 1 janv. 20:52 loop0p1 -> ../dm-0 lrwxrwxrwx 1 root root 7 1 janv. 20:52 loop0p2 -> ../dm-1 lrwxrwxrwx 1 root root 7 1 janv. 20:52 loop0p3 -> ../dm-2 lrwxrwxrwx 1 root root 7 1 janv. 20:52 loop0p4 -> ../dm-3 lrwxrwxrwx 1 root root 7 1 janv. 20:52 loop0p5 -> ../dm-4 lrwxrwxrwx 1 root root 7 1 janv. 20:52 loop0p6 -> ../dm-5 # # LANG=C fsck.ext4 -n loop0p4 See the fsck.txt file for the content, which is quite long → http://meets.free.fr/Downloads/whdd-file-partition-fsck.txt # Now, the real job: # fsck.ext4 -f -y loop0p4 ... (many messages) # Done: # fsck.ext4 -n loop0p4 | more e2fsck 1.42.8 (20-Jun-2013) home-buntu : propre, 234476/848640 fichiers, 2178724/3407872 blocs # (it says the partition is clean). Therefore: # mount loop0p4 /mnt/sdc/sdc4/ # cd /mnt/sdc/sdc4/ # ls -l Everything's there! \o/! All my partitions saved. Hurrah!