I was using my MicroSD card as internal storage on android marshmellow and suddenly my device stopped detecting the Card. Removed it from Device mad connected to PC but it only asks to format the drive. I need to recover data from this Card. i tried chkdsk but it says cannot format RAW disk.
I am replying here since this is a more recent question for corrupted internal sd cards. If the phone recognises the card after a fresh boot and only ejects it after a while this may work for you. My Android 7 Moto X Play is using a class 10 Sandisk Extreme 32GB as Internal Storage. After a while the phone started ejecting the card and once that happened it needed a reboot since vital data is on the card at all times in the "Internal Storage" mode. My goal was to recover all photos and videos and use the card as External Storage after that.
What happens is this:
- Android does not know how to fix or ignore corrupted files on the card. Or it does not want to.
- eventually a file on the card gets corrupted
- when Android tries to access one of the corrupted files if fails and ejects the card
- Android cannot work with the card ejected
- minimise the OS read/write activity by keeping it in standby
- use adb pull to copy the images and videos by keeping a text file with the list of files still to be copied (I used some linux cat and grep being on OSX)
- when adb pull fails at a file remove the file from the list files to be copied so it does not fail the next time
- after fail reboot phone and run adb again on the trimmed list
- enjoy 1 year worth of family memories :-)
This worked because from ~700 files only one was corrupted and the OS in standby did not try to access any other corrupted files while I was doing the adb pull. It may work for you if the files are important and you're willing to give it a try.
PS: nothing else worked since the phone was not rooted. Rooting it and keeping a copy of the encryption key for the sd card would be an idea but I am going back to external storage.