Diferencia entre el shell ADB y el terminal TWRP

TLDR :
cuando se inicia en TWRP (no en el sistema operativo Android), ¿hay alguna diferencia entre ejecutar un comando en un shell ADB y ejecutarlo en la terminal de TWRP? ¿Específicamente algo que interfiere con las particiones? ¿Es seguro? ¿Se esperan resultados diferentes?

Antecedentes :
tengo un problema con mi OnePlus One. Aparentemente, se reinicia al azar o se apaga al instante. A veces se niega a comenzar de nuevo a menos que se presione el botón de encendido durante unos 30 segundos o se desconecte el conector de la batería y se vuelva a conectar. Según este artículo , el problema podría ser una partición dañada. Sugiere ejecutar:

`make_ext4fs /dev/block/mmcblk0p15

sobre ADB. Desafortunadamente, me es imposible hacer que ADB reconozca mi dispositivo correctamente. Hice todo lo que este artículo sugirió , pero no sirvió de nada. Traté de buscar dispositivos ADB mientras arrancaba en TWRP (no apareció ningún dispositivo) e intenté buscar dispositivos mientras arrancaba en Android, pero tan pronto como habilité la depuración de USB, el teléfono se desconecta constantemente varias veces por segundo. Intenté usar una extensión USB alimentada como se sugiere aquí , pero no funcionó. También medí el consumo de corriente y cambiaba constantemente entre ~230mA y ~270mA (la fuente de alimentación habría permitido hasta 5100mA). Además, me niego a hacer ADB sobre WiFi por razones de seguridad. También sería muy probable que los cortafuegos lo permitieran.

También me pregunto si hay alguna forma de averiguar si alguna de las otras particiones está dañada (hay como 50 dispositivos enumerados en /dev/block/).

Respuestas (2)

No manipularía las particiones actualmente en uso, que sería el caso cuando se inicia el sistema. Mientras se inician en la recuperación, no están en uso a menos que los monte explícitamente (o si se montan automáticamente, puede desmontarlos y aún tener un sistema en ejecución).

Por lo tanto, es mejor hacer cosas como volver a crear particiones o formatear desde la recuperación. Lo mismo se aplica a la creación de imágenes ( dd) donde desea asegurarse de que el contenido no cambie mientras crea esa "imagen de disco", ya que desea que sea coherente (no es un problema con las particiones montadas en modo de solo lectura, por supuesto).

Y nuevamente, esto se aplica si desea reparar el sistema de archivos: la partición correspondiente debe desmontarse para eso, lo que no se puede hacer, por ejemplo, para la /datapartición mientras se inicia normalmente fsck(File System Check) requiere acceso exclusivo a ella.


En cuanto a su problema subyacente: recomendaría iniciar la recuperación y ejecutar primero una verificación del sistema de archivos para ver si alguna partición está dañada. En la mayoría de los casos, fscktambién puede reparar la corrupción y mantendrá sus datos de esa manera. Si fsckencuentra problemas que no puede resolver (o si desea estar "absolutamente seguro y limpio"), aún puede ejecutarlo, make_ext4fslo que por supuesto significaría "perder todos los datos". Si hace eso, /systemtambién significa que necesita flashear una ROM después, ya que su sistema operativo desaparecería. Y si lo haces a cualquier partición que no sea /system, /datao/cache(o la tarjeta SD), es posible que bloquee su dispositivo porque no sabría qué poner allí para que vuelva a funcionar. Ah, y también asegúrese de que la partición que desea "formatear" realmente esté usando ext4 antes de ejecutarla make_ext4fs. Si bien debería ser transparente, un sistema de archivos inesperado podría confundir al sistema operativo :)

@iBug No dije que lo sea, lea nuevamente: "asegúrese de que la partición que desea" formatear "realmente usa ext4 antes de ejecutarla make_ext4fs". Como es poco probable que la tarjeta SD la use, de acuerdo con mi respuesta, no debe formatearla de esa manera (hay otros mkfscomandos allí para FAT: mkfs.vfaty mkfs.exfat).

No. 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 agregó un twrpcomando documentado aquí , que creo que es más conveniente y difícil de hacer mal.

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