HELP! SDHC corrupt - not even seen by windows

Page 2 - Seeking answers? Join the AnandTech community: where nearly half-a-million members share solutions and discuss the latest tech.

Elixer

Lifer
May 7, 2002
10,371
762
126
What you should have done is in linux you do a blind copy (dd or dd_rescue depending on if it can read the media or not) into a file. Then you have any data that can be processed available.
Now, you can make a virtual drive from that image, and run testdisk on it.
Depending if it finds anything, the next step is to try one of the utilities that searches data for image formats.

Normally, a corrupted card will still show up in linux/windows, they will show up as raw partition or something like that. If it can't even detect the card, like Cerb says, then, assuming it isn't a hardware issue with the reader itself, then take it to the pros.

That said, the pros have more sophisticated recovery techniques that may help, but, this also depends if the media is damaged in some way or not.
It is expensive though.
 

ashetos

Senior member
Jul 23, 2013
254
14
76
What you should have done is in linux you do a blind copy (dd or dd_rescue depending on if it can read the media or not) into a file. Then you have any data that can be processed available.
Now, you can make a virtual drive from that image, and run testdisk on it.
Depending if it finds anything, the next step is to try one of the utilities that searches data for image formats.

Normally, a corrupted card will still show up in linux/windows, they will show up as raw partition or something like that. If it can't even detect the card, like Cerb says, then, assuming it isn't a hardware issue with the reader itself, then take it to the pros.

That said, the pros have more sophisticated recovery techniques that may help, but, this also depends if the media is damaged in some way or not.
It is expensive though.

+1 on using ddrescue. It's not easy to do if you're not familiar with linux though. You'll probably need a whole day doing research on how to use it correctly.

The fact that Computer Management in Windows takes like 10 minutes to even load smells like I/O errors are generated from the device. This always happens to me in Windows when I use bad HDDs.

Seems like your PC detects the card but cannot effectively use it due to these errors. So, I wouldn't say your PC ignores the existence of the card, it's just that Windows cannot do anything with it. Proof is the slowness in Computer Management.

You could investigate the nature of the I/O errors in linux. Try booting into linux, open a terminal and become the root user. Run:
# dmesg -c
Now insert the card and run:
# dmesg
This is the kernel log and there should be some printouts that describe the nature of the device errors.
 

NAC

Golden Member
Dec 30, 2000
1,105
11
81
I couldn't figure out where the data is on the dmesg log file.


I was able to look through the syslog file, and see the data when the card is inserted. I pasted from the syslog file below.

ov 19 01:32:52 ubuntu kernel: [ 1818.047343] sd 10:0:0:2: [sdi] Spinning up disk...
Nov 19 01:34:23 ubuntu kernel: [ 1908.407136] sd 10:0:0:2: [sdi] Spinning up disk...
Nov 19 01:34:24 ubuntu kernel: [ 1819.048670] ...............................................
Nov 19 01:36:03 ubuntu kernel: [ 1909.408264] ........................................................not responding...
Nov 19 01:36:04 ubuntu kernel: [ 2009.852732] sd 10:0:0:2: [sdi] READ CAPACITY failed
Nov 19 01:36:04 ubuntu kernel: [ 2009.852738] sd 10:0:0:2: [sdi]
Nov 19 01:36:04 ubuntu kernel: [ 2009.852741] Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
Nov 19 01:36:04 ubuntu kernel: [ 2009.852744] sd 10:0:0:2: [sdi]
Nov 19 01:36:04 ubuntu kernel: [ 2009.852745] Sense Key : Not Ready [current]
Nov 19 01:36:04 ubuntu kernel: [ 2009.852750] sd 10:0:0:2: [sdi]
Nov 19 01:36:04 ubuntu kernel: [ 2009.852754] Add. Sense: Logical unit is in process of becoming ready
Nov 19 01:36:04 ubuntu kernel: [ 2010.122654] sd 10:0:0:2: [sdi] Test WP failed, assume Write Enabled
Nov 19 01:36:05 ubuntu kernel: [ 2010.392641] sd 10:0:0:2: [sdi] Asking for cache data failed
Nov 19 01:36:05 ubuntu kernel: [ 2010.392647] sd 10:0:0:2: [sdi] Assuming drive cache: write through
Nov 19 01:36:06 ubuntu kernel: [ 2011.474405] sd 10:0:0:2: [sdi] Spinning up disk...
Nov 19 01:37:46 ubuntu kernel: [ 2012.476538] ........................................................not responding...
Nov 19 01:37:47 ubuntu kernel: [ 2112.899905] sd 10:0:0:2: [sdi] READ CAPACITY failed
Nov 19 01:37:47 ubuntu kernel: [ 2112.899911] sd 10:0:0:2: [sdi]
Nov 19 01:37:47 ubuntu kernel: [ 2112.899914] Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
Nov 19 01:37:47 ubuntu kernel: [ 2112.899916] sd 10:0:0:2: [sdi]
Nov 19 01:37:47 ubuntu kernel: [ 2112.899918] Sense Key : Not Ready [current]
Nov 19 01:37:47 ubuntu kernel: [ 2112.899922] sd 10:0:0:2: [sdi]
Nov 19 01:37:47 ubuntu kernel: [ 2112.899926] Add. Sense: Logical unit is in process of becoming ready
Nov 19 01:37:48 ubuntu kernel: [ 2113.168622] sd 10:0:0:2: [sdi] Test WP failed, assume Write Enabled
Nov 19 01:37:48 ubuntu kernel: [ 2113.438598] sd 10:0:0:2: [sdi] Asking for cache data failed
Nov 19 01:37:48 ubuntu kernel: [ 2113.438604] sd 10:0:0:2: [sdi] Assuming drive cache: write through
Nov 19 01:37:49 ubuntu kernel: [ 2114.519698] sd 10:0:0:2: [sdi] Spinning up disk...
Nov 19 01:39:30 ubuntu kernel: [ 2115.520802] ........................................................not responding...
Nov 19 01:39:30 ubuntu kernel: [ 2215.923001] sd 10:0:0:2: [sdi] READ CAPACITY failed
Nov 19 01:39:30 ubuntu kernel: [ 2215.923006] sd 10:0:0:2: [sdi]
Nov 19 01:39:30 ubuntu kernel: [ 2215.923009] Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
Nov 19 01:39:30 ubuntu kernel: [ 2215.923011] sd 10:0:0:2: [sdi]
Nov 19 01:39:30 ubuntu kernel: [ 2215.923013] Sense Key : Not Ready [current]
Nov 19 01:39:30 ubuntu kernel: [ 2215.923017] sd 10:0:0:2: [sdi]
Nov 19 01:39:30 ubuntu kernel: [ 2215.923021] Add. Sense: Logical unit is in process of becoming ready
Nov 19 01:39:31 ubuntu kernel: [ 2216.193000] sd 10:0:0:2: [sdi] Test WP failed, assume Write Enabled
Nov 19 01:39:31 ubuntu kernel: [ 2216.462982] sd 10:0:0:2: [sdi] Asking for cache data failed
Nov 19 01:39:31 ubuntu kernel: [ 2216.462987] sd 10:0:0:2: [sdi] Assuming drive cache: write through
Nov 19 01:39:32 ubuntu kernel: [ 2217.544133] sd 10:0:0:2: [sdi] Spinning up disk...
Nov 19 01:40:36 ubuntu kernel: [ 2281.720475] INFO: task systemd-udevd:7519 blocked for more than 120 seconds.
Nov 19 01:40:36 ubuntu kernel: [ 2281.720482] Not tainted 3.13.0-24-generic #46-Ubuntu
Nov 19 01:40:36 ubuntu kernel: [ 2281.720484] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
Nov 19 01:40:36 ubuntu kernel: [ 2218.545078] ...................................
Nov 19 01:40:36 ubuntu kernel: [ 2281.720487] systemd-udevd D e1cb5d88 0 7519 1373 0x00000004
Nov 19 01:40:36 ubuntu kernel: [ 2281.720492] e1cb5d4c 00000082 00000000 e1cb5d88 c112925b c1a87540 f0ce8cf0 000000c1
Nov 19 01:40:36 ubuntu kernel: [ 2281.720500] c1a87540 f0ce8cf0 f0578cf0 f2298540 c1991884 ffffffff f22990e8 f22990f4
Nov 19 01:40:36 ubuntu kernel: [ 2281.720507] 000280da 00000000 00000000 f0578cf0 e2860a80 00000005 f1f02e78 f5dcca00
Nov 19 01:40:36 ubuntu kernel: [ 2281.720513] Call Trace:
Nov 19 01:40:36 ubuntu kernel: [ 2281.720523] [<c112925b>] ? __alloc_pages_nodemask+0x14b/0x890
Nov 19 01:40:36 ubuntu kernel: [ 2281.720530] [<c12d3a10>] ? get_disk+0x30/0x50
Nov 19 01:40:36 ubuntu kernel: [ 2281.720535] [<c164f813>] schedule_preempt_disabled+0x23/0x60
Nov 19 01:40:36 ubuntu kernel: [ 2281.720539] [<c165115d>] __mutex_lock_slowpath+0x10d/0x171
Nov 19 01:40:36 ubuntu kernel: [ 2281.720542] [<c165068c>] mutex_lock+0x1c/0x28
Nov 19 01:40:36 ubuntu kernel: [ 2281.720547] [<c11a91e8>] __blkdev_get+0x58/0x3e0
Nov 19 01:40:36 ubuntu kernel: [ 2281.720551] [<c11a9850>] ? blkdev_get_by_dev+0x40/0x40
Nov 19 01:40:36 ubuntu kernel: [ 2281.720555] [<c11a96e4>] blkdev_get+0x174/0x2a0
Nov 19 01:40:36 ubuntu kernel: [ 2281.720560] [<c11a9850>] ? blkdev_get_by_dev+0x40/0x40
Nov 19 01:40:36 ubuntu kernel: [ 2281.720563] [<c11a98a2>] blkdev_open+0x52/0x70
Nov 19 01:40:36 ubuntu kernel: [ 2281.720569] [<c1173df4>] do_dentry_open+0x174/0x260
Nov 19 01:40:36 ubuntu kernel: [ 2281.720574] [<c117f750>] ? __inode_permission+0x40/0xa0
Nov 19 01:40:36 ubuntu kernel: [ 2281.720578] [<c11a9850>] ? blkdev_get_by_dev+0x40/0x40
Nov 19 01:40:36 ubuntu kernel: [ 2281.720582] [<c117432c>] vfs_open+0x3c/0x50
Nov 19 01:40:36 ubuntu kernel: [ 2281.720586] [<c11830c9>] do_last+0x4a9/0xf60
Nov 19 01:40:36 ubuntu kernel: [ 2281.720590] [<c118185f>] ? link_path_walk+0x5f/0x6f0
Nov 19 01:40:36 ubuntu kernel: [ 2281.720596] [<c12a448a>] ? apparmor_file_alloc_security+0x4a/0x130
Nov 19 01:40:36 ubuntu kernel: [ 2281.720601] [<c1183c30>] path_openat+0xb0/0x520
Nov 19 01:40:36 ubuntu kernel: [ 2281.720605] [<c1184c51>] do_filp_open+0x31/0x80
Nov 19 01:40:36 ubuntu kernel: [ 2281.720610] [<c1175ac5>] do_sys_open+0x115/0x260
Nov 19 01:40:36 ubuntu kernel: [ 2281.720614] [<c1170000>] ? mem_cgroup_soft_limit_reclaim+0x30/0x4e0
Nov 19 01:40:36 ubuntu kernel: [ 2281.720619] [<c1175c32>] SyS_open+0x22/0x30
Nov 19 01:40:36 ubuntu kernel: [ 2281.720623] [<c1659b4d>] sysenter_do_call+0x12/0x28
 

ashetos

Senior member
Jul 23, 2013
254
14
76
It seems as if the SD card does not power on correctly in the initial steps before you can actually read any data from it.

Its device is /dev/sdi, you could attempt to read some data from this device, but I would expect you wouldn't be able to do it.

I would recommend trying to read the SD card from another PC, maybe a laptop with an SD card slot, just in case your PC card reader/USB slot cannot provide enough power for some reason.
 

NAC

Golden Member
Dec 30, 2000
1,105
11
81
I did try previously on two different laptops with integrated card readers. Neither of them "saw" the card. On one of them it was Windows 7 and Ubuntu, on the other it was Windows 8.

(I never checked the log files on the laptops).
 

ashetos

Senior member
Jul 23, 2013
254
14
76
If /dev/sdi is readable then you might be able to rescue possibly quite a lot of data with a utility such as ddrescue. If /dev/sdi is NOT readable then you cannot do anything with software.