Сообщение read only file system в android
Установил adb, сделал при помощи usb_modeswitch что бы adb видело устройство, получил рут права через superoneclick, вроде бы все хорошо и можно спокойно заходить через adb shell вот только при выполнении практически любой серьезной команды пишет сообщение read only file system. Вот так например:
По умолчанию начинаешь в корне, ведройд всё монтирует в ro, остальное анально огораживает через selinux, потому ты без соответствующих разрешений в манифесте приложения пукнуть не можешь даже на флешке.
Но вернёмся к adb. Тут всё куда проще, нужно просто перемонрировать fs в rw, делается это так: #mount -o rw,remount mountpoint, в твоём случае корень скорее всего.
Большое вам спасибо, ввел команду mount -o rw,remount mountpoint / и все заработало!
-_- mountpoint не нужно было писать. Под mountpoint подразумевалось то, что нужно перемонировать, т.е. / или /system или /data или что тебе там надо.
Если это то самое устройство со вторым андроидом из прошлой темы, то там selinux нет.
Источник
Read only file system error андроид что делать
Немного теории.
Папка LOST.DIR . Почему она заполняется?
Эта папка создается в случае, когда Android запускает File System ChecK (аналог Windows Chkdsk) и находит потерянные цепочки файлов. Эти файлы появляются, если вы вытаскиваете карту памяти в момент, когда на нее будет производится запись. Ведь Windows пытается записать файлы, используя механизм кэширования. Когда вы выдёргиваете кабель, содержимое кэша не успевает записаться на диск и данные в файле оказываются неполноценные. После того, как девайс отключён от компьютера, Android запускает сканирование карты и обнаруживает такие «битые» файлы, перемещая их остатки в директорию LOST.DIR.
Полезные ссылки:
1. FAQ по устройствам и Android OS — посмотрите в FAQ по Вашему аппарату, может там описаны рекомендуемые карты памяти для конкретной модели аппарата.
2. Посмотрите тему «Аксессуары» Вашего устройства. В ней тоже может быть собрана полезная информация по рабочим и не рабочим картам.
3. Затрудняетесь с выбором карты? Тогда смотрите здесь: Аксессуары для различных устройств, а так же много советов было здесь Хочу купить карту MicroSD 32гб. Посоветуйте., и здесь: Выбор флеш карты
Приступим к практике.
1. Всегда, перед отключением девайса от компьютера, выбирайте «Безопасное извлечение» , а далее, в самом устройстве «Отключить USB накопитель» (P.S. Может называться по другому, в зависимости от модели и прошивки аппарата).
2. Проверьте карту памяти при помощи приложения ScanDisk.
3. Проблема может крыться и в самой карте памяти. Попробуйте отформатировать ее и следуя совету выше, записывайте на нее файлы.
— Как форматировать:
- Полное форматирование с помощью телефона: Меню-Настройки-Память-Отключить карту памяти (Извлечь карту)-Очистить карту-Подключить SD-карту (П.С. названия и пути могут меняться, в зависимости от модели телефона);
- Форматирование с помощью компьютера с выбором разного размера кластера.
- Форматирование с использованием специального приложения SD Formatter или Hard Disk Low Level Format Tool. Так называемое «низкоуровневое» форматирование.
4. Попробуйте поменять кэш на карте памяти с помощью этого приложения: ® SD Speed Increase
5. Форматирование не помогает? Попробуйте заменить карту памяти на другую.
6. Записанные Вами файлы с компьютера видны а с устройства нет? Посмотрите, нет ли случайно в папке, в которую Вы их записали, файла .nomedia(файл скрытый). Если есть — удалите его.
Сообщение отредактировал Gridzilla — 14.08.18, 18:54
Проверьте папки с музыкой на наличие файла .nomedia или просто отформатируйте флеш-карту и перезалейте музыку.
Сообщение отредактировал Fury-Fox — 23.10.11, 03:53
Запустите через Rescan Media сканирование флешки
Сообщение отредактировал eeriesilence — 23.10.11, 18:40
Запустите через Rescan Media сканирование флешки
Сообщение отредактировал eeriesilence — Сегодня, 19:40
Еще есть вариант, что в папке с музыкой лежит файл «.nomedia». Его надо удалить.
P.s. этот файл можно увидеть через PC
Я обычно, от чужих глаз файлы храню.
Сообщение отредактировал Kwitty — 24.10.11, 14:53
armvolk, очистите данные программы «Хранение мультимедиа» и заново запустите штатный плеер.
Сообщение отредактировал Бодтэк — 24.10.11, 15:05
armvolk, очистите данные программы «Хранение мультимедиа» и заново запустите штатный плеер.
Сообщение отредактировал Бодтэк — Вчера, 16:05
Причина редактирования: Исправил ошибку.
Друг мой, ты просто красавчик. 🙂 все сделал,как ты сказал, заработало :-):-):-):-) как тут на сайте у вас тут принято рейтинг поднимать или что, научи, подниму 🙂
У меня такая же проблема ставь лучше Power amp и забудь свои проблемы.
Добавлено 16.11.2011, 19:01:
Лучше препрошиться сохранить данные с флешки и всё будет все нормально , пробуй.
Источник
Файловая система только для чтения на Android
Я недавно укоренил свой Droid X, и все, кажется, работает отлично. Я внес некоторые изменения в build.prop и когда я делаю adb push build.prop /system/ я получаю следующую ошибку: failed to copy ‘c:\build.prop’ to ‘/system//build.prop’: Read-only file system .
Как я могу это исправить?
Не все телефоны и версии Android имеют все то же самое.
Ограничение вариантов при пересоединении было бы лучше.
Просто перемонтируйте как rw (Чтение / Запись):
После того, как вы закончите внесение изменений, перемонтируйте ro (только для чтения):
Получил это от форума Android, на котором я задал тот же вопрос. Надеюсь, это поможет кому-то другому.
На терминальном эмуляторе по телефону:
Затем в командной строке введите adb push
Работает для меня и, кажется, является самым простым решением.
Я думаю, что самый безопасный способ – перемонтировать / system как read-write, используя:
И когда это будет сделано, перемонтируйте его как только для чтения:
Хотя я знаю, что вопрос касается реального устройства, в случае, если кто-то попал сюда с подобной проблемой в эмуляторе, с любыми инструментами, имеющими последнее значение с февраля 2017 года, эмулятор должен быть запущен из командной строки с помощью:
Для того, чтобы что-либо записывалось в /system . Без этого флага никакая комбинация remount или mount не позволит записать в /system .
После запуска эмулятора с этим флагом, один adb remount после adb root достаточно, чтобы получить разрешения на push /system .
Вот пример командной строки, которую я использую для запуска моего эмулятора:
Значение для флагов -avd происходит от:
На моей галактике Samsung mini S5570 (после того, как получил корень на сотовом телефоне):
Кулак, как корень, я побежал:
Как обычный пользователь:
Предоставить права доступа на сенсорный экран
Перечислите все точки монтирования, которые у нас есть, и мы можем видеть, в моем случае, что / dev / stl12 был установлен в / system как ro (только готовый), поэтому нам просто нужно:
В командной строке выполните следующие действия:
Откройте эмулятор терминала на телефоне: затем
После запуска этого демона
То чтение только преобразуется в чтение-запись.
Я нашел эту статью из Google и подумал, что добавлю шаги, необходимые для Sony Xperia Z (4.2.2).
Sony имеет сторожевой процесс, который обнаруживает, когда вы изменили ro на rw on / and / system (это единственные, которые я пытался изменить) и, возможно, другие.
Следующее – это то, что я побежал, чтобы выполнить изменения, которые я пытался достичь. Я вставил их в окно, потому что удаление бит выполнения из / sbin / ric необходимо выполнить быстро, чтобы остановить его перезапуск. (Я пытался stop ric , это не сработало – хотя он работал над предыдущей версией Android на телефоне).
Я изменил файл hosts здесь, так что это место, где вы вносите изменения, необходимые для файловой системы. Чтобы оставить вещи так, как мы их нашли, сделайте следующее:
В какой момент ric должен автоматически перезагрузиться. (Он автоматически перезагрузился для меня.)
Добавляя немного больше ответа Яна Бергстрема: поскольку Android – это система на базе Linux, а путь в Linux содержит косые черты (../), используя команду push, используйте «/» для определения пути назначения на устройстве Android.
Например, команда: adb push C: \ Users \ admin \ Desktop \ 1.JPG sdcard / pictures /
Обратите внимание, что здесь обратные косые черты используются для определения пути к исходному файлу файла, который должен быть вытолкнут с ПК Windows, и косые черты используются для определения пути назначения, потому что Android – это система на основе Linux. Вы не должны выступать в качестве корня для использования этой команды, а также отлично работает на производственных устройствах.
Иногда вы получаете ошибку, потому что место назначения в телефоне не существует. Например, какое-то местоположение внешней памяти телефона Android также есть /storage/emulated/legacy вместо /storage/emulated/0 .
работает на меня
Спасибо, Sérgio , за команду «mount» без параметров. Мне нужно сделать adb push в /data/data/com.my.app/lib для некоторой проблемы с тестированием и получить сообщение «Только для чтения».
Команда ls показывает мне:
root@android:/ # ls -l /data/data/com.my.app/
drwxrwx—x u0_a98 u0_a98 2016-05-06 09:16 cache drwxrwx—x u0_a98 u0_a98 2016-05-06 09:04 files lrwxrwxrwx system system 2016-05-06 11:43 lib -> /mnt/asec/com.my.app-1/lib
Итак, понятно, что каталог «lib» отделен от других каталогов приложений.
Команда mount -o rw,remount /mnt/asec не решила проблему «r / o fs», она хочет параметр устройства перед параметром каталога.
Команда «df» тоже не помогла, но показывает, что мой каталог /mnt/asec/com.my.app-1 находится в отдельной точке монтирования.
Затем я смотрю на mount и вуаля!
root@android:/ # mount . /dev/block/dm-4 /mnt/asec/com.my.app-1 ext4 ro,dirsync,relatime 0 0
Следующие шаги уже описаны вверх: перемонтируйте RW, нажмите и верните обратно в RO.
Если произошел сбой при копировании файла, доступного только для чтения, вы можете попробовать найти исходный файл в корневом каталоге и изменить его с помощью текстового редактора корневого текста (желательно), он поставляется с приложением ROM Toolbox.
Попробуйте это в терминальном эмуляторе как root:
Это то, что нужно извлечь и переупаковать initrc.img и отредактировать файл init с помощью кода mount / system
Скопировать файлы на SD-карту?
Ну, я полагаю, вам нравится копировать данные на Sd-карту с компьютера разработчиков? Возможно, вы укоренились в разработке и сделали доступную область доступной?) У меня была проблема с загрузкой файлов данных для моего приложения (Android Studio 1.3.2 в Win7), но.
- Сначала командную оболочку adb необходимо найти в пути: PATH =% PATH%; C: \ Users \ XXXXX \ AppData \ Local \ Android \ sdk \ platform-tools (папка AppData скрыта, поэтому вам нужно установить Установка папки не скрывает скрытые файлы и папку, чтобы найти ее, Path работает независимо)
- Вы должны указать путь к папке вправо или получить сообщение об ошибке только для чтения, скорее всего, оно должно начинаться с / sdcard или это область только для чтения. Как только я не сделал никаких проблем, нажав файл на эмулятор.
Так, например, команда adb может выглядеть так:
Источник
Файловая система только для чтения на Android
Недавно я основал свой Droid X, и все, кажется, работает отлично. Я внес некоторые изменения в build.prop , и когда я делаю adb push build.prop /system/ , я получаю следующую ошибку: failed to copy ‘c:\build.prop’ to ‘/system//build.prop’: Read-only file system .
Как я могу это исправить?
Получил это от форума Android, на котором я задал тот же вопрос. Надеюсь, это поможет кому-то еще.
В терминальном эмуляторе по телефону:
Затем в командной строке введите adb push
Не все телефоны и версии Android имеют все то же самое.
Ограничение параметров при пересоединении было бы лучше.
Просто перемонтируйте как rw (Чтение/Запись):
Как только вы закончите внесение изменений, перемонтируйте ro (только для чтения):
работает для меня и, кажется, является самым простым решением.
Пока я знаю, что вопрос касается реального устройства, если кто-то попал сюда с подобной проблемой в эмуляторе, с любыми инструментами, имеющими последнее значение с февраля 2017 года, эмулятор должен быть запущен из командной строки с помощью
Чтобы что-либо было доступно для записи в /system . Без этого флага никакая комбинация remount или mount не позволяет записать на /system .
После запуска эмулятора с этим флагом, один adb remount после adb root достаточно, чтобы получить разрешения для нажатия на /system .
Вот пример командной строки, которую я использую для запуска моего эмулятора:
Значение для флагов -avd происходит от:
Я думаю, что самый безопасный способ – перемонтировать /system как read-write, используя:
и, когда это будет сделано, перемонтируйте его как только для чтения:
На моей галактике Samsung mini S5570 (после того, как он получил корень на сотовом телефоне):
Кулак, как root, я побежал:
как обычный пользователь:
Предоставить права доступа root на сенсорном экране
укажите все точки монтирования, которые у нас есть, и мы можем видеть, в моем случае, что /dev/stl 12 был установлен в /system как ro (только готовый), поэтому нам просто нужно:
В командной строке выполните следующие действия:
Вот что сработало для меня. Я запускал эмулятор Android 7.1.1 (нуга).
На терминале я нахожу следующую команду. Одна вещь, которую нужно заметить, – это флаг -writable-system
На другой вкладке
Все изменения, внесенные в/содержимое системы, сохранятся при перезапуске.
Это работает для меня и является самым простым решением.
Открыть эмулятор терминала на телефоне:
затем
после запуска этого демона
тогда чтение только преобразуется в read-Write.
работает для меня
Я нашел эту статью из Google и подумал, что добавлю шаги, необходимые для Sony Xperia Z (4.2.2).
В Sony есть сторожевой процесс, который обнаруживает, когда вы изменили ro на rw в/и/system (это единственные, которые я пытался изменить) и, возможно, другие.
Следующее было тем, что я выполнял для выполнения изменений, которые я пытался достичь. Я вложил их в окно, потому что удаление бит выполнения из /sbin/ric необходимо выполнить быстро, чтобы остановить его перезапуск. (Я пробовал stop ric , это не сработало – хотя он работал над предыдущей версией Android на телефоне).
Я изменил здесь файл hosts, так что это место, где вы вносите необходимые изменения в файловую систему. Чтобы оставить вещи так, как мы их нашли, сделайте следующее:
В какой момент ric должен автоматически перезагрузиться. (Он автоматически перезагрузился для меня.)
Добавляя немного больше ответа Янга Бергстрема: потому что Android – это система на базе Linux, а в Linux в Linux содержатся косые черты (../) при использовании команды push, используйте “/” для определения пути назначения в Android-устройство.
Например, команда: adb push C:\Users\admin\Desktop\1.JPG sdcard/pictures/
Обратите внимание, что здесь обратные косые черты используются для определения пути к исходному файлу файла, который должен быть вытолкнут с Windows PC, и косые черты используются для определения пути назначения, потому что Android – это система на основе Linux. Вам не нужно действовать как root, чтобы использовать эту команду, а также отлично работает на производственных устройствах.
Иногда вы получаете ошибку, потому что место назначения в телефоне не существует. Например, какое-то местоположение внешнего хранилища телефона Android вместо /storage/emulated/0 .
Спасибо, Sérgio, для команды “mount” без параметров.
Мне нужно сделать adb push в /data/data/com.my.app/lib для некоторой проблемы с тестированием и получить сообщение “Только для чтения”.
ls показывает мне:
root@android:/ # ls -l /data/data/com.my.app/
drwxrwx—x u0_a98 u0_a98 2016-05-06 09:16 cache
drwxrwx—x u0_a98 u0_a98 2016-05-06 09:04 files
lrwxrwxrwx system system 2016-05-06 11:43 lib -> /mnt/asec/com.my.app-1/lib
Итак, он понял, что каталог “lib” отделен от других каталогов приложений.
Command
mount -o rw,remount /mnt/asec
не решила проблему “r/o fs”, она хочет параметр устройства перед параметром каталога.
“df” также не помогла, но показывает, что мой каталог /mnt/asec/com.my.app-1 находится в отдельной точке монтирования.
Затем я смотрю на mount и voila!
root@android:/ # mount
.
/dev/block/dm-4 /mnt/asec/com.my.app-1 ext4 ro,dirsync,relatime 0 0
Следующие шаги уже описаны вверх: перемонтируйте RW, нажмите и верните обратно в RO.
it sames, который должен извлечь и переупаковать initrc.img и отредактировать файл init с кодом mount/system
В моем случае я использовал команду adb push
Я изменил его на
/Desktop/file.txt/sdcard/ а затем он сработал.
Обязательно отключите и снова подключите телефон.
Если произошел сбой при копировании файла, доступного только для чтения, вы можете попробовать найти исходный файл в корневом каталоге и изменить его с помощью текстового редактора корневого текста (желательно) RB, он поставляется с приложением ROM Toolbox.
Попробуйте это в терминальном эмуляторе как root:
Скопировать файлы на SD-карту?
Ну, я полагаю, вам нравится копировать данные на Sd-карту с компьютера разработчиков? Возможно, вы укоренились в разработке и сделали доступную область доступной?) У меня была проблема с загрузкой файлов данных для моего приложения (Android Studio 1.3.2 в Win7), но.
- Сначала команда-команда adb должна быть найдена в пути:
PATH =% PATH%; C:\Users\XXXXX\AppData\Local\Android\sdk\platform-tools (папка AppData скрыта, поэтому вам нужно установить настройку папки, не скрывая скрытые файлы и папку, чтобы найти ее, Path работает независимо) - Вам нужно указать путь к папке вправо или получить сообщение об ошибке только для чтения, скорее всего, оно должно начинаться с /sdcard или это область только для чтения. Как только я не сделал никаких проблем, нажав файл на эмулятор.
Итак, например, команда adb может выглядеть так:
Источник