Вы не можете редактировать этот файл поскольку файловая система доступна только для чтения
Обновлено: 07.07.2024
Платформа Убунту считается самой универсальной и доступной не только продвинутым пользователям, но и новичкам. Здесь так же, как и в других операционных системах, можно спокойно работать с различными документами, пакетами программ, различными медиа-приложениями. Однако часто у начинающих пользователей возникают проблемы с различными процессами, связанными в целом с управлением всех программ и утилит. Получается, что не работает именно файловая система Ubuntu. Причин такого состояния платформы Убунту большое множество. Соответственно, и методов существует столько же. Однако следует учитывать специфические нюансы в техники восстановления системы, для этого используя программы для проверки ошибок.
Что значит ошибка файловой системы
Файловая система Убунту является важным элементом, регулирующим основные действия с документами, архивами, пакетами, программами и приложениями.
Причины, по которым файловая система Ubuntu доступна только для чтения
Существует очень много весомых поводов, из-за которых файловая система Linux доступна только для чтения. Самыми распространенными причинами считаются:
- Защита от физической записи. Именно из-за этого у начинающего пользователя во время чтения архива произошла ошибка Ubuntu.
- Различные разрешения файлов. Многие программы, работающие с файлами, устанавливают свой размер и расширение. Если есть какое-либо несовпадение параметров отдельных программ и приложений, то возникает изучаемая проблема.
- Неудачная установка различных разделов элемента. Поскольку работа каждого раздела зависит от действия остальных, то и при неполадке в одном будут «страдать» другие.
- Вирусные программы. При установке платформы Убунту, загрузке дополнительных утилит или при обновлении, а также использовании съемных носителей возникает риск получения троянских программ. Чаще всего они снижают работоспособность и нормальный механизм действия отдельных элементов меню платформы.
- Физические проблемы и нарушения в гаджете с установленной платформой убунту.
Исправление ошибок файловой системы – важный процесс, о котором должен знать каждый начинающий пользователь.
Совет! Новичку при неуверенности в своих силах и знаниях следует предварительно проконсультироваться со специалистами сервисного центра.Для решения изучаемой проблемы существует 3 распространенных способа.
1 вариант
В этом случае используется встроенная утилита fsck.
- Открыть терминал Убунту. Это можно сделать 2 путями: либо через главное меню, либо через клавиатуру. В первом случае следует нажать на значок Dash и выбрать «Терминал» в выпадающем списке. Во втором надо одновременно нажать клавиши Alt, Ctrl, T.
- Для того чтобы утилита не задавала многочисленные вопросы для утверждения, следует заранее задать команду для восстановления изучаемого объекта записью sudo fsck -y /dev/sda1.
- Затем нужно произвести восстановление поврежденного суперблока. Для вывода резервных элементов нужно задать команду sudo mkfs -t ext4 -n /dev/sda . После чего каждым попробовать восстановить объект с помощью выражения sudo fsck -b 98304 /dev/sda1.
- Найти битые сектора командой sudo fsck -c /dev/sda1 и ничего больше в них не писать.
- А после перезагрузить Убунту.
Файловая система будет работать
2 вариант
Если Убунту находится на флешке, то можно спокойно решить проблему через другую операционную систему – Виндоус.
- Проверить неисправность Убунту через флешку на Виндоус.
- Произвести в случае неполадки форматирование на съемном носителе. Предварительно важные данные следует скопировать на резервную флешку.
- Проверить через терминал. Просмотреть список носителей fdisk –l. Затем проверить один из них, например hdparm -i /dev/sdf | grep Model . Проверить проблемные области badblocks -s /dev/sdf1 > /root/badblock . После отменить проверку e2fsck -l /root/badblock /dev/sdf.
Файловая система будет работать.
3 вариант
Здесь используется встроенная утилита G Parted. Так же, как и предыдущий способ, этот метод работает только для Убунту на флешке.
- Установить программу с помощью команды в терминале: sudo apt-get install gparted.
- Открыть утилиту. Проблемные места будут отмечены восклицательным знаком.
- Открыть съемный носитель. Кликнуть на вкладку «Раздел». Затем выбрать « Проверки на ошибки». Запустить.
Файловая система будет работать.
Проверка на ошибки
Этот процесс также проводится с помощью fsck.
- Выяснить имена файлового меню в консоли (войти с помощью Alt, F1) командой df -h.
- Размонтировать исправленную утилиту umount /dev/hda1.
- Включить утилиту fsck /dev/hda1.
- Сделать проверку командой fsck -y -f -c /dev/hda1 .
Если все сделано правильно, то проверка будет осуществлена.
- 0 – нет ошибок;
- 1 – ошибки элемента исправлены;
- 2 – необходима перезагрузка утилиты;
- 4 – ошибки элемента не исправлены;
- 8 – в процессе проверки произошли ошибки;
- 16 – неверное использование команды либо синтаксическая ошибка;
- 32 – fsck была прервана пользователем;
- 128 – ошибка разделяемых объектов.
Далее нужно в соответствии с ошибками ремонтировать разные элементы изучаемого объекта.
Заключение
Файловая система Убунту – сложный элемент платформы. Для решения различных проблем существует множество различных методов. Об использовании каждого следует предварительно проконсультироваться со специалистами.
Я недавно рутировал свой Droid X и все вроде отлично работает. Я сделал некоторые изменения, build.prop и когда adb push build.prop /system/ я получаю, я получаю следующую ошибку: failed to copy 'c:\build.prop' to '/system//build.prop': Read-only file system .
Обратите внимание, что этот вопрос не следует путать со случаем, когда код приложения Android не работает с ошибкой файловой системы только для чтения. Это обычно вызывается попыткой записи файла без указания местоположения, т. Е. Попыткой записи в корневой каталог. Этот вопрос касается только изменения самой установки Android на рутированных / разрабатываемых / инженерных устройствах. Есть ли способ сделать это с эмулятором Android ?? Ни одно из этих решений не работает для моего эмулятора.Не на всех телефонах и версиях Android установлены одинаковые вещи.
Ограничение параметров при перемонтировании было бы наилучшим.
Просто перемонтируйте как rw (чтение / запись):
После внесения изменений перемонтируйте в ro (только для чтения):
Вы можете сделать это на вашем компьютере тоже. Оболочка adb -o rw, remount / system Используйте вместе с adb root или вы получите Отказ в разрешении при нажатии файла. @MikeHenke, похоже, что вы не были пользователем root, когда выполняли его. Так как у меня в любом случае был root, я скопировал файл в / sdcard, а затем использовал (в моем случае) mv hosts /system/etc/hostsработает для меня и, кажется, самое простое решение.
У меня есть Not running as root. Try "adb root" first. . А потом adbd cannot run as root in production builds . На более новых устройствах это выглядит так, как будто нам также нужно $ adb disable-verity перезагрузить устройство, прежде чем мы сможем его запустить $ adb remount $ adb disable-verity give: disable-verity работает только для сборок userdebug это не работает Not running as root. Try "adb root" first. . Я вошел, adb root а затем снова, adb remount но все еще та же ошибка: Not running as root. Try "adb root" first.Получил это на форуме Android, где я задавал тот же вопрос. Надеюсь, это поможет кому-то еще.
На эмуляторе терминала на телефоне:
Затем в командной строке cmd выполните adb push
adb shell <command> можно использовать с компьютера (если у вас нет терминала на телефоне)Хотя я знаю, что вопрос касается реального устройства, в случае, если кто-то попал сюда с похожей проблемой в эмуляторе, с какими-либо инструментами, самыми последними по состоянию на февраль 2017 года, эмулятор должен быть запущен из командной строки с помощью:
Для чего-либо, чтобы быть доступным для записи /system . Без этого флага ни одна комбинация remount или mount не позволит писать /system .
После запуска эмулятора с этим флагом достаточно одного adb remount после, adb root чтобы получить разрешения для отправки /system .
Вот пример командной строки, которую я использую для запуска своего эмулятора:
Значение для -avd флагов происходит от:
моя командная строка становится очень медленной, пока не может продолжить работу с adb root и adb remount после запуска эмулятора с -writable-system, кто-нибудь может помочь?Я думаю, что самый безопасный способ это перемонтировать / system как read-write, используя:
и когда закончите, перемонтируйте его только для чтения:
это сработало только для меня, как только я удалил «,» из заявления. т.е. "" mount -o remount rw / system ""На моем Samsung galaxy mini S5570 (после получения рута на мобильном телефоне):
Кулак, как корень, я побежал:
как обычный пользователь:
Предоставление прав root на сенсорном экране
перечислите все точки монтирования, которые у нас есть, и мы можем видеть, в моем случае, что / dev / stl12 был смонтирован в / system как ro (только готово), поэтому нам просто нужно сделать:
Спасибо за этот ответ. По какой-то причине я никогда не смотрел на экран своего телефона, чтобы предоставить права root, и получал отказ в доступе, что бы я ни пытался. говоря «Вы должны указать тип файловой системы с -t.», что это значит? mount -o rw, remount -t ext4 / dev / block / vda / system, -t означает тип файловой системы в моем примере ext4Попробуйте следующее в командной строке:
Это работает для меня и является самым простым решением.
Вот что сработало для меня. У меня было эмулированное устройство Android 7.1.1 (Nougat).
На терминале я нажал следующую команду. Одна вещь, которую нужно отметить, это флаг -writable-system
На другой вкладке
Все изменения, внесенные вами в содержимое / system, сохранятся после перезапуска.
Я проверил с эмулятором и следующий работал.
- перезагрузка adb
- корень adb && adb remount && adb push
Как уже упоминалось выше, выполните второй шаг за один выстрел.
Откройте эмулятор терминала на телефоне: тогда
после запуска этого демона
затем только чтение преобразуется в чтение-запись.
работает для меня
Я нашел эту статью в Google и подумал, что добавлю шаги, необходимые для Sony Xperia Z (4.2.2).
У Sony есть сторожевой процесс, который обнаруживает, когда вы изменили ro на rw на / и / 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. Вам не нужно выступать в роли пользователя root, чтобы использовать эту команду, а также, она отлично работает на производственных устройствах.
Команда ls показывает мне:
Итак, понятно, что каталог "lib" отделен от других каталогов приложений.
команда mount -o rw,remount /mnt/asec не решила проблему «r / o fs», она хочет, чтобы параметр устройства был указан перед параметром каталога.
Команда "df" тоже не помогла, но показывает, что мой /mnt/asec/com.my.app-1 каталог находится в отдельной точке монтирования.
Тогда я смотрю mount и вуаля!
Следующие шаги уже описаны вверх: перемонтировать в RW, нажать и перемонтировать обратно в RO.
недавно я укоренил свой 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, где я задал тот же вопрос. Надеюсь, это поможет кому-то еще.
на эмуляторе терминала по телефону:
затем в командной строке cmd выполните adb push
работает для меня и кажется самым простым решением.
хотя я знаю, что вопрос касается реального устройства, в случае, если кто-то попал сюда с аналогичной проблемой в эмуляторе, с любыми инструментами, последними по состоянию на февраль 2017 года, эмулятор должен быть запущен из командной строки с:
для всего, что можно записать в /system . Без этого флага нет комбинации remount или mount позволит написать /system .
после запуска эмулятора с этим флагом, один adb remount после adb root достаточно, чтобы получить разрешения, чтобы нажать на /system .
вот пример командной строки, которую я использую для запуска моего эмулятора:
значение -avd флаги поставляется из:
Я думаю, что самый безопасный способ-переустановить / system как read-write, используя:
и когда закончите, установите его как только для чтения:
на моем Samsung galaxy mini S5570 (после того, как получил root на мобильном телефоне):
кулаком, как корнем, я побежал:
как обычный пользователь:
предоставить права root на сенсорном экране
перечислите все точки монтирования, которые у нас есть, и мы можем видеть, в моем случае, что /dev / stl12 был установлен на / system как ro( только готовый), поэтому нам просто нужно сделать:
попробуйте следующее в командной строке:
вот что сработало для меня. Я запускал эмулированное устройство Android 7.1.1 (Нуга).
на терминале я нажал следующую команду. Следует отметить, что флаг-writable-system
все изменения, которые вы делаете в содержимом /system, переживут перезапуск.
это работает для меня и является самым простым решением.
открыть эмулятор терминала на телефоне: тогда
после этого демон начал
затем только чтение преобразуется в чтение-запись.
Я нашел эту статью из google и подумал, что добавлю шаги, необходимые для Sony Xperia Z (4.2.2).
У Sony есть сторожевой процесс, который обнаруживает, когда вы изменили ro на rw on /and / system (это единственные, которые я пытался изменить) и, возможно, другие.
ниже было то, что я побежал, чтобы выполнить изменения, которые я пытался достичь. Я вставил их в окно, потому что удаление бита execute из /sbin/ric должно быть сделано быстро, чтобы чтобы остановить его перезапуск. (Я пытался!--2-->; это не работает, хотя он работал на предыдущей версии Андроид на телефоне).
Я изменил файл hosts здесь, так что это место, где вы делаете изменения, необходимые для файловой системы. Чтобы оставить вещи такими, какими мы их нашли, сделайте следующее:
в этот момент ric должен автоматически перезапустить. (Он перезапускается автоматически.)
добавление немного больше к ответу Яна Бергстрема: потому что Android - это система на базе Linux, и путь в Linux содержит косые черты(../ ), используя команду push, используйте "/" для определения пути назначения на устройстве Android.
например, команда идет: ADB push C:\Users\admin\Desktop\1 - . JPG sdcard / картинки/
обратите внимание, что здесь задние косые черты используются для определения исходного пути файла, который будет выталкиваться с ПК с windows, и передние косые черты используются для определите путь назначения, потому что Android - это система на базе Linux. Вам не нужно действовать как root, чтобы использовать эту команду, а также она отлично работает на производственных устройствах.
иногда вы получаете ошибку, потому что место в телефоне не существует. Например, некоторое внешнее хранилище телефона android является /storage/emulated/legacy вместо /storage/emulated/0 .
команда ls показывает мне:
итак, понятно, что каталог " lib " отделен от других каталогов приложений.
mount -o rw,remount /mnt/asec не разрешил проблему "r/o fs", он хочет параметр устройства перед каталогом параметр.
команда"df" также не помогла, но показывает, что мой /mnt/asec/com.my.app-1 каталог находится в отдельной точке монтирования.
тогда я смотрю мимо mount и вуаля!
следующие шаги уже описаны вверх: перемонтировать в RW, нажмите и снова перемонтировать в RO.
Жёсткий же мрёт. Сохраняй нужное и пока fsck сделай (хотя не поможет скорей всего).
А что mount | grep ro говорит?
Покажи выхлоп mount
none on /proc type proc (rw,noexec,nosuid,nodev) binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,noexec,nosuid,nodev)
Кореня то нет. Скорее всего или винт летит, или шлейф глючит.
Что это значит? БОльшую часть времени работает же без проблем вообще..
И в каком файле лога искать корни, чтобы попытаться рабобраться?
dmesg
Выложи на пастебин
dmesg | grep mount
dmesg | grep sda (если sda - твой винт)
В линуксе у файловых систем есть опция: перемонтировать в read-only при возникновении ошибок ввода-вывода. Твоя задача найти причину их возникновения. Возможно, действительно умирает жесткий. А может питания не хватает. Да много причин.
[ 27.062172] EXT4-fs (sda7): warning: mounting fs with errors, running e2fsck is recommended
[ 27.247949] EXT4-fs (sda8): warning: maximal mount count reached, running e2fsck is recommended
[ 27.249181] EXT4-fs (sda8): recovery complete
[ 27.249440] EXT4-fs (sda8): mounted filesystem with ordered data mode
Попробуй e2fsck (или что-то другое), только сохрани нужное куда-нибудь.
Блин, так у меня нужного куча всего, даже не знаю куда слить. Размонтировать надо раздел перед запуском e2fsck? Чета погуглил, нашел топиков много, что e2fsck убила фс - побаиваюсь..
Что это значит? БОльшую часть времени работает же без проблем вообще..
Насколько я знаю для нормальной работы должен быть примонтирован корень.
Выхлоп mount должен показать что-то вроде:
/dev/sda1 on / type ext4 (ro,noatime,user_xattr,acl,barrier=1,data=ordered)
По идее, после этого ты не сможешь запускать новые приложения.
На будущее (мой совет, может не совсем правильный):
создавай несколько разделов:
1- /, 10-15 гб, опция монтирования - ro
2 - /var/, rw
3 - /home/, rw
/var можно сделать и ro тоже, но несколько директорий нужно будет монтировать с помощью mount -o bind например из /home/var/
Слушай, ты бы не давал вредных советов, а? Ты явный нуб, попридержи желание казаться более квалифицированным, чем ты есть.
Фильмы можно удалять)
Проси у знакомых флешки/жеские, в крайнем случае dvd-шка стоит около 1$. Сколько инфы то нужно слить?
Скажи, какой процент вероятности того, что хард начинает накрываться?
Не буду притендовать на инстину, но у меня лично переход в ro шел только из за ошибок чтения, и винт после них был уже ОЧЕНЬ дохлый.
Хотя мало ли по какой причине оно может происходить, как выше замечено ещё шлейф может отходить.
Вообще желательно хотя бы основное все сбекапить, а потом прогнать винт низкоуровневой системой проверки типа Victoria.
Если винту ещё не совсем кирдык (считай блоков не читаемых мало), то она может замедлить процесс смерти ФС на месяц другой.
Ну и если скидываь некуда, то заливай на гугл/яндекс/дропбокс в шифрованном виде.
Да ну так-то такая фигня у меня происходить начала около полугода назад, изредка бывает, большую часть времени проблем нет. Повторюсь - какой процент того, что все будет ок после полной переустановки убунты на чистый винт?
На ноуте шлейфа то вроде нету.
а потом прогнать винт низкоуровневой системой проверки типа Victoria.
Читайте также: