android - paso - que es bash en linux
¿Cómo puedo volver a montar mi sistema/Android como lectura/escritura en un script de bash usando adb? (7)
Además de todas las otras respuestas que recibió, quiero explicar la unknown option -- o
error: Su comando fue
$ adb shell ''su -c mount -o rw,remount /system''
que llama su a través de adb. Usted citó correctamente todo el comando su para pasarlo como un argumento al adb shell
. Sin embargo, su -c <cmd>
también necesita que cite el comando con argumentos que pasará a la opción -c
del shell. (YMMV dependiendo de su
variantes). Por lo tanto, es posible que desee probar
$ adb shell ''su -c "mount -o rw,remount /system"''
(y, potencialmente, agregue el dispositivo real listado en la salida del mount | grep system
antes del argumento /system
- vea las otras respuestas).
Para información
$ adb remount
devuelve "remount failed: Operation not permitted"
$ adb shell ''su -c mount -o rw,remount /system''
devuelve la unknown option -- o
Mi dispositivo está enraizado.
De lo contrario ... si
getenforce
devoluciones
Enforcing
Entonces tal vez deberías llamar
setenforce 0
mount -o rw,remount /system
setenforce 1
La causa probable de que el remount
fallar es que no está ejecutando adb
como root
.
Shell Script debe ser el siguiente.
# Script to mount Android Device as read/write.
# List the Devices.
adb devices;
# Run adb as root (Needs root access).
adb root;
# Since you''re running as root su is not required
adb shell mount -o rw,remount /;
Si esto falla, puedes probar lo siguiente:
# List the Devices.
adb devices;
# Run adb as root
adb root;
adb remount;
adb shell su -c "mount -o rw,remount /";
Para encontrar que user
eres:
$ adb shell whoami
Lo siguiente puede ayudar (estudie primero los impactos de la disable-verity
):
adb root
adb disable-verity
adb reboot
No pude hacer que el comando mount funcione sin especificar el bloque dev para montar como / system
#cat /proc/mounts
devuelve (solo la línea del sistema aquí)
/dev/stl12 /system rfs ro,relatime,vfat,log_off,check=no,gid/uid/rwx,iocharset=utf8 0 0
entonces mi comando de trabajo es
mount -o rw,remount -t rfs /dev/stl12 /system
Obtenga "adbd insecure" de la tienda de Google Play, que ayuda a dar acceso de escritura a las roms personalizadas que han asegurado a mis fabricantes.
Tuve el mismo problema y no pude montar el sistema como lectura / escritura. Volvería
Uso: monte el directorio del dispositivo [-r] [-w] [-o options] [-t type]
O
operación no permitida. Acceso denegado
Ahora esto funciona en todos los dispositivos rooteados.
HAGA LO SIGUIENTE EN EL TERMINAL EMULATOR
O EN LA TERMINAL EMULATOR
ADB SHELL
$ su
#mount - o rw,remount -t yaffs2 /system
Yaffs2
es el tipo de partición del sistema. Reemplácelo por el tipo de partición de su sistema que se obtiene al ejecutar lo siguiente
#cat /proc/mounts
A continuación, compruebe dónde /system
aparece desde el resultado largo
El extracto mío era como
mode=755,gid=1000 0 0
tmpfs /mnt/obb tmpfs rw,relatime,mode=755,gid=1000 0 0
none /dev/cpuctl cgroup rw,relatime,cpu 0 0/dev/block/platform/msm_sdcc.3/by-num/p10 /system ext4 ro,relatime,data=ordered 0 0
/dev/block/platform/msm_sdcc.3/by-num/p11 /cache ext4 rw,nosuid,nodev,relatime,data=ordered 0 0
Así que mi sistema es ext4
. Y mi orden era
$ su
#mount -o rw,remount -t ext4 /system
Hecho.