2 votos

Nexus 5 atascado en la animación de carga del sistema operativo, presionando Volumen-/Power sólo muestra fastboot por un segundo, adb no muestra nada

Esta es la pantalla de carga normal de LineageOS, que tenía hasta ayer:

enter image description here

Problema : Desde ayer, sólo un círculo va de derecha a izquierda, siempre. En otras palabras, nunca llega a los 3 círculos (incluso después de 8 horas durante la noche), y mi Nexus 5 se ha vuelto inútil.

Después de leer Nexus 5 atascado en la pantalla "flying color dots lollipop" después del Hard Factory Reset He probado a pulsar Power/Volume- al mismo tiempo durante 30 segundos. Resultado: Hace que aparezca la pantalla de fastboot durante menos de un segundo (durante esa fracción de segundo puedo mover el cursor con Volumen+/-), luego la pantalla se vuelve negra, luego fastboot durante una fracción de segundo de nuevo, luego este boot-loop:

  1. cerradura blanca de Google+unlocked en el fondo negro, durante unos segundos
  2. pantalla negra
  3. Vibración
  4. Volver al paso 1

Si se pulsa el mismo volumen/apagado durante la pantalla anterior de "bloqueo blanco de Google+ sobre fondo negro" también se produce el mismo bucle de arranque.

Durante todas estas fases (animación, fastboot, boot-loop), ejecutando adb logcat desde mi ordenador conectado sólo muestra waiting for device .

Todo esto lo hago con el cargador enchufado. Incluso he cambiado la batería para asegurarme de que no era un problema de alimentación. Para comprobarlo he conseguido pulsar rápidamente "Power off" en fastboot y muestra el nivel de batería: 100%.

El ordenador/puerto/cable que estoy usando son los que he estado usando todos los días durante años para transferir archivos y depurar aplicaciones por USB. También he probado con un cargador de pared y un cable nuevo para asegurarme, el mismo resultado.

El Nexus 5 no está cifrado.

Tras conectar el teléfono a un ordenador con Windows (en lugar de mi habitual Linux), fastboot se mantuvo milagrosamente encendido y pude obtener la siguiente información:

Particiones

~ # cat /proc/partitions
major minor  #blocks  name

 179        0   30535680 mmcblk0
 179        1      65536 mmcblk0p1
 179        2       1024 mmcblk0p2
 179        3        512 mmcblk0p3
 179        4        512 mmcblk0p4
 179        5        512 mmcblk0p5
 179        6        512 mmcblk0p6
 179        7       2048 mmcblk0p7
 179        8       1024 mmcblk0p8
 179        9        512 mmcblk0p9
 179       10        512 mmcblk0p10
 179       11        512 mmcblk0p11
 179       12       3072 mmcblk0p12
 179       13       3072 mmcblk0p13
 179       14        512 mmcblk0p14
 179       15      16384 mmcblk0p15
 179       16      16384 mmcblk0p16
 179       17       3072 mmcblk0p17
 179       18      22528 mmcblk0p18
 179       19      22528 mmcblk0p19
 179       20      22528 mmcblk0p20
 179       21       3072 mmcblk0p21
 179       22        512 mmcblk0p22
 179       23        512 mmcblk0p23
 179       24        512 mmcblk0p24
 179       25    1048576 mmcblk0p25
 179       26      30720 mmcblk0p26
 179       27     716800 mmcblk0p27
 179       28   28551146 mmcblk0p28
 179       29          5 mmcblk0p29
 179       32       4096 mmcblk0rpmb

Monte

~ # mount
rootfs on / type rootfs (rw,seclabel)
tmpfs on /dev type tmpfs (rw,seclabel,nosuid,relatime,mode=755)
devpts on /dev/pts type devpts (rw,seclabel,relatime,mode=600)
proc on /proc type proc (rw,relatime)
sysfs on /sys type sysfs (rw,seclabel,relatime)
selinuxfs on /sys/fs/selinux type selinuxfs (rw,relatime)
tmpfs on /tmp type tmpfs (rw,seclabel,relatime)
/dev/block/mmcblk0p25 on /system type ext4 (ro,seclabel,relatime,data=ordered)

Nombres de los bloques

~ # ls -l /dev/block/platform/msm_sdcc.1/by-name
lrwxrwxrwx    1 root     root            21 Jan  1 01:00 DDR -> /dev/block/mmcblk0p24
lrwxrwxrwx    1 root     root            20 Jan  1 01:00 aboot -> /dev/block/mmcblk0p6
lrwxrwxrwx    1 root     root            21 Jan  1 01:00 abootb -> /dev/block/mmcblk0p11
lrwxrwxrwx    1 root     root            21 Jan  1 01:00 boot -> /dev/block/mmcblk0p19
lrwxrwxrwx    1 root     root            21 Jan  1 01:00 cache -> /dev/block/mmcblk0p27
lrwxrwxrwx    1 root     root            21 Jan  1 01:00 crypto -> /dev/block/mmcblk0p26
lrwxrwxrwx    1 root     root            21 Jan  1 01:00 fsc -> /dev/block/mmcblk0p22
lrwxrwxrwx    1 root     root            21 Jan  1 01:00 fsg -> /dev/block/mmcblk0p21
lrwxrwxrwx    1 root     root            21 Jan  1 01:00 grow -> /dev/block/mmcblk0p29
lrwxrwxrwx    1 root     root            21 Jan  1 01:00 imgdata -> /dev/block/mmcblk0p17
lrwxrwxrwx    1 root     root            21 Jan  1 01:00 laf -> /dev/block/mmcblk0p18
lrwxrwxrwx    1 root     root            21 Jan  1 01:00 metadata -> /dev/block/mmcblk0p14
lrwxrwxrwx    1 root     root            21 Jan  1 01:00 misc -> /dev/block/mmcblk0p15
lrwxrwxrwx    1 root     root            20 Jan  1 01:00 modem -> /dev/block/mmcblk0p1
lrwxrwxrwx    1 root     root            21 Jan  1 01:00 modemst1 -> /dev/block/mmcblk0p12
lrwxrwxrwx    1 root     root            21 Jan  1 01:00 modemst2 -> /dev/block/mmcblk0p13
lrwxrwxrwx    1 root     root            20 Jan  1 01:00 pad -> /dev/block/mmcblk0p7
lrwxrwxrwx    1 root     root            21 Jan  1 01:00 persist -> /dev/block/mmcblk0p16
lrwxrwxrwx    1 root     root            21 Jan  1 01:00 recovery -> /dev/block/mmcblk0p20
lrwxrwxrwx    1 root     root            20 Jan  1 01:00 rpm -> /dev/block/mmcblk0p3
lrwxrwxrwx    1 root     root            21 Jan  1 01:00 rpmb -> /dev/block/mmcblk0p10
lrwxrwxrwx    1 root     root            20 Jan  1 01:00 sbl1 -> /dev/block/mmcblk0p2
lrwxrwxrwx    1 root     root            20 Jan  1 01:00 sbl1b -> /dev/block/mmcblk0p8
lrwxrwxrwx    1 root     root            20 Jan  1 01:00 sdi -> /dev/block/mmcblk0p5
lrwxrwxrwx    1 root     root            21 Jan  1 01:00 ssd -> /dev/block/mmcblk0p23
lrwxrwxrwx    1 root     root            21 Jan  1 01:00 system -> /dev/block/mmcblk0p25
lrwxrwxrwx    1 root     root            20 Jan  1 01:00 tz -> /dev/block/mmcblk0p4
lrwxrwxrwx    1 root     root            20 Jan  1 01:00 tzb -> /dev/block/mmcblk0p9
lrwxrwxrwx    1 root     root            21 Jan  1 01:00 userdata -> /dev/block/mmcblk0p28

Sistema de archivos

~ # blkid /dev/block/mmcblk0p28
/dev/block/mmcblk0p28: UUID="57f8f4bc-abf4-655f-bf67-946fc0f9f25b" TYPE="ext4"

Borrado de la caché

~ # twrp wipe cache
Formatting cache using make_ext4fs...
Failed to mount '/cache' (Invalid argument)
Done processing script file

~ # mke2fs -t ext4 /dev/block/mmcblk0p27
mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
44832 inodes, 179200 blocks
8960 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=184549376
6 block groups
32768 blocks per group, 32768 fragments per group
7472 inodes per group
Superblock backups stored on blocks:
        32768, 98304, 163840

Allocating group tables: done
Writing inode tables: done
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done

~ # twrp reboot
command is: 'reboot' and there is no value
Failed to mount '/data' (Invalid argument)
Failed to mount '/data' (Invalid argument)
E:a
Done processing script file

Haciendo ese borrado de caché no se solucionó el problema, lamentablemente: La animación del sistema operativo lleva ya 3 horas funcionando.

Pregunta : ¿Cómo conseguir al menos que el contenido de la tarjeta /sdcard de mi Nexus 5 se guarde en un ordenador? O tal vez incluso arreglar el Nexus si es posible?

0 votos

1voto

alecxs Puntos 29

Supongo que el problema está relacionado con la partición de caché. puedes intentar arreglarlo con

fastboot format:ext4 cache

o desde la recuperación de twrp con

adb shell twrp wipe cache

también formatear la partición de caché ayudará

adb shell mke2fs -t ext4 /dev/block/mmcblk0p27

Puedes hacer una copia de seguridad manual de tu partición de datos (sdcard). si los datos están encriptados, móntalos con
twrp decrypt <password> donde tienes que usar tu pin/contraseña de bloqueo de pantalla. si usas un patrón de bloqueo de pantalla debes traducirlo a contraseña (ver https://blog.alxu.ca/unlocking-large-pattern-encryption-in-twrp.html )
Para ello se necesita GNU tar para Android y una tarjeta MicroSD externa o una unidad flash USB-OTG. El binario tar está incluido en open_gapps.zip Descargue y descomprima el archivo, copie el binario a la tarjeta MicroSD y renómbrelo a "tar".

mkdir /data
mount -t ext4 -o ro,noexec,noload,noatime /dev/block/mmcblk0p28 /data
cp /external_sd/tar /tmp
chmod a+x /tmp/tar
/tmp/tar --selinux --xattrs --numeric-owner -vcpP /data | gzip | split -a 1 -b 1024m - /external_sd/data.ext4.tar.gz.

si la partición no es montable, puede copiar la partición con dd

dd if=/dev/block/mmcblk0p28 of=/external_sd/data.img            bs=1024 count=28551146
dd if=/dev/block/dm-0       of=/external_sd/data_decrypted.img  bs=1024 count=28551146

edit: (thx @ Nicolas Raoul) si tu teléfono no tiene tarjeta MicroSD externa ni soporte USB-OTG, puedes transmitir la partición a través de adb.

adb pull /dev/block/mmcblk0p28  C:\adb\data.img
adb pull /dev/block/dm-0        C:\adb\data_decrypted.img

Abra el archivo con OSFMount o montarlo desde sudo (ver comando anterior). La carpeta sdcard se encuentra /data/media/0 . Si desea restaurar las aplicaciones más tarde en la partición de datos cifrada, se recomienda crear un archivo tar (además de las banderas anteriores) con --exclude data/media esto reducirá el tamaño de la copia de seguridad. la línea de comando de restauración es

cat /external_sd/data.ext4.tar.gz.* | gzip -d | /tmp/tar --selinux --xattrs -vxpPC /

0 votos

Para mount -t ext4 -w /dev/block/mmcblk0p28 /data Me sale mount: mounting /dev/block/mmcblk0p28 on /data failed: Invalid argument

1 votos

El Nexus 5 no está cifrado. Supongo que puedo ejecutar adb.exe pull /dev/block/mmcblk0p28 mmcblk0p28.img y luego montar la imagen en Linux como ext4?

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