Linux: файловая система перешла в режим только чтения (ext4)

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

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

Проверьте диск командой fsck из режима восстановления и SMART.

В этой статье
  1. Что означает ошибка
  2. Причины и решения
  3. Пошаговое решение
  4. Если не помогло
  5. Диагностика
  6. Проверка и восстановление
  7. Оборудование и профилактика

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

Сообщение
Read-only file system

Если система внезапно стала «только для чтения» (Read-only file system), ядро перемонтировало раздел в режим ro из-за ошибок ext4 (опция errors=remount-ro). Это защита данных. Причины: сбой диска, плохой кабель, внезапное отключение питания, повреждение ФС, иногда — исчерпание inode.

Прежде всего сохраните важные данные и проверьте состояние диска.

Возврат в режим записи без проверки только увеличит ущерб.

Проверьте диск командой fsck из режима восстановления и SMART.

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

Возможная причинаКак узнатьЧто делать
Ошибки ФСext4.Проявляется как «Read-only file system» или близкий по смыслу сбой.fsck.
ДискИзнос.Проявляется как «Read-only file system» или близкий по смыслу сбой.Замените.
InodeКончились.Проявляется как «Read-only file system» или близкий по смыслу сбой.Освободите.
ПитаниеСбой.Проявляется как «Read-only file system» или близкий по смыслу сбой.Проверьте.

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

  1. Проверьте dmesgВ терминале Linux выполните journalctl -k -b -p err --no-pager -n 80 (при наличии systemd) или dmesg | tail -n 80. Найдите сообщения об I/O errors, EXT4-fs, Btrfs или конкретном драйвере перед первым отказом. Если есть аппаратные ошибки диска, остановите операции записи, сначала сохраняйте файлы на другой накопитель.
  2. Проверьте SMART-состояние дискаСначала сохраните важные данные. Посмотрите использование раздела командой df -h и сообщения об ошибках диска в dmesg или journalctl -k. Для диагностики SMART используйте smartctl для нужного устройства; не выполняйте исправление файловой системы на смонтированном разделе без понимания последствий.
  3. Скопируйте важные данныеДо правки разделов, загрузчика или файловой системы подключите отдельный носитель либо используйте действующую резервную копию. В Live-среде определите разделы по lsblk -f, смонтируйте исходный раздел только для чтения и скопируйте документы на другой диск через графический файловый менеджер или rsync с проверенными путями. Откройте несколько копий для проверки. При I/O errors прекратите обычные исправления и сначала спасайте данные.
  4. Выполните fsck на отмонтированном разделеЕсли журнал ядра показывает ошибки ext4, сначала скопируйте важные данные и проверьте состояние накопителя. Проверку с исправлением выполняют только на размонтированном разделе из Live/Rescue-среды: определите реальный раздел через lsblk -f, убедитесь, что он не смонтирован (findmnt /dev/ИМЯ_РАЗДЕЛА) и что это ext4, затем запустите sudo e2fsck -f /dev/ИМЯ_РАЗДЕЛА с подтверждённым именем. На корневом разделе работающей системы этот шаг не выполняйте; при аппаратных ошибках сначала обращайтесь за восстановлением данных.
  5. Проверьте кабели, питание и inodeПроверьте df -h / и df -i /, чтобы отличить нехватку пространства от нехватки inode. Если dmesg показывает ошибки ввода-вывода или SMART сообщает о сбоях, прекратите запись и сохраните данные на другой накопитель. На ПК с SATA-диском после выключения можно проверить кабель и питание, но не вскрывайте ноутбук или гарантийный сервер самостоятельно. Не перемонтируйте повреждённый ext4 в режим записи ради «временного исправления».
  6. Проверьте исходный режим монтирования после ремонтаПосле предусмотренной типом ФС проверки и успешной загрузки выполните findmnt -no SOURCE,FSTYPE,OPTIONS /, df -h / и df -i /. Если снова видно ro или есть новые EXT4-fs/I/O error в journalctl -k -b, не принуждайте перемонтирование rw, а копируйте данные и проверяйте физический диск.

#Если не помогло

Запускайте fsck только на размонтированной файловой системе.

#Диагностика

Выполните dmesg | grep -iE "ext4|I/O error|remount|ata|nvme" — видны ошибки диска и причина перехода в ro. Проверьте монтирование: mount | grep " ro," или findmnt -o TARGET,OPTIONS /. Состояние диска: sudo smartctl -a /dev/sda (пакет smartmontools) — смотрите Reallocated_Sector_Ct, Current_Pending_Sector, SMART overall-health. Свободное место и inode: df -h и df -i.

#Проверка и восстановление

Если в журнале обнаружены ошибки ext4, прежде всего перенесите важные файлы на другой носитель. Загрузитесь с официального Live-USB Linux, откройте терминал и выполните lsblk -f, затем findmnt для определения раздела и его состояния. **Нельзя дословно вводить условное /dev/sdXN**. Только после точного определения устройства и подтверждения, что том ext4 размонтирован, специалист может запустить sudo e2fsck -f с проверенным полным именем раздела; изменения файловой системы могут привести к потере повреждённых данных. Если есть I/O errors или диск нестабилен, сначала создайте образ или обратитесь к специалистам; перемонтирование в rw не лечит аппаратный сбой. Не применяйте -y для автоматического подтверждения множества исправлений без понимания последствий.

#Оборудование и профилактика

При ошибках I/O error замените диск: проверьте кабель SATA, питание, порт, обновите прошивку NVMe. Если SMART показывает деградацию, срочно копируйте данные и меняйте диск. Для виртуальных машин проверьте хранилище хоста (переполненный datastore). Включите регулярный fstrim.timer для SSD. Мониторьте SMART службой smartd и делайте резервные копии (rsync, borg). Нехватка inode (df -i 100 %) лечится удалением мелких файлов.

Linux · Терминал (Bash)Команда
Запуск fsck на неопределённом разделе нельзя советовать без Live-системы и резервной копии. Запуск: терминал Linux с правами, указанными в команде. Сначала проверьте имя устройства и целевой путь.
lsblk -f && findmnt -no SOURCE,FSTYPE,OPTIONS /

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

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

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