La vida y obra de Gustavo Mendoza Tomasis, un sujeto poco común. www.tomasis.com.mx

lunes, julio 22, 2019

Android - Recuperar memoria SD dañada formateada como interna (adopted storage)

Hola:

    Pues despues de mucho tiempo de no escribir en este blog, aqui
estamos nuevamente. En esta ocasión lo hago pues deseo pasar un tip que
me evitó perder muchas fotos e información de mi Android. Entremos en
materia.

    Hace algunos meses compré una memoria ADATA de 64 GB para
formatearla como memoria interna de mi Moto X Play (adopted storage)
pues debido a que solo tiene 16GB de memoria interna, ya tenía muchos
problemas pues se llena muy facilmente. Formatearla como memoria interna
y comenzar a subir apps a la memoria incrementó mi memoria disponible y
aunque no se pueden subir todos los programas, si varios de ellos y me
permite tener instalados mayor cantidad de apps. Y francamente el
desempeño no se afecta de manera importante. Sin embargo, el día de ayer
ya no me reconoció la memoria, indicando simplemente que insertara la
memoria.

    Al extraer la memoria y revisarla con Partition Wizard, solo
muestra 2 particiones GPT sin tipo (other), una de 16mb y la segunda de
58.2GB. Al decir sin tipo, obviamente se entiende que están encriptadas.
Entiendo que al formatear la memoria como interna, Android formatea la
memoria con 2 particiones tipo ext4 (particiones de linux) y las
encripta. La llave de cifrado se guarda en el propio telefono, de modo
que si se extrae la memoria y se conecta en una PC, no podrá leerse. Al
parecer desde Linux hay un modo de montar la particion, pero no desde
Windows (dejo enlaces al final del post acerca de esto).

    El primer enlace es el que tiene el tip de como resolver el
problema. Basicamente se trata de conseguir otra memoria de igual o
similar característica y usar un programa de copia sector a sector para
copiar la memoria dañada a una nueva. Intenté usar Ghost para realizar
la copia SD a SD, pero no fue posible pues Ghost no encontró particiones
válidas para copiar. La publicacion indica que se puede copiar usando un
SW gratuito llamado HDD Raw Copy: 
https://hddguru.com/software/HDD-Raw-Copy-Tool/.

    En realidad lo que hice fue copiar con el HDDRawCopy la memoria
dañada como un archivo de imagen en mi HD y despues bajé esa imagen a
otra memoria. Una vez terminada, inserté la memoria en el telefono y
voalá, archivos de vuelta. !Grandioso!

Como nota adicional, es importante entender que la llave de cifrado se
encuentra en el teléfono por lo que, si se formatea el teléfono o se dá
la opción de "olvidar la memoria" que Android muestra cuando se pulsa el
error de memoria, dicho archivo llave se eliminará y no podrá ser
posible desencriptar la memoria de ningun modo. Es cierto, Android
debería ofrecer algún modo de recuperar esta información y supongo que
muchas personas han perdido su información de este modo.

     Disculpen lo escueto y mala redacción de este post, tengo poco
tiempo para escribirlo pero no quería dejar pasar la oportunidad de que
a alguien mas le sirva. Dejo las ligas de donde encontré estos tips:

https://android.stackexchange.com/questions/174799/moto-g3-android-marshmallow-not-detecting-sd-card-anymore-solution

https://nelenkov.blogspot.ch/2015/06/decrypting-android-m-adopted-storage.html

Autores de este blog:

Archivo del Blog