0 votos

Diferencia entre ADB shell y terminal TWRP

TLDR:
Cuando se arranca en TWRP (no en el sistema operativo Android), ¿hay alguna diferencia entre ejecutar un comando en una shell ADB y ejecutarlo en la terminal de TWRP? ¿Específicamente algo que afecte a las particiones? ¿Es seguro? ¿Se pueden esperar resultados diferentes?

Antecedentes:
Estoy teniendo un problema con mi OnePlus One. Aparentemente se reinicia aleatoriamente o se apaga instantáneamente. A veces se niega a iniciar de nuevo a menos que se mantenga presionado el botón de encendido durante unos 30 segundos o se desconecte y vuelva a conectar el conector de la batería. Según este artículo, el problema podría ser una partición corrupta. Sugiere ejecutar:

`make_ext4fs /dev/block/mmcblk0p15

Sobre ADB. Desafortunadamente me es imposible que ADB reconozca mi dispositivo correctamente. Hice todo lo que este artículo sugirió, pero no ayudó. Intenté escanear dispositivos ADB mientras estaba arrancado en TWRP (no apareció ningún dispositivo) e intenté escanear dispositivos mientras estaba arrancado en Android, pero tan pronto como activo la depuración USB el teléfono se desconecta constantemente como varias veces por segundo. Intenté usar una extensión de USB alimentada como se sugiere aquí, pero no ayudó. También medí la corriente y cambiaba constantemente entre ~230mA y ~270mA (la PSU permitiría hasta 5100mA). Además, me niego a hacer ADB a través de WiFi por motivos de seguridad. Además, probablemente sería un dolor de cabeza hacer que los firewalls lo permitan.

También me pregunto si hay alguna manera de saber si alguna de las otras particiones están corruptas (hay unos 50 dispositivos listados en /dev/block/).

1voto

Izzy Puntos 45544

No debería alterar las particiones actualmente en uso, lo cual sería el caso cuando el sistema está arrancado. Mientras esté arrancado en modo de recuperación, no están en uso a menos que los montes explícitamente (o si están montados automáticamente, puedes desmontarlos y seguir teniendo un sistema en funcionamiento).

Entonces, cosas como reparticionar o formatear es mejor hacerlas desde el modo de recuperación. Lo mismo se aplica a la creación de imágenes (dd) donde quieres asegurarte de que el contenido no cambie mientras creas esa "imagen de disco", ya que quieres que sea consistente (no es un problema con las particiones montadas en solo lectura, por supuesto).

Y nuevamente esto se aplica si quieres reparar el sistema de archivos: la partición correspondiente debe estar desmontada para ello, lo cual no se puede hacer por ejemplo para la partición /data mientras está arrancado normalmente, fsck (File System ChecK) requiere acceso exclusivo a ella.


En cuanto a tu problema subyacente: recomendaría arrancar en modo de recuperación y ejecutar primero una comprobación del sistema de archivos para ver si alguna partición está corrupta. En la mayoría de los casos, fsck también puede reparar la corrupción, y de esa manera mantendrás tus datos. Si fsck encuentra problemas que no puede resolver (o quieres estar "absolutamente seguro y limpio"), todavía puedes ejecutar ese make_ext4fs - lo cual, por supuesto, significaría "todos los datos perdidos". Si haces esto en /system también significa que necesitarás flashear una ROM posteriormente, ya que tu SO habría desaparecido. Y si lo haces en cualquier partición que no sea /system, /data o /cache (o la tarjeta SD), podrías dejar inutilizado tu dispositivo ya que no sabrías qué poner ahí para hacerlo funcionar de nuevo. Oh, y también asegúrate de que la partición que quieres "formatear" realmente esté utilizando ext4 antes de ejecutar make_ext4fs en ella. Aunque debería ser transparente, un sistema de archivos inesperado podría confundir al SO :)

0 votos

@iBug No dije que lo sea, por favor vuelve a leer: "asegúrate de que la partición que deseas "formatear" realmente esté utilizando ext4 antes de ejecutar make_ext4fs contra ella." Como es poco probable que la tarjeta SD lo esté utilizando, según mi respuesta, no deberías formatearla de esa manera (hay otros comandos mkfs allí para FAT: mkfs.vfat y mkfs.exfat).

0voto

jezzipin Puntos 126

Nope. Cuando se inicia en TWRP, todos los comandos se ejecutan con privilegios de root, los comandos de shell son en su mayoría los mismos pero TWRP añadió un comando twrp documentado aquí, que creo que es más conveniente y difícil equivocarse.

No tengo idea sobre reinicios frecuentes, pero te sugiero que revises el conector de alimentación.

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