«В Linux файловая система — это набор данных (файлов и каталогов), хранящихся на устройстве хранения. Ваша операционная система полагается на файловую систему, чтобы сообщать о физическом расположении и расположении файлов. Без файловой системы файлы выглядели бы как невидимые или случайные биты.
Каждая файловая система также имеет свои собственные разрешения, определяющие, какие пользователи/группы могут выполнять действия чтения/записи. В этой статьи будет показано исправление ошибки “Read-only file system” в Ubuntu.
Разрешения файловой системы
Linux — многопользовательская операционная система. Чтобы управлять тем, какой пользователь может получить доступ к какой части системы, Linux реализует различные функции безопасности. Одной из таких функций являются права доступа к файлам и права собственности. Он определяет владельца файла и тех, кто может их читать/записывать/выполнять.
Аналогичная концепция применима к файловым системам Linux. Каждая файловая система защищена пользовательскими разрешениями, которые контролируют, кому разрешено выполнять какие действия в файловой системе.
Как следует из ошибки, целевая файловая система отменяет запросы на запись, поскольку это файловая система только для чтения. Если это сделано намеренно, вам нужно попросить системного администратора предоставить письменное разрешение. Если это не так, следуйте этой статьи.
Решение
Решение этой проблемы состоит в том, чтобы исправить разрешения файловой системы. В зависимости от типа файловой системы доступно несколько инструментов.
В большинстве случаев эти процедуры лучше выполнять в реальном сеансе Ubuntu. Таким образом, никакая другая программа не будет мешать процедуре. Кроме того, вы можете загрузиться с другой установки Ubuntu. Ознакомьтесь с установкой Ubuntu на USB-накопитель.
Определение целевой файловой системы
Во-первых, определите файловую систему, с которой мы будем работать. Выведите список всех доступных файловых систем с помощью следующей команды:
$ sudo fdisk -l
Кроме того, мы также можем использовать инструмент findmnt для вывода списка всех смонтированных файловых систем:
$ findmnt
Из списка определите целевое устройство/раздел. В этом примере мое целевое устройство — /dev/loop17.
Если вы предпочитаете использовать графический интерфейс, вы также можете использовать утилиту GNOME Disks:
Исправление файловой системы
После того, как мы определили файловую систему и время ее восстановления, большинство систем Linux (включая Ubuntu) поставляются с командой fsck, специальным инструментом для восстановления файловой системы Linux. Узнайте больше об использовании fsck в Linux.
Чтобы исправить файловую систему, выполните следующую команду:
$ sudo fsck -f /dev/loop17
Если вы используете GNOME disk, выберите файловую систему, щелкните значок шестеренки и выберите «Восстановить файловую систему».
Затем перезагрузите машину. Теперь файловая система должна вести себя так, как ожидалось.
Шаги, чтобы избежать ошибок файловой системы
Ни одна файловая система не застрахована от повреждений и ошибок. Однако мы можем выработать определенные привычки для повышения общей стабильности:
- Прежде чем выключать машину, правильно выключите систему. Часто неправильное завершение работы вызывает повреждение данных и приводит к различным ошибкам файловой системы.
- Перед удалением любого переносного хранилища правильно извлеките/размонтируйте его из системы. В противном случае это может привести к повреждению файловой системы (особенно файловых систем на основе FAT).
- Если вы работаете с жестким диском, следите за информацией SMART о диске. Это может указывать на то, что диск умирает задолго до того, как вы получите мертвый жесткий диск.
- Храните резервные копии важных данных в отдельном хранилище, чтобы не быть заблокированными.
Последние мысли
В этой статье мы продемонстрировали исправление файловой системы, предотвращающей действия записи, что приводит к «файловой системе только для чтения» в Ubuntu. Мы также рассмотрели несколько методов снижения вероятности повреждения файловой системы.
Некоторые файловые системы более устойчивы к повреждению, чем другие, например ZFS. Он поставляется со встроенной защитой целостности данных и сжатием данных и может работать с большой емкостью хранилища. Ознакомьтесь с настройкой ZFS в Ubuntu.
Удачных вычислений!