Вы не можете редактировать этот файл поскольку файловая система доступна только для чтения

Обновлено: 07.07.2024

Платформа Убунту считается самой универсальной и доступной не только продвинутым пользователям, но и новичкам. Здесь так же, как и в других операционных системах, можно спокойно работать с различными документами, пакетами программ, различными медиа-приложениями. Однако часто у начинающих пользователей возникают проблемы с различными процессами, связанными в целом с управлением всех программ и утилит. Получается, что не работает именно файловая система Ubuntu. Причин такого состояния платформы Убунту большое множество. Соответственно, и методов существует столько же. Однако следует учитывать специфические нюансы в техники восстановления системы, для этого используя программы для проверки ошибок.

Что значит ошибка файловой системы

Файловая система Убунту является важным элементом, регулирующим основные действия с документами, архивами, пакетами, программами и приложениями.

Причины, по которым файловая система Ubuntu доступна только для чтения

Существует очень много весомых поводов, из-за которых файловая система Linux доступна только для чтения. Самыми распространенными причинами считаются:

  1. Защита от физической записи. Именно из-за этого у начинающего пользователя во время чтения архива произошла ошибка Ubuntu.
  2. Различные разрешения файлов. Многие программы, работающие с файлами, устанавливают свой размер и расширение. Если есть какое-либо несовпадение параметров отдельных программ и приложений, то возникает изучаемая проблема.
  3. Неудачная установка различных разделов элемента. Поскольку работа каждого раздела зависит от действия остальных, то и при неполадке в одном будут «страдать» другие.
  4. Вирусные программы. При установке платформы Убунту, загрузке дополнительных утилит или при обновлении, а также использовании съемных носителей возникает риск получения троянских программ. Чаще всего они снижают работоспособность и нормальный механизм действия отдельных элементов меню платформы.
  5. Физические проблемы и нарушения в гаджете с установленной платформой убунту.

Исправление ошибок файловой системы – важный процесс, о котором должен знать каждый начинающий пользователь.

Совет! Новичку при неуверенности в своих силах и знаниях следует предварительно проконсультироваться со специалистами сервисного центра.

Для решения изучаемой проблемы существует 3 распространенных способа.

1 вариант

В этом случае используется встроенная утилита fsck.

  1. Открыть терминал Убунту. Это можно сделать 2 путями: либо через главное меню, либо через клавиатуру. В первом случае следует нажать на значок Dash и выбрать «Терминал» в выпадающем списке. Во втором надо одновременно нажать клавиши Alt, Ctrl, T.
  2. Для того чтобы утилита не задавала многочисленные вопросы для утверждения, следует заранее задать команду для восстановления изучаемого объекта записью sudo fsck -y /dev/sda1.
  3. Затем нужно произвести восстановление поврежденного суперблока. Для вывода резервных элементов нужно задать команду sudo mkfs -t ext4 -n /dev/sda . После чего каждым попробовать восстановить объект с помощью выражения sudo fsck -b 98304 /dev/sda1.
  4. Найти битые сектора командой sudo fsck -c /dev/sda1 и ничего больше в них не писать.
  5. А после перезагрузить Убунту.

Файловая система будет работать

2 вариант

Если Убунту находится на флешке, то можно спокойно решить проблему через другую операционную систему – Виндоус.

  1. Проверить неисправность Убунту через флешку на Виндоус.
  2. Произвести в случае неполадки форматирование на съемном носителе. Предварительно важные данные следует скопировать на резервную флешку.
  3. Проверить через терминал. Просмотреть список носителей fdisk –l. Затем проверить один из них, например hdparm -i /dev/sdf | grep Model . Проверить проблемные области badblocks -s /dev/sdf1 > /root/badblock . После отменить проверку e2fsck -l /root/badblock /dev/sdf.

Файловая система будет работать.

3 вариант

Здесь используется встроенная утилита G Parted. Так же, как и предыдущий способ, этот метод работает только для Убунту на флешке.

  1. Установить программу с помощью команды в терминале: sudo apt-get install gparted.
  2. Открыть утилиту. Проблемные места будут отмечены восклицательным знаком.
  3. Открыть съемный носитель. Кликнуть на вкладку «Раздел». Затем выбрать « Проверки на ошибки». Запустить.

Файловая система будет работать.

Проверка на ошибки


Этот процесс также проводится с помощью fsck.

  1. Выяснить имена файлового меню в консоли (войти с помощью Alt, F1) командой df -h.
  2. Размонтировать исправленную утилиту umount /dev/hda1.
  3. Включить утилиту fsck /dev/hda1.
  4. Сделать проверку командой 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, сохранятся после перезапуска.

Я проверил с эмулятором и следующий работал.

  1. перезагрузка adb
  2. корень 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.

Читайте также: