Ошибка «Read-only file system» при попытке создать или изменить файл означает, что раздел смонтирован в режиме только чтения, и исправить это чаще всего можно командой mount -o remount,rw без перезагрузки системы. Такая ситуация типична для корневого раздела после сбоя файловой системы, для SD-карт на Android-устройствах с root-доступом и для внешних дисков, которые ядро перевело в защитный режим из-за ошибок.
Перемонтирование — это изменение параметров уже смонтированной файловой системы «на лету», без отключения и повторного подключения. В этой статье разберём, как работает опция remount, когда она помогает, а когда проблема глубже и требуется проверка диска.
Что означает команда mount -o remount,rw
Команда mount в Linux отвечает за подключение файловых систем к дереву каталогов. Опция -o remount,rw указывает ядру изменить режим существующего монтирования на read-write (чтение и запись), не размонтируя раздел. Это принципиально важно для корневого раздела: отмонтировать его на работающей системе невозможно, а перемонтировать — можно.
Типовой синтаксис выглядит так:
sudo mount -o remount,rw /
Здесь / — точка монтирования (в данном случае корень). Вместо неё можно указать конкретное устройство, например /dev/sda1, или любую другую точку монтирования вроде /boot или /mnt/data. Команда требует прав суперпользователя, поэтому используется sudo или сеанс root.
Почему раздел оказывается в режиме только чтение
Прежде чем выполнять перемонтирование, стоит понять причину, иначе после сброса флага read-only ошибка вернётся. Ядро Linux переводит файловую систему в режим только чтения не произвольно — это защитная реакция.
- 🔧 Ошибки файловой системы. При обнаружении повреждений ext4 и других ФС ядро с опцией
errors=remount-roавтоматически переводит раздел в read-only, чтобы не усугубить разрушение данных. - 💾 Сбои накопителя. Бэд-блоки, проблемы с питанием диска или отвалившийся SATA/USB-кабель могут привести к ошибкам ввода-вывода и переходу в защитный режим.
- 📱 Особенности Android и embedded-систем. Системный раздел
/systemна Android монтируется как read-only штатно, и для его изменения требуется root и явное перемонтирование. - ⚙️ Ручные настройки. Раздел мог быть смонтирован с опцией
roв/etc/fstabили через параметры загрузки (например, в recovery-режиме).
Диагностику стоит начать с журнала ядра: команда dmesg | tail -30 или journalctl -k покажет сообщения об ошибках файловой системы и ввода-вывода. Если там строки вроде «Remounting filesystem read-only» или ошибки I/O error — простое перемонтирование даст лишь временный эффект.
⚠️ Внимание: если раздел перешёл в read-only из-за ошибок диска, принудительное включение записи может усугубить повреждение данных. Сначала сохраните важные файлы и проверьте файловую систему.
Пошаговая инструкция: как перемонтировать раздел в rw
Порядок действий одинаков для большинства дистрибутивов Linux — Ubuntu, Debian, Fedora, Arch — поскольку утилита mount входит в стандартный пакет util-linux.
Сначала проверьте текущее состояние раздела. Команда mount | grep " / " или более наглядная findmnt / покажет, с какими опциями смонтирована файловая система. Если в списке опций присутствует ro — раздел действительно в режиме только чтения.
Далее выполните перемонтирование:
sudo mount -o remount,rw /
После выполнения убедитесь в результате: повторный вызов findmnt / должен показать rw в списке опций. Дополнительная проверка — попробовать создать тестовый файл: touch /tmp/test_rw && rm /tmp/test_rw. Если файл создаётся и удаляется без ошибок, запись работает.
☑️ Проверка после перемонтирования в rw
Для некорневых разделов указывайте конкретную точку монтирования, например: sudo mount -o remount,rw /mnt/backup. Если перемонтирование завершилось молча (без вывода) — это нормально, утилиты Unix традиционно не сообщают об успехе.
Remount rw на Android и в recovery-режиме
На устройствах с Android системный раздел исторически монтируется только для чтения, и для внесения изменений (при наличии root) использовалась команда mount -o remount,rw /system. Однако на современных версиях Android схема разделов изменилась: появились динамические разделы и механизм verity, проверяющий целостность системы. На таких устройствах простое перемонтирование может не сработать или привести к невозможности загрузки.
⚠️ Внимание: изменение системного раздела Android может нарушить проверку целостности прошивки и привести к bootloop. Перед любыми правками убедитесь, что у вас есть резервная копия и вы понимаете схему разделов конкретной модели — она зависит от версии Android и производителя.
В recovery-режиме Linux (например, при загрузке с параметром single или в аварийной консоли) корень часто монтируется как read-only. Там последовательность стандартная: mount -o remount,rw /, после чего можно править конфигурацию — сбрасывать пароль, исправлять /etc/fstab или откатывать пакеты. Именно ошибка в fstab — частая причина, по которой система вообще не загружается нормально, поэтому умение перемонтировать корень в такой ситуации практически обязательно.
Почему mount пишет «/ not mounted or bad option»
Такая ошибка возникает, если указанная точка монтирования не существует, раздел не смонтирован вовсе (тогда нужна обычная команда mount без remount) или файловая система повреждена настолько, что ядро отказывается менять её режим. Проверьте вывод findmnt и журнал dmesg.
Типичные ошибки при перемонтировании и их решение
Не всегда команда выполняется гладко. Ниже — частые проблемы и способы их обойти.
| Ошибка / симптом | Вероятная причина | Что делать |
|---|---|---|
| Remount завершается, но раздел снова ro | Ядро повторно переводит ФС в ro из-за ошибок | Проверить dmesg, выполнить fsck с Live-USB |
| mount: / not mounted or bad option | Неверная точка монтирования или раздел не смонтирован | Проверить findmnt, смонтировать раздел заново |
| Permission denied | Нет прав root | Использовать sudo или войти как root |
| Файлы не записываются на NTFS-диск | Диск смонтирован драйвером ntfs без записи или «грязный» после Windows | Использовать ntfs-3g, выключить быстрый запуск в Windows |
| Ошибка ввода-вывода при remount | Аппаратная проблема накопителя или кабеля | Проверить SMART, кабели, скопировать данные |
Отдельно стоит сказать про NTFS-разделы. Если диск использовался в Windows с включённым быстрым запуском (Fast Startup), раздел остаётся в состоянии гибернации, и Linux монтирует его только для чтения. Перемонтирование тут не поможет: нужно либо загрузиться в Windows и отключить быстрый запуск, либо смонтировать раздел с принудительным снятием флага — но это риск для данных.
Проверка файловой системы после сбоя
Когда причина перехода в read-only — ошибки файловой системы, правильная последовательность такая: сохранить данные, отмонтировать раздел или загрузиться с Live-USB, затем выполнить проверку. Для ext4 это выглядит так:
sudo fsck -f /dev/sda1
Здесь -f принудительно запускает полную проверку. Важно: fsck нельзя запускать на смонтированном разделе в режиме записи — это может разрушить файловую систему. Корневой раздел проверяют либо с Live-носителя, либо назначая проверку при следующей загрузке командой sudo touch /forcefsck (механизм поддерживается многими дистрибутивами, но не всеми — уточните для своего).
После успешной проверки загрузитесь в обычном режиме и убедитесь через findmnt /, что раздел смонтирован с опцией rw. Если проблема повторяется — проверьте состояние накопителя через smartctl (пакет smartmontools): растущее число переназначенных секторов означает, что диск пора менять.
Часто задаваемые вопросы
Чем remount отличается от обычного umount и mount?
Remount изменяет параметры существующего монтирования без его разрыва: открытые файлы и работающие процессы не затрагиваются. Обычный цикл umount/mount требует, чтобы раздел никем не использовался, что для корневой файловой системы невозможно.
Как перемонтировать только для чтения обратно?
Используйте зеркальную команду: sudo mount -o remount,ro /точка_монтирования. Это полезно, например, после правки системного раздела на устройстве, чтобы вернуть защитный режим.
Команда выполнилась без ошибок, но файлы всё равно не записываются. Почему?
Проверьте несколько вариантов: права доступа к каталогу (запись может запрещать не режим монтирования, а права), свободное место (df -h), а также не вернуло ли ядро раздел в ro — смотрите dmesg и findmnt.
Можно ли перемонтировать раздел, указанный в /etc/fstab, иначе, чем там прописано?
Да, remount применяет опции для текущего сеанса. Но при следующей загрузке раздел смонтируется согласно fstab. Чтобы изменить режим постоянно, отредактируйте соответствующую строку в /etc/fstab.
Работает ли remount,rw для USB-флешек с файловой системой FAT32?
Да, синтаксис тот же: укажите точку монтирования флешки. Но если флешка аппаратно защищена от записи (переключатель на корпусе или износ контроллера, переведший её в read-only навсегда), программное перемонтирование не поможет — ядро вернёт ошибку.