Dying/Dead Hard drive with encrypted partition

Not sure if this is the correct place to post this, but please move if it is not.

So I have an hd which broke the other day, dropped the laptop while it was spinning and guessing I killed some sectors on it. I can mount and pull data off of all the other partitions but the encrypted one. It worked, ever so shortly once after the drop happened, but since then I got sector errors on boot (and it ended with saying I needed to run fsck on the drive manually). So I got a new SSD but want to try and recover my data off of the encrypted drive. So I have it plugged into a sata->usb enclosure I have but when I try to mount it after giving the proper password I get the following message “An error occurred while accessing ‘120.1 GiB Encrypted Container’, the system responded: The device is currently busy.: One or more block devices are holding /dev/sdh7”

After looking it up I found some other information and tried what I found but still without luck. Below is the output of several commands, I have removed some information from the output.


> sudo mount /dev/sdh7 /mnt/newDrive/
mount: unknown filesystem type 'crypto_LUKS'


>sudo /sbin/cryptsetup luksDump /dev/sdh7
LUKS header information for /dev/sdh7

Version:        1
Cipher name:    aes
Cipher mode:    cbc-essiv:sha256
Hash spec:      sha1
Payload offset: 4096
MK bits:        256
MK digest:      <REMOVED> 
MK salt:        <REMOVED>
MK iterations:  47250
UUID:           <REMOVED>

Key Slot 0: ENABLED
        Iterations:             189419
        Salt:                   <REMOVED> 
        Key material offset:    8
        AF stripes:             4000
Key Slot 1: DISABLED
Key Slot 2: DISABLED
Key Slot 3: DISABLED
Key Slot 4: DISABLED
Key Slot 5: DISABLED
Key Slot 6: DISABLED
Key Slot 7: DISABLED
> sudo /sbin/cryptsetup luksOpen /dev/sdh7 cryptdisc
Enter passphrase for /dev/sdh7: 

>mount /dev/mapper/cryptdisc /mnt/newDrive/
mount: wrong fs type, bad option, bad superblock on /dev/mapper/cryptdisc,
       missing codepage or helper program, or other error
       In some cases useful info is found in syslog - try
       dmesg | tail  or so

Some output from dmesg


[1735750.057968] usb 1-5: USB disconnect, device number 15
[1735765.990027] usb 1-5: new high speed USB device number 17 using ehci_hcd
[1735766.107789] usb 1-5: New USB device found, idVendor=1bcf, idProduct=0c31
[1735766.107793] usb 1-5: New USB device strings: Mfr=2, Product=3, SerialNumber=1
[1735766.107796] usb 1-5: Product: USB to Serial-ATA bridge
[1735766.107797] usb 1-5: Manufacturer: Sunplus Innovation Technology.
[1735766.107799] usb 1-5: SerialNumber: FFFACFF0FF000000E3834563F82F4F
[1735766.109754] scsi17 : usb-storage 1-5:1.0
[1735767.392375] scsi 17:0:0:0: Direct-Access     HITACHI  HTS723232A7A364       PQ: 0 ANSI: 4
[1735767.392625] sd 17:0:0:0: Attached scsi generic sg8 type 0
[1735767.395607] sd 17:0:0:0: [sdh] 625142448 512-byte logical blocks: (320 GB/298 GiB)
[1735767.401854] sd 17:0:0:0: [sdh] Write Protect is off
[1735767.401856] sd 17:0:0:0: [sdh] Mode Sense: 38 00 00 00
[1735767.408470] sd 17:0:0:0: [sdh] No Caching mode page present
[1735767.408472] sd 17:0:0:0: [sdh] Assuming drive cache: write through
[1735767.423481] sd 17:0:0:0: [sdh] No Caching mode page present
[1735767.423484] sd 17:0:0:0: [sdh] Assuming drive cache: write through
[1735767.821214]  sdh: sdh1 sdh2 sdh3 sdh4 < sdh5 sdh6 sdh7 sdh8 sdh9 >
[1735767.840202] sd 17:0:0:0: [sdh] No Caching mode page present
[1735767.840205] sd 17:0:0:0: [sdh] Assuming drive cache: write through
[1735767.840208] sd 17:0:0:0: [sdh] Attached SCSI disk
[1735798.282345] sd 17:0:0:0: [sdh] Unhandled sense code
[1735798.282350] sd 17:0:0:0: [sdh]  Result: hostbyte=invalid driverbyte=DRIVER_SENSE
[1735798.282353] sd 17:0:0:0: [sdh]  Sense Key : Medium Error [current] 
[1735798.282356] sd 17:0:0:0: [sdh]  Add. Sense: Unrecovered read error
[1735798.282360] sd 17:0:0:0: [sdh] CDB: Read(10): 28 00 1b d0 ea d0 00 00 08 00
[1735798.282366] end_request: critical target error, dev sdh, sector 466676432
[1735798.282402] JBD: Failed to read block at offset 90
[1735798.282412] JBD: recovery failed
[1735798.282416] EXT4-fs (dm-0): error loading journal
[1735800.908203] sd 17:0:0:0: [sdh] Unhandled sense code
[1735800.908208] sd 17:0:0:0: [sdh]  Result: hostbyte=invalid driverbyte=DRIVER_SENSE
[1735800.908211] sd 17:0:0:0: [sdh]  Sense Key : Medium Error [current] 
[1735800.908214] sd 17:0:0:0: [sdh]  Add. Sense: Unrecovered read error
[1735800.908218] sd 17:0:0:0: [sdh] CDB: Read(10): 28 00 1b d0 ea d8 00 00 f0 00
[1735800.908224] end_request: critical target error, dev sdh, sector 466676440
[1736070.703854] sd 17:0:0:0: [sdh] Unhandled sense code
[1736070.703859] sd 17:0:0:0: [sdh]  Result: hostbyte=invalid driverbyte=DRIVER_SENSE
[1736070.703862] sd 17:0:0:0: [sdh]  Sense Key : Medium Error [current] 
[1736070.703865] sd 17:0:0:0: [sdh]  Add. Sense: Unrecovered read error
[1736070.703869] sd 17:0:0:0: [sdh] CDB: Read(10): 28 00 14 51 23 f0 00 00 f0 00
[1736070.703875] end_request: critical target error, dev sdh, sector 340861936
[1736070.703879] Buffer I/O error on device sdh7, logical block 35198
[1736070.703886] Buffer I/O error on device sdh7, logical block 35199
[1736070.703888] Buffer I/O error on device sdh7, logical block 35200
[1736070.703890] Buffer I/O error on device sdh7, logical block 35201
[1736070.703892] Buffer I/O error on device sdh7, logical block 35202
[1736070.703894] Buffer I/O error on device sdh7, logical block 35203
[1736070.703896] Buffer I/O error on device sdh7, logical block 35204
[1736070.703898] Buffer I/O error on device sdh7, logical block 35205
[1736070.703900] Buffer I/O error on device sdh7, logical block 35206
[1736073.128712] sd 17:0:0:0: [sdh] Unhandled sense code
[1736073.128716] sd 17:0:0:0: [sdh]  Result: hostbyte=invalid driverbyte=DRIVER_SENSE
[1736073.128719] sd 17:0:0:0: [sdh]  Sense Key : Medium Error [current] 
[1736073.128722] sd 17:0:0:0: [sdh]  Add. Sense: Unrecovered read error
[1736073.128726] sd 17:0:0:0: [sdh] CDB: Read(10): 28 00 14 51 24 e0 00 00 10 00
[1736073.128731] end_request: critical target error, dev sdh, sector 340862176
[1736075.587574] sd 17:0:0:0: [sdh] Unhandled sense code
[1736075.587579] sd 17:0:0:0: [sdh]  Result: hostbyte=invalid driverbyte=DRIVER_SENSE
[1736075.587582] sd 17:0:0:0: [sdh]  Sense Key : Medium Error [current] 
[1736075.587585] sd 17:0:0:0: [sdh]  Add. Sense: Unrecovered read error
[1736075.587589] sd 17:0:0:0: [sdh] CDB: Read(10): 28 00 14 51 24 f0 00 00 f0 00
[1736075.587595] end_request: critical target error, dev sdh, sector 340862192
[1736078.020433] sd 17:0:0:0: [sdh] Unhandled sense code
[1736078.020437] sd 17:0:0:0: [sdh]  Result: hostbyte=invalid driverbyte=DRIVER_SENSE
[1736078.020440] sd 17:0:0:0: [sdh]  Sense Key : Medium Error [current] 
[1736078.020443] sd 17:0:0:0: [sdh]  Add. Sense: Unrecovered read error
[1736078.020447] sd 17:0:0:0: [sdh] CDB: Read(10): 28 00 14 51 24 00 00 00 08 00
[1736078.020453] end_request: critical target error, dev sdh, sector 340861952
[1736078.020456] quiet_error: 53 callbacks suppressed
[1736078.020459] Buffer I/O error on device sdh7, logical block 35200
[1736102.662034] sd 17:0:0:0: [sdh] Unhandled sense code
[1736102.662038] sd 17:0:0:0: [sdh]  Result: hostbyte=invalid driverbyte=DRIVER_SENSE
[1736102.662041] sd 17:0:0:0: [sdh]  Sense Key : Medium Error [current] 
[1736102.662045] sd 17:0:0:0: [sdh]  Add. Sense: Unrecovered read error
[1736102.662048] sd 17:0:0:0: [sdh] CDB: Read(10): 28 00 14 51 24 00 00 00 08 00
[1736102.662054] end_request: critical target error, dev sdh, sector 340861952
[1736102.662059] Buffer I/O error on device sdh7, logical block 35200
[1736115.496303] sd 17:0:0:0: [sdh] Unhandled sense code
[1736115.496307] sd 17:0:0:0: [sdh]  Result: hostbyte=invalid driverbyte=DRIVER_SENSE
[1736115.496310] sd 17:0:0:0: [sdh]  Sense Key : Medium Error [current] 
[1736115.496313] sd 17:0:0:0: [sdh]  Add. Sense: Unrecovered read error
[1736115.496317] sd 17:0:0:0: [sdh] CDB: Read(10): 28 00 14 51 24 00 00 00 08 00
[1736115.496323] end_request: critical target error, dev sdh, sector 340861952
[1736115.496327] Buffer I/O error on device sdh7, logical block 35200

output of fdisk


fdisk -l /dev/sdh

Disk /dev/sdh: 320.1 GB, 320072933376 bytes
255 heads, 63 sectors/track, 38913 cylinders, total 625142448 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
Disk identifier: 0x33f3a78b

   Device Boot      Start         End      Blocks   Id  System
/dev/sdh1            2048     2459647     1228800    7  HPFS/NTFS/exFAT
/dev/sdh2         2459648   172893006    85216679+   7  HPFS/NTFS/exFAT
/dev/sdh3       592371712   625139711    16384000    7  HPFS/NTFS/exFAT
/dev/sdh4   *   172894206   592349183   209727489    f  W95 Ext'd (LBA)
/dev/sdh5       231518208   235722751     2102272   82  Linux swap / Solaris
/dev/sdh6       235724800   340578303    52426752   83  Linux
/dev/sdh7       340580352   592349183   125884416   83  Linux    <------------------This is the partition I am working on
/dev/sdh8       172894208   229007359    28056576   83  Linux
/dev/sdh9       229009408   231512063     1251328   82  Linux swap / Solaris

Any ideas of what all I can try or am I SOL on this? Ive also tried using dd to clone that partition but it breaks after about 142MB due to a read error.

This happens regardless of whether I try to dd the raw partition or the mapped one.

dd if=/dev/mapper/test of=laptopcrypt.img 
dd: reading `/dev/mapper/test': Input/output error
277504+0 records in
277504+0 records out
142082048 bytes (142 MB) copied, 14.512 s, 9.8 MB/s

I’m not sure what you were trying to do there.

Here’s what I would have tried:


cryptsetup luksOpen --readonly /dev/sdh7 baddisk  ## you could use any name, instead of "baddisk"
## that should prompt for a password/key/whatever.  If that succeeds, then:
mount -o ro /dev/mapper/baddisk /mnt

and then try to recover what you can.

If the crypto header is not too badly damaged, the cryptsetup should succeed. And then you can see what you can find on the disk.

When dealing with damaged disks, it is always best to try readonly access, as you are more likely to run into fatal errors with attempts to write to the disk. For readonly access, it should allow mount even if a needed fsck has not been done.

If the crypto header is badly damaged, you might be out of luck.

Well … you could try to mount with “mount -o norecovery”. This may give you chance to access some data. But please understand - depending on which blocks are damaged, it may still be impossible.

And whatever you do - make partition image first (e.g. using dd_rescue) and make any experiment with copy of this image. Anything you do with actual partition may further corrupt it and you may not get second chance to make a copy of it.

I would go for the backup straight away. Then recovery would probably even be quicker then starting this thread.

On 2013-01-01 07:16, baaldemon wrote:

> Any ideas of what all I can try or am I SOL on this? Ive also tried
> using dd to clone that partition but it breaks after about 142MB due to
> a read error.

Use dd_rescue instead.


Cheers / Saludos,

Carlos E. R.
(from 11.4, with Evergreen, x86_64 “Celadon” (Minas Tirith))

I did not know about dd_rescue I will have to remember that for the future. I was able to mount using the norecovery option and was able to pull off most of the data
52199132 -> Size being recovered
52198184 -> Actual size recovered

Doesnt look like anything that was missed was anything I was necessarily worried about. Thanks for the help.