Zur Information
adb remount
gibt "remount failed: Operation not permitted"
zurück
adb Shell 'su -c mount -o rw,remount /system'
gibt unknown option -- o
zurück
Mein Gerät ist gerootet.
Wahrscheinliche Ursache, dass remount
fehlschlägt, ist, dass Sie adb
nicht als root
ausführen.
Shell Script sollte wie folgt aussehen.
# 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 /;
Wenn dies fehlschlägt, können Sie Folgendes versuchen:
# List the Devices.
adb devices;
# Run adb as root
adb root;
adb remount;
adb Shell su -c "mount -o rw,remount /";
Um herauszufinden, welche user
Sie sind:
$ adb Shell whoami
Ich konnte den mount-Befehl nicht zum Laufen bringen, ohne den dev-Block als/system zu mounten
#cat /proc/mounts
gibt zurück (nur die Systemzeile hier)/dev/stl12 /system rfs ro,relatime,vfat,log_off,check=no,gid/uid/rwx,iocharset=utf8 0 0
so ist mein Arbeitsbefehlmount -o rw,remount -t rfs /dev/stl12 /system
Ansonsten ... wenn
getenforce
kehrt zurück
Enforcing
Dann solltest du vielleicht anrufen
setenforce 0
mount -o rw,remount /system
setenforce 1
Folgendes kann hilfreich sein (untersuchen Sie zuerst die Auswirkungen von disable-verity
):
adb root
adb disable-verity
adb reboot
Ich hatte das gleiche Problem und konnte das System nicht als Lesen/Schreiben einbinden. Es würde wiederkommen
Verwendung: mount [-r] [-w] [-o-Optionen] [-t-Typ] Geräteverzeichnis
Oder
operation unzulässig. Zugriff verweigert
Dies funktioniert jetzt auf allen gerooteten Geräten.
FÜLLEN SIE TERMINAL EMULATOR
OR ADB Shell
$ su
#mount - o rw,remount -t yaffs2 /system
Yaffs2
ist der Typ der Systempartition. Ersetzen Sie es durch den Typ Ihrer Systempartition, die Sie beim Ausführen der folgenden Schritte erhalten
#cat /proc/mounts
Überprüfen Sie dann, wo /system
in dem langen Ergebnis angezeigt wird
Auszug von mir war wie
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
Mein System ist also ext4
. Und mein Befehl war
$ su
#mount -o rw,remount -t ext4 /system
Erledigt.
Zusätzlich zu allen anderen Antworten, die Sie erhalten haben, möchte ich den unknown option -- o
-Fehler erläutern: Ihr Befehl war
$ adb Shell 'su -c mount -o rw,remount /system'
die su durch adb aufruft. Sie haben den gesamten Befehl su richtig zitiert, um ihn als one argument an adb Shell
zu übergeben. Für su -c <cmd>
müssen Sie jedoch auch den Befehl mit Argumenten angeben, die an die -c
-Option der Shell übergeben werden sollen. (YMMV abhängig von su
-Varianten.) Möglicherweise möchten Sie es also versuchen
$ adb Shell 'su -c "mount -o rw,remount /system"'
(und fügen Sie möglicherweise das tatsächliche Gerät hinzu, das in der Ausgabe von mount | grep system
vor dem /system
-Argument aufgeführt ist - siehe die anderen Antworten.)
Holen Sie sich "adbd insecure" von Google Play Store. Es hilft dabei, Schreibzugriff auf benutzerdefinierte ROMs zu gewähren, durch die meine Hersteller geschützt sind.