Linux: Read-only file system — файловая система только для чтения

  • Обновлено
  • Чтение ≈ 5 минут

Краткий ответ

Ошибка Linux «Read-only file system» возникает, когда раздел смонтирован только для чтения из-за ошибок ФС или сбоя диска. Проверьте dmesg, перемонтируйте mount -o remount,rw и выполните fsck с загрузочной флешки.

В этой статье
  1. Что означает ошибка
  2. Причины и решения
  3. Пошаговое решение

#Что означает ошибка

Сообщение
bash: cannot create file: Read-only file system

Файловая система перешла в режим только для чтения. Ядро Linux делает это автоматически при обнаружении ошибок (параметр монтирования errors=remount-ro), чтобы не разрушить данные. Поэтому появление этого сообщения — не просто неудобство, а сигнал: возможны ошибки ФС или проблемы с диском. Сначала сохраните важные данные, затем диагностируйте.

#Причины и решения

Возможная причинаКак узнатьЧто делать
Ошибки файловой системыФС повреждена после сбоя питания.В dmesg «EXT4-fs error».По journalctl -k -b и типу ФС определите, есть ли ошибки ext4/XFS/Btrfs. Сначала сохраните данные; проверку и исправление выбирайте по типу ФС и только при выполнении её условий.
Раздел смонтирован как roВ fstab или при монтировании указан ro.mount показывает ro.Сверьте findmnt -no SOURCE,FSTYPE,OPTIONS / и настройки монтирования. Если раздел намеренно ro, не принуждайте запись; если причина в ошибках, сначала диагностируйте накопитель.
Сбой дискаДиск с ошибками чтения/записи.smartctl показывает проблемы.Проверьте SMART и ошибки ввода-вывода в журнале, скопируйте важные файлы, при ухудшении состояния замените накопитель; не запускайте исправляющий fsck на неисправном диске без копии.
Образ или носитель только для чтенияLive-образ, ISO, защищённая SD.Раздел — squashfs/iso9660.Проверьте, является ли носитель ISO, squashfs, CD-ROM либо имеет физический переключатель защиты; такие носители нельзя сделать записываемыми командой remount.

#Пошаговое решение

  1. Определите затронутый разделОткройте терминал Linux (обычно Ctrl+Alt+T) и выполните findmnt -T /путь/к/файлу -o TARGET,SOURCE,FSTYPE,OPTIONS, подставив реальный путь к файлу, при записи которого возникает ошибка. Если путь неизвестен, посмотрите findmnt / для корневой файловой системы. В выводе найдите ro среди параметров — это режим только для чтения; rw означает запись разрешена на уровне монтирования, и тогда проверьте права. Запишите устройство SOURCE и тип FSTYPE. Не запускайте fsck и перемонтирование до сохранения важных данных.
  2. Посмотрите сообщения ядраВ терминале Linux выполните journalctl -k -b -p err --no-pager -n 80 (при наличии systemd) или dmesg | tail -n 80. Найдите сообщения об I/O errors, EXT4-fs, Btrfs или конкретном драйвере перед первым отказом. Если есть аппаратные ошибки диска, остановите операции записи, сначала сохраняйте файлы на другой накопитель.
  3. Проверьте SMARTСначала сохраните важные данные. Посмотрите использование раздела командой df -h и сообщения об ошибках диска в dmesg или journalctl -k. Для диагностики SMART используйте smartctl для нужного устройства; не выполняйте исправление файловой системы на смонтированном разделе без понимания последствий.
  4. Скопируйте важные данныеДо правки разделов, загрузчика или файловой системы подключите отдельный носитель либо используйте действующую резервную копию. В Live-среде определите разделы по lsblk -f, смонтируйте исходный раздел только для чтения и скопируйте документы на другой диск через графический файловый менеджер или rsync с проверенными путями. Откройте несколько копий для проверки. При I/O errors прекратите обычные исправления и сначала спасайте данные.
  5. Попробуйте перемонтироватьДо действий проверьте целевой том с помощью findmnt и lsblk -f. Команда sudo mount -a может смонтировать все записи /etc/fstab и при ошибочной настройке повлиять на систему; предпочтите сначала sudo findmnt --verify --verbose и исправьте только указанную строку. Не применяйте mount -o remount,rw / при ошибках ввода‑вывода или аппаратном сбое диска — сохраните данные и проверьте носитель.
  6. Проверьте ФССначала определите точный раздел по lsblk -f и проверьте, не смонтирован ли он (findmnt). Не запускайте исправляющий fsck на работающем системном разделе или на смонтированном разделе с записью: сначала сделайте резервную копию и загрузитесь с Live-носителя. Запустите диагностику подходящим для конкретной ФС инструментом; для Btrfs, XFS и ext4 используются разные средства. При I/O errors отдайте приоритет спасению данных.
  7. Проверьте fstabСначала сохраните копию конфигурации: sudo cp -a /etc/fstab /etc/fstab.bak. Затем сравните lsblk -f и sudo blkid с UUID в cat /etc/fstab; для записи о конкретном диске выясните, существует ли такой UUID. Исправляйте только однозначно ошибочную строку через редактор с правами администратора. Перед перезагрузкой проверьте синтаксис sudo findmnt --verify --verbose; для необязательных внешних томов рассмотрите nofail.
  8. Замените дискЕсли ошибки ввода-вывода или SMART показывают неисправность накопителя, не пытайтесь многократно перемонтировать его в rw и не запускайте исправление на работающем разделе. Сначала скопируйте доступные данные на другой физический диск; при ценных данных и нестабильном чтении обратитесь в специализированную лабораторию. Замена диска зависит от конструкции компьютера и гарантийных условий; на рабочем ПК поручите её сервису. После замены восстановите ОС и файлы из проверенной резервной копии.
  9. Проверьте, не нужен ли другой инструмент вместо fsckПо lsblk -f определите тип файловой системы повреждённого тома. Команда fsck.ext4 предназначена для ext2/ext3/ext4, но не для XFS и не для Btrfs. Для XFS проверка xfs_repair -n требует отдельного подхода и размонтирования; для Btrfs используйте предусмотренную его документацией диагностику. Если тип не определён — не запускайте исправляющие команды. Сначала сохраните данные и зафиксируйте вывод журнала.
  10. Не перемонтировать аварийный раздел на запись, пока не исключена неисправность накопителя
    Linux · Терминал (Bash)Команда
    Не перемонтировать аварийный раздел на запись, пока не исключена неисправность накопителя. Запуск: терминал Linux с правами, указанными в команде. Сначала проверьте имя устройства и целевой путь.
    findmnt -no SOURCE,FSTYPE,OPTIONS /

Внешний NTFS-диск, ранее подключённый к Windows, может открываться в Linux только для чтения из-за незавершённого завершения работы Windows или повреждённого журнала NTFS. Откройте Windows, выполните полное завершение работы и штатную проверку диска (chkdsk для точно определённого тома) после резервного копирования. ntfsfix в Linux не заменяет полноценную проверку Windows; не вводите команды с условным /dev/sdX1, пока не установлено точное устройство через lsblk -f. Для флешек и SD-карт проверьте механический переключатель защиты записи. В виртуальных машинах также проверьте свободное место на физическом хосте.

Так эту ошибку тоже называют

Источники и обновления

Последнее обновление статьи: 2 ноября 2026. Версии программ и интерфейсы меняются — если шаги не совпадают с вашей версией, сверяйтесь с документацией производителя.