Cómo cifrar la partición /data de Android cuando sólo hace un reinicio rápido.

Cómo cifrar la partición /data de Android cuando sólo hace un reinicio rápido

Miguel Menéndez Comentarios

Tras instalar una nueva ROM personalizada he intentado cifrar el móvil. Sin embargo, el proceso falla sin mostrar mensaje de error alguno, el dispositivo simplemente hace un reinicio rápido (o suave).

Revisando el registro de errores con el comando adb logcat me encuentro lo siguiente:

E Cryptfs: Bad magic for real block device /dev/block/bootdevice/by-name/userdata
E Cryptfs: Not a valid ext4 superblock
Orig filesystem overlaps crypto footer region. Cannot encrypt in place.

Aparentemente, la partición userdata, montada en /data, está formateada correctamente con el sistema de archivos ext4… Tras dos días intentando opciones infructuosas varias, me encuentro con este hilo en el foro de XDA Developers en el que leo que TWRP 3.2 y versiones posteriores incluida la actual (3.3.1-0 en el momento de escribir esto) no está formateando la partición /data de forma correcta.

Así, la solución será instalar una versión de TWRP anterior a la 3.2 con la que formatear la partición /data y, posteriormente, instalar la última versión de TWRP con la que (sin formatear /data) instalar la ROM deseada:

Ejemplo

1. Visito la página oficial de TWRP y selecciono mi dispositivo, en este ejemplo un Xiaomi Redmi 4A (rolex).

2. En la sección «Enlaces para la descarga» selecciono uno de los servidores (América o Europa) y descargo:

2A. La versión de TWRP inmediatamente anterior a la versión 3.2.1-0, es decir, la 3.1.1-1 del 27/11/2017 (twrp-3.1.1-1-rolex.img) y

2B. La última versión disponible (o la versión adecuada para la instalación de la ROM deseada), en este ejemplo la versión 3.3.1-0 del 21/05/2019 (twrp-3.3.1-0-rolex.img).

3. Reinicio el móvil en modo Bootloader (manteniendo pulsado el botón de bajar el volumen).

4. Instalo TWRP 3.1.1-1:

~$ sudo -i
~# fastboot flash recovery twrp-3.1.1-1-rolex.img

5. Reinicio el móvil esta vez en modo recovery:

~# fastboot reboot recovery
Si esto no funcionase: Mantén pulsados el botón de encendido y el botón de subir el volumen al menos 10 segundos.

6. Una vez en TWRP 3.1.1-1, formatear la partición data.

7. Reinicio nuevamente en modo Bootloader e instalo ahora la versión actual de TWRP:

~# fastboot flash recovery twrp-3.3.1-0-rolex.img

8. Reinicio el móvil nuevamente en modo recovery:

~# fastboot reboot recovery
Si esto no funcionase: Mantén pulsados el botón de encendido y el botón de subir el volumen al menos 10 segundos.

9. Una vez en TWRP 3.3.1-0, instalo la ROM deseada con normalidad, haciendo los wipes previos y posteriores que correspondan ¡siempre sin formatear la partición data!

10. Reinicio el móvil y procedo al cifrado.

Fuente: Foro de XDA Developers.

Imagen: Basada en Freepik.