6 votos

Partición del sistema bloqueada en solo lectura en Android 10

Ayuda, no sé qué hice pero después de instalar una ROM personalizada, noté que mi partición del sistema no se puede montar como lectura/escritura.

Intenté


El comando "mount -o rw,remount /system" en un emulador de terminal, shell de ADB y terminal TWRP

El comando no muestra ninguna retroalimentación que indique fallo (¿tal vez tuve éxito?)


Montarlo usando la función de montaje integrada en TWRP.

La casilla de verificación del sistema puede marcarse (no conserva su marca de verificación al reiniciar)


Algunas aplicaciones que realmente funcionan según fuentes y reseñas.

Algunos dicen (Fallo al montar..) Algunos dicen (Sistema montado como rw) algunos no tienen retroalimentación.


No sé qué hacer.

Me di cuenta de esto cuando instalé una ROM personalizada. Intenté utilizar otra ROM personalizada pero sucede lo mismo. Además, reformatear no ayuda. No sé si esto ocurre en la ROM stock.


Para referencia

Dispositivo: Xiaomi Mi A2

Versión de Android: Android 10

ROM personalizada: AICP nightly build 15.0

1 votos

0 votos

@user340065 TWRP es un poco inútil para particiones ext4 de solo lectura con deduplicación/lógicas

9voto

singhnsk Puntos 41

Android 10 impide que las aplicaciones o prácticamente cualquier cosa monte el sistema como R/W. Sí, incluso si tienes acceso root.

Top John Wu, el creador de Magisk ha cubierto esto en una serie de tweets. Adjuntaré los enlaces a continuación para tu referencia. Ahora tu única forma de modificar tu sistema sería usando un módulo Magisk sin sistema. Puedes crear el tuyo propio o usar algún otro módulo e inyectar archivos dentro de su carpeta antes de reiniciar para aplicar ese módulo.

  1. Acabo de confirmar que la incapacidad de remontar el sistema (el directorio "/" en el sistema como root) como rw es algo nuevo en Android Q, NO es un problema con el enfoque de sistema como root que Magisk está utilizando en las versiones canary. Tendré que investigar más para saber cómo abordarlo. Fuente: https://twitter.com/topjohnwu/status/1169720663201988611
  2. Descubrí que las imágenes del sistema de Android 10 están formateadas con EXT4_FEATURE_RO_COMPAT_SHARED_BLOCKS. Duplicará bloques en el sistema de archivos para reducir el tamaño de la imagen. En mi Pixel XL, la partición físicamente no es lo suficientemente grande como para ejecutar con éxito 'e2fsck -E unshare_blocks'. Fuente: https://twitter.com/topjohnwu/status/1170404631865778177?lang=en
  3. Como claramente indica el nombre de la característica, esa función de bloques compartidos EXT4 es RO (solo lectura). La incapacidad para desactivar esta característica debido a la falta de espacio libre en la partición (al menos en mi Pixel XL) hace literalmente imposible montar la partición del sistema como rw. Fuente: https://twitter.com/topjohnwu/status/1170404633371525120
  4. Supongo que la justificación de Google para formatear particiones con esta característica habilitada es la introducción de overlayfs para "simular" una partición escribible. RIP a cualquier modificación o aplicaciones de root que modifiquen el sistema. En Android 10 parece que el sistema está formateado como RO o utilizando particiones lógicas. Fuente: https://twitter.com/topjohnwu/status/1170404634604658688
  5. Por cierto, acabo de descubrir este detalle en el código fuente de Android. Ellos llaman a este tipo de sistemas de archivos "dedup ext4". Otros sistemas de archivos de solo lectura que conocen son squashfs (ampliamente utilizado en dispositivos extremadamente limitados) y EROFS de Huawei. Fuente: https://twitter.com/topjohnwu/status/1170443615077666816

En resumen, no puedes montar el sistema como R/W con Android 10. El argumento simplemente se rechaza.

2 votos

EXT4_FEATURE_RO_COMPAT_SHARED_BLOCKS sería un problema en dispositivos originalmente enviados con Android 10 (debido a Particiones Dinámicas y por ende pequeño system.img). En dispositivos que se actualicen a Android 10, los desarrolladores de ROM personalizados pueden reconstruir system.img sin SHARED_BLOCKS. O el usuario puede intentar e2fsck -E unshare_blocks en TWRP. Si la escasez de espacio es un problema, volcar system.img a la partición /data o a una tarjeta SD externa o PC, eliminar el intercambio de bloques (redimensionando el sistema de archivos) y volver a flashear en la partición system. Por el momento no se me ocurre una razón para que esto no funcione. Un problema más grande es dm-verity.

1 votos

@IrfanLatif mi Nokia 8.1 se actualizó de Android 9 a 10 y tuvo este problema, fue entonces cuando descubrí los tweets de TJW. Intenté con una ROM personalizada y también se eliminó dm-verity. Mi experiencia con dm-verity se refiere más a que el dispositivo se niega a arrancar o lo marca como corrupto/no iniciará. No debería ser la causa de que no se pueda leer/escribir. Pero creo que tú sabes más sobre ese tema. No sé cómo ni de qué manera los desarrolladores de ROM personalizadas pueden solucionar esto, pero las pocas GSIs que utilicé tenían este problema y no puedo esperar muchas modificaciones de una GSI. Veamos qué logran los desarrolladores de ROM en el futuro.

2voto

Nick B Puntos 11

Estaba teniendo problemas similares con Android 10 (Havoc OS / TWRP / Magisk 20.4) en un ASUS Max Pro M1. Quería remontar /system para poder editar /system/etc/hosts. Sin embargo, no podía lograr que adb remontara, y ejecutar "adb root" tampoco funcionaba.

Finalmente tuve éxito al hacer lo que necesitaba hacer en el teléfono en un terminal, en lugar de usar adb / modo de depuración. Aquí está lo que hice, incluida la instalación de un editor de archivos, ya que busybox tampoco se puede instalar en Android 10:

  1. Instalar Termux desde la tienda de Google Play.
  2. Ejecutar Termux.
  3. Escribir "pkg install vim".
  4. Escribir "su", y otorgar permisos cuando la aplicación de Magisk te lo solicite.
  5. Escribir "mount -o rw,remount /" #mount -o /system no funciona, así que debes montar todo el sistema de archivos en modo de lectura/escritura.
  6. Si quieres usar vim como root, también necesitarás hacer esto: "alias vi=/data/user/0/com.termux/files/usr/bin/vim" #haz que la terminal sepa dónde encontrar los binarios de vim, ya que se instala con termux. Es posible que necesites modificar ligeramente la ruta dependiendo de tu teléfono; primero verifica si ahí es donde está.
  7. Haz tu trabajo sucio.
  8. Cuando hayas terminado, escribe "mount -o ro,remount /" para remontar el sistema de archivos como solo lectura.

¡Eso debería hacerlo! Espero que esto también funcione para ti...

1 votos

¡Hola, también estoy intentando editar el archivo hosts! Sin embargo, cuando intento ejecutar mount -o rw,remount / en Termux, recibo el error '/dev/block/dm-0' es de solo lectura. ¿Tienes alguna idea de cuál es el problema aquí?

0 votos

No, y me sorprendería si realmente funcionara para ti. En primer lugar, el sentido común me dice que no importa si accedes a /bin/sh a través de adb shell o a través de termux, pero no importa. Volver a montar / como rw parecía funcionar y de hecho apareció en el montaje como rw. Pude editar archivos en /etc, pero: La primera vez que monté -o ro, remonté / arrojó un error de E/S en dev/block/dm-1, pero repetir el comando parecía funcionar y / volvió a aparecer como ro. Sin embargo, después de un reinicio ninguno de los cambios estaba presente. Entonces, no, esto no funciona, ya que no sobrevive a un reinicio, lo siento.

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