About a month ago the Moto G (3rdGen) of my wife was not able to recognize the SD-card 32GB Trancend premium 400x (which was formatted as adoptable storage) anymore. On this card were very important pictures and movies for us (of our new born baby). As of a certain Android version the adoptable storage is also encrypted and reading it on a PC or other phone is not possible without the encryption key. Since the phone was also not rooted it was also not possible to get the encryption key from the /data/...something directory... (see https://nelenkov.blogspot.ch/2015/06/decrypting-android-m-adopted-storage.html). So I almost gave up hope...
I bought the exact same type SD-card, also 32GB, only about a year later. Hoping that I would be able to make an exact clone of the card and I would be able to start some experiments with it without the risk of destroying something on the original card and losing all the data. When I mounted the original card under Linux it shows two partitions 17MB and about 31GB. Cloning the card with some Linux command line tools didn't gave me the same result. Next thing I tried was cloning it using HDDrawCopy, first write the entire card to an image on my harddrive. When I copied the data to my new 32GB card I noticed that the new card did not have the same capacity of the image file (image was 32.22GB, new card shows capacity of 31.11GB) so hmmmm that trick doesn't work... Luckily I also happen to have a 64GB SDcard (same type) which should have enough space for this test. So using HDDrawCopy I wrote the image to this card. Checked under Linux if I see the same partition as with the original card and this happens to be (of course it also shows about 32GB of free space not partitioned).
So I thought lets see if the Moto shows the same error with my new card in the phone and that I made an image on which I can start to try to hack the encryption off(now or in the future). To my surprise the Moto shows immediately that the transcend 32GB volume is mounted! I went to the gallery of the phone and IT SHOWS OUR PICTURES AND MOVIES again!!!
So in short when this happens buy a larger volume SD-Card (to make sure that there are enough data-block available). Use HDDrawCopy to make a bit-wise clone/image of the original card. Write the image to your new card and check if it can be read by your phone.
Never do the following or your data will be lost:
- Format the card
- Set your phone back to factory default (destroys your encryption key)
- Make the phone to forget/unmount the storage location (also destroys encryption key)
- upgrade to a newer version of Android (or any other major system update).
(of course make sure to make backups or cloud syncs to prevent this situation at all)
I hope this can help someone out there who might ended up in the same situation.