Файловая система только для чтения на Android - PullRequest
190 голосов
/ 20 мая 2011

Я недавно рутировал свой Droid X, и все, кажется, работает отлично.Я сделал некоторые изменения в build.prop, и когда я сделал adb push build.prop /system/, я получил следующую ошибку: failed to copy 'c:\build.prop' to '/system//build.prop': Read-only file system.

Как я могу это исправить?

Ответы [ 22 ]

364 голосов
/ 16 декабря 2011

Не на всех телефонах и версиях Android установлены одинаковые вещи.
Ограничение параметров при перемонтировании было бы наилучшим.

Просто перемонтировать как rw (чтение / запись):

# mount -o rw,remount /system

Как только вы закончите вносить изменения, перемонтировать в ro (только для чтения):

# mount -o ro,remount /system
77 голосов
/ 24 апреля 2012
adb remount

работает для меня и кажется самым простым решением.

75 голосов
/ 20 мая 2011

Получил это на форуме Android, где я задавал тот же вопрос.Надеюсь, это поможет кому-то еще.

В эмуляторе терминала на телефоне:

mount -o rw,remount -t yaffs2 /dev/block/mtdblock3 /system

Затем в командной строке cmd выполните команду adb push

57 голосов
/ 16 февраля 2017

Хотя я знаю, что вопрос касается реального устройства, в случае, если кто-то попал сюда с подобной проблемой в эмуляторе, с какими-либо инструментами, самыми последними по состоянию на февраль 2017 года, эмулятор необходимо запустить из командной строки :

-writable-system

Чтобы все могло быть записано в /system. Без этого флага никакая комбинация remount или mount не позволит записать в /system.

После того, как эмулятор запущен с этим флагом, одного adb remount после adb root достаточно, чтобы получить разрешения на переход к /system.

Вот пример командной строки, которую я использую для запуска своего эмулятора:

./emulator -writable-system -avd Nexus_5_API_25 -no-snapshot-load -qemu

Значение для флагов -avd взято из:

./emulator -list-avds
29 голосов
/ 21 декабря 2011

Я думаю, что самый безопасный способ - это перемонтировать / system как read-write, используя:

mount -o remount,rw /system

и после этого перемонтировать его только для чтения:

mount -o remount,ro /system
15 голосов
/ 04 февраля 2013

На моем Samsung galaxy mini S5570 (после того, как получил рут на мобильном телефоне):

Кулак, как root, я запустил:

systemctl start adb

как обычный пользователь:

adb shell 
su 

Предоставление прав root на сенсорном экране

mount 

перечисляет все имеющиеся у нас точки монтирования, и в моем случае мы видим, что / dev / stl12 был смонтирован в / system как ro (только для готовности)), так что нам просто нужно сделать:

mount -o rw,remount /dev/stl12 /system
11 голосов
/ 04 августа 2012

Попробуйте выполнить следующее в командной строке:

>adb remount
>adb push framework-res_old.apk /system/framework-res.apk
8 голосов
/ 25 июля 2018
adb disable-verity
adb reboot
adb root
adb remount

Это работает для меня и является самым простым решением.

6 голосов
/ 31 января 2018

Вот что у меня сработало.Я использовал эмулированное устройство Android 7.1.1 (Nougat).

В терминале я нажал следующую команду.Следует обратить внимание на флаг -writable-system

./emulator -writable-system -avd Nexus_6_API_25  -partition-size 280

На другой вкладке

./adb shell
su
mount -o rw,remount -t ext4 /dev/block/vda /system

Все изменения, внесенные в содержимое / system, сохранятся после перезапуска.

3 голосов
/ 10 мая 2015

Открыть эмулятор терминала на телефоне: затем

adb shell

после запуска этого демона

su
mount -o rw,remount /mnt/sdcard

, затем только чтение преобразуется в чтение-запись.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...