Thursday, March 14, 2019

Recovering data from corrupted SD card formatted as internal storage (Marshmallow)


I have an SD card in a Moto G (2015) running marshmallow, not rooted. It was formatted as internal storage, and contains photos and videos from the birth of our daughter, but has become corrupted.


Since it was formatted as internal storage, it's ESDFS filesystem and presumably encrypted. I can't decrypt it without accessing the encryption key, which I can't do because I'm not rooted. Presumably rooting will delete that encryption key.


I presume it's corrupted because any attempt to look at the SD card from within android unmounts the card, and the phone can't see any of the pictures/video on there. When the card is inserted, the 'storage' menu will initially acknowledge the card and tell me how full it is, but any attempt to look inside the card will result in it unmounting.



I've tried running fsck - within system/bin there are fsck_msdos and fsck.f2fs, but both come up as 'permission denied' when looking for them, and 'no such file' when I try to run them.


I can access /data from an adb shell, but attempting to get into /data/data/media results in 'permission denied'


Can anyone help? E.g: 1) will rooting delete the encryption key so that the card can't be accessed? 2) is there a way to get fsck working? 3) any other ideas for getting the media off this card?


Many thanks in advance. I'm a bit of a noob, so clear instructions much appreciated!



Answer




1) will rooting delete the encryption key so that the card can't be accessed?



No, actually "rooting" will not delete anything. Rooting is just adding an application for superuser or root-level access. That being said, in order to root your device you must have an unlocked bootloader. Unlocking the bootloader will wipe the entire device, including the encryption key, and all other data on the device. On the Moto G 2015 there is no way around this. Oh, and removing the card and performing the operation will not work, once it is rooted, the system will be different and the encryption key will change.




2) is there a way to get fsck working?



Not without root access. To be honest, even if you did get it to run the chances it would correct this type of problem are very low.



3) any other ideas for getting the media off this card?



Unfortunately no... once media has been adopted by the system, it is encrypted with a unique key to that system. If you can access the key, it is possible to access the data via Linux assuming the data is not corrupted. If the data is corrupted the chances of recovering encryped, corrupt data are extremely small.


As much as I would like to be able to give you an answer to recover your precious photos and videos, I don't believe there is one. All I can say is that moving forward I suggest NOT using adopted storage if possible (if this card was simple external/portable storage, the chances of recovering media from it would raise exponentially) and use a cloud backup solution like Google Photo which has the ability to maintain a backup of your photos and video automatically.


No comments:

Post a Comment

samsung galaxy s 2 - Cannot restore Kies backup after firmware upgrade

I backed up my Samsung Galaxy S2 on Kies before updating to Ice Cream Sandwich. After the upgrade I tried to restore, but the restore fails ...