4 votos

¿Recuperando datos del almacenamiento adaptable mientras el teléfono se atasca en el arranque?

así que estoy usando la Galaxy Mega (i9152) con una ROM CM13 que pasé por el TWRP. Para poder ejecutar PoGO, he desactivado Root a través de la configuración de la aplicación SuperSu en el CM13 (el juego todavía no se ejecuta, sigue disparando la red de seguridad). El teléfono funcionaba bien hasta hace 2 días, después de lo cual empezó a entrar en el bootloop.

Así que busqué en Google cómo resolver el bucle de arranque y vi que arreglar los permisos de los archivos a través de TWRP podría resolver el problema. Lo hice PERO también arraigué el teléfono cuando TWRP me pidió que instalara SuperSU, citando que el teléfono no estaba rooteado. Después de eso, el teléfono se quedó atascado en Boot Animation (la cara del Android CM), posiblemente porque arraigué el teléfono a través de TWRP.

Había formateado mi tarjeta SD como interna, lo que significaba que no funcionaría en ningún otro dispositivo. Todas mis fotos y cosas están en esa tarjeta SD ahora. He investigado extensamente en Google para encontrar una manera de desencriptar la tarjeta SD encriptada y descubrí que puedo desencriptarla a través de linux. También he recuperado el archivo .key de la carpeta /data/misc/vold y he convertido el código en el formato apropiado de 16 bytes a través de comandos de terminal.

Tengo un sistema de Linux y he tratado de desencriptarlo. Esto es lo que pasa cuando corro parted -l. (También quería publicar la salida de fdisk -l, pero mi puntuación de reputación no me deja publicar más de 2 enlaces)

when i run parted -l

ya que los nombres "androide_expandir" y "androide_meta" siguen apareciendo, tengo la esperanza y una buena razón para creer que mis datos siguen intactos!

pero cuando intento montarlo...

when i try to decrypt the SD card and mount it

No sé qué hacer ahora, ya que esto es todo lo que sabía, todo lo que tenía No tengo ni idea de qué sistema de archivos es la tarjeta encriptada. Intenté con ext4 como se describe en la guía. Tal vez si hubiera alguna manera de hacer que el ciclo de archivos de fstab pase por TODOS los sistemas de archivos posibles, golpeando el correcto y finalmente montando mi tarjeta SD. Tal vez la función de montaje tiene una función "auto" para detectar automáticamente los sistemas de archivos

He tratado de reiniciar la MISMA ROM sin resetearla de fábrica, pero me dio un error que decía: "error al ejecutar el actualizador binario" y también "no se puede instalar encima de datos incompatibles"

He limpiado el Cache y el Dalvik Cache VARIAS veces.

He hecho una copia de seguridad de la parte de DATOS, a través de TWRP, usando OTRA tarjeta SD en el teléfono. También he hecho una copia de seguridad de la parte del SISTEMA en el almacenamiento interno del teléfono. Estoy preocupado por mis fotos y las cosas en la tarjeta SD. No puedo ver mi tarjeta SD cifrada en TWRP, sólo me muestra O MB en la opción de tarjeta SD en TWRP, posiblemente porque la tarjeta SD está cifrada. No tengo ni idea de cómo acceder a mis archivos en la tarjeta SD cifrada a través del administrador de archivos de TWRP. No quiero perder mis datos. Sólo ayúdame a recuperar los datos de esta tarjeta SD que ha sido encriptada por Android Marshmallow. No sé si mi tarjeta SD será detectada en el sistema operativo como antes, si soy capaz de de alguna manera reflash la EXACTAMENTE MISMA rom que estaba usando antes de este desastre.

Sólo para aclarar, estoy usando el lector de tarjetas SD interno de mi portátil para leer tarjetas con Linux (tengo ubuntu 16.04 LTS), con un adaptador de tarjetas SD suministrado con la tarjeta (es un Kingston 16 GB, SDHC clase 4)

Si puedo acceder de alguna manera a mi tarjeta SD y recuperar todos mis datos de ella, mi problema se resolverá. Por favor, ayúdame.

P.D.: también, al principio de este calvario, por error, PODRÍA haber creado particiones en la tarjeta SD, mientras usaba el disco duro. Espero que no haya borrado los datos de la tarjeta SD o la haya corrompido. CTRL+C'ed fuera de la utilidad sin guardar los cambios... así que eso podría ser de alguna esperanza.

0 votos

¿Está seguro de que /dev/mmcblk0p2 existe en su dispositivo Linux? Ejecuta dmesg para ver cuál es el mensaje de error exacto. Podrías intentar ejecutar 'blockdev --getsize /dev/...' como un comando independiente para obtener el tamaño, y ver cualquier error.

0 votos

También intente ejecutar dmeset con la bandera -v para obtener detalles adicionales sobre lo que está sucediendo.

0 votos

@NikolayElenkov, gracias por responder. He resuelto el problema, gracias en parte a tu guía y gracias a un poco de intuición propia. Soy un estudiante de último año de CIS (Computer Engg) y me gustaría estar en contacto. ¿Dónde se le puede localizar fácilmente?

3voto

Karim Benzema Puntos 16

Antes de empezar, recomendaría hacer una copia de seguridad COMPLETA de su tarjeta SD, a través de una imagen en bruto (google el comando 'dd' en linux)

Seguí la guía hasta aquí; Tarjeta SD corrupta formateada como almacenamiento interno

PERO con algunas MODIFICACIONES IMPORTANTES de mi parte!

  1. El teléfono se atascó en BOOTLOOP y luego en BOOT Animation, sin acceso a ningún gestor de archivos. Esta es una situación MUY grave, ya que no hay un método trivial para acceder a tu tarjeta SD (se muestra como 0mb en el administrador de archivos TWRP) para hacer una copia de seguridad de tus datos, fotos y recuerdos. Además, esta es la única parte que es un poco inestable ya que no estoy completamente seguro de si mi teléfono estaba rooteado o no (ya que mi problema cambió de bootloop a animación de arranque cuando intenté instalarlo en SuperSu a través de TWRP) y recuperar la clave de encriptación es fundamental para resolver esto. Tuve que conseguir el archivo .key , ya que era fundamental para romper la encriptación de la tarjeta SD. Así que en medio de todo el pánico, fui capaz de navegar, a través del administrador de archivos de TWRP, a la carpeta /data/misc/vold y encontré el archivo .key. Este fue un gran avance !

  2. A continuación, para extraer el archivo. Utilicé otra tarjeta SD NO ESCRITA y transferí el archivo .key a esa tarjeta, a través del administrador de archivos TWRP, leí esa tarjeta SD en el portátil y obtuve el archivo .key en Ubuntu (16.04). Decodifiqué el archivo .key y obtuve la llave de 16 bytes. Hay dos maneras de hacer esto... abrir el archivo a través de un editor hexadecimal (usé BLESS) y copiar los 16 pares de dígitos hexadecimales que ves O usar este comando;

hexdump -e '1/1 "%.2x"' expandir_8838e738a18746b6e435bb0d04c15ccd.key

Asegúrate de estar en el MISMO directorio que el archivo .key cuando ejecutes este comando (los usuarios avanzados de linux trabajarán en esto pero quiero que sea lo más amigable posible para los principiantes)

Así que tengo la clave de 32 dígitos / 16 bytes.

  1. A continuación, descifrar la tarjeta SD y hacer que Linux la reconozca. Cuando lo leí, a través del lector de tarjetas, no se mostraba en Nautilus (el administrador de archivos de Ubuntu), pero al ejecutar fdisk-l y parted -l, vi

"parted -l output"

http://pasteboard.co/5klviklR8.jpg

"fdisk -l output"

http://pasteboard.co/POGvyBOxO.png

noten el androide_meta y el androide_expandir , esos nombres me dieron la esperanza , de que mis datos estaban todavía intactos. ESPECIALMENTE , ya que al principio del problema , había creado particiones y tablas de partición en la tarjeta sd a través de la utilidad fdisk (pero me ctrl+c'ed out por lo que es posible que los cambios no se escribieran , PHEW! )

el sistema de archivos desconocido fue el mayor dolor en todo este fiasco ... ya que de acuerdo con las pocas guías y discusiones sobre este tema , las tarjetas SD formateadas como internas por malvavisco se suponía que era el sistema de archivos ext4. pero ese no fue el caso , por lo menos no aquí.

  1. Así que, para desencriptar la tarjeta, usé

dmsetup crear cripta1 -- tabla "0 blockdev --getsize /dev/mmcblk0p2 crypt \ aes-cbc-essiv:sha256 "inserte su llave de 16 bytes aquí sin comillas" 0 /dev/mmcblk0p2 0"

Si tienes algún error relacionado con la IOCTL, usa este formato (es el formato EXACTO que usé hoy, con mi llave y todo).

dmsetup crear cripta7 -- tabla "0 blockdev --getsize /dev/mmcblk0p2 cripta >aes-cbc-essiv:sha256 07147CFFB77F249A5DBD2AD204610E7D 0 /dev/mmcblk0p2 0"

por favor, tenga en cuenta que la utilidad dmsetup debe ser instalada en linux. (google it ) . también , tenga en cuenta que fui por la parición 'mmcblk0p2' , ya que era la más grande en tamaño y tenía la inferencia obvia de contener todos los datos !

Esto fue bien, completado sin errores. La siguiente parte, sin embargo, me volvió loco y tomó alrededor de 20 horas (incluyendo mi tiempo de sueño) para ser resuelto correctamente.

  1. el sistema de archivos GADDAMN ! fue escrito en TODOS lados que el almacenamiento adoptivo está formateado como ext4 , así que cuando corrí el comando

# mount -t ext4 /dev/mapper/crypt1 /mnt/1/

(por favor, tenga en cuenta que mnt/1/ debe existir como directorio en su carpeta root, si no, use mkdir para crearlo)

produjo el maldito error

Fs equivocado o mala opción.

y esto me hizo pensar... si la tarjeta SD NO es de tipo ext4, entonces ¿CÓMO EN LA TIERRA se supone que debo saber qué sistema de archivos es de todos los posibles?

busqué y busqué un comando que pudiera forzar un ciclo a través de TODAS las posibilidades en un método de fuerza bruta o cualquier entrada que pudiera hacer en el archivo /etc/fstab que pudiera detectar AUTOMÁTICAMENTE el sistema de archivos de alguna manera, pero sin éxito...

5 . Al final, recordé... que tal vez, tal vez el sistema de archivos era f2fs (flash-friendly file system). Y eso resultó ser un recordatorio revelador...

para este código;

mount -t f2fs /dev/mapper/crypt1 /mnt/1

demostró ser la META GANADORA!

Entonces pude grabar un CD en /mnt/1 y vi algunos archivos muy familiares de Android y de ahí en adelante, fue Eternal BLISS.

1 votos

Tanto ext4 como f2fs tienen un superbloque, que identifica el sistema de archivos. si miras los primeros bytes de la partición, puedes identificar fácilmente el sistema de archivos utilizado.

0 votos

@NikolayElenkov ah .. gracias ! eso agrega a mi conocimiento y lo tendré en cuenta la próxima vez que esté tratando con sistemas de archivos ! mientras tanto , puedes por favor echar un vistazo aquí ; Android.stackexchange.com/questions/172347/ También, hice un post detallado con respecto a esto, aquí: forum.xda-developers.com/ <-- aquí, he descrito el problema en detalle y paso a paso. te agradecería que le echaras un vistazo y me sacaras de apuros.

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X