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