Что означает ошибка EROFS
Ошибка read-only file system (часто встречается как EROFS или просто «read-only file system») означает, что операционная система или отдельный раздел невозможно записать. Сообщение обычно появляется при попытке выполнить команду, которая требует изменений, например sudo apt-get install, mkfs.ext4 или даже обычные команды записи в /var. Диалог ошибки может выглядеть так:
mount: невозможно смонтировать, потому что файловая система на /dev/sda2 помечена только для чтения.
Ошибка EROFS: невозможно записать данные на файловую систему.
Код EROFS — это стандартный код ошибки ядра Linux (#30), который возвращается, когда запрашиваемый сеанс записи заблокирован правами монтирования, повреждением FS или аппаратными проблемами.
Причины возникновения
- Неправильные опции монтирования – раздел смонтирован с флагом
ro(через/etc/fstabилиmount -o ro). - Повреждение файловой системы – неполадки суперблока, непаритетные блоки или сбой таблицы инодов.
- Ошибка аппаратного обеспечения – выход из строя сектора диска или неисправность SSD могут вызвать ложное read-only состояние.
- Конфликт прав доступа – если диск смонтирован пользователем без прав
sudo, некоторые команды всё равно могут рассматриваться как попытка записи. - Загрузка ядра в read-only режиме – некоторые дистрибутивы (например, Rescue Mode) загружаются только для чтения для диагностики.
Способы решения
Способ 1: Проверка и изменение опций монтирования
- Определите текущее монтирование
mount | grep 'on /$'В выводе найдитеroрядом с корневым устройством (например,/dev/sda2 on / type ext4 (ro, …)). - Повторно смонтируйте в режиме записи
sudo mount -o remount,rw /Подтвердите:mount | grep 'on /$'— теперь должно быть(rw, …).
Способ 2: Исправление файловой системы с помощью fsck
- Выявите ошибки – для ext4/бэкапа:
sudo e2fsck -f /dev/sdX1 - Примените исправления – программа предложит восстановление, перезапишите, если рекомендует.
- Повторно смонтируйте –
sudo mount -o remount,rw /.
💡 Совет: Если
e2fsckсообщит «недопустимый параметр», используйтеsudo fsck -t auto -y /dev/sdX1.
Способ 3: Удаление опции ro из /etc/fstab
- Откройте файл:
sudo nano /etc/fstab - Найдите строку, содержащую корневое устройство (обычно
/dev/sdX2 / /ext4 defaults 0 0). - Удалите
ro, если оно присутствует: измените на/dev/sdX2 / /ext4 defaults 0 0. - Сохраните (
Ctrl+O), выйдите (Ctrl+X). - Повторно смонтируйте корневой раздел:
sudo mount -o remount,rw /.
Способ 4: Восстановление загрузчика (GRUB)
Если read-only появляется после обновления ядра, GRUB может загрузить ядро с параметром ro:
- Перезагрузите систему и перейдите в меню GRUB → Дополнительные параметры → Режим восстановления.
- Выберите Шкала запуска или GRUB Rescue.
- Введите
set prefix=(hd0,gptX)(заменитеXна правильный индекс раздела) иinsmod normal. - Запустите
boot. Затем отредактируйтеsudo grub‑editenvи удалите параметрlinux /vmlinuz‑... ro.
Способ 5: Переформатирование (крайняя мера)
Если файловая система серьезно повреждена и резервное копирование недоступно:
- Создайте резервную копию важных данных (если возможно) с помощью
rsyncили другого инструмента. - Запустите
sudo mkfs.ext4 /dev/sdX2(замените на вашу файловую систему). - Смонтируйте заново:
sudo mount -o defaults /dev/sdX2 /mnt.
⚠️ Важно: Переформатирование удалит все данные на разделе — используйте этот способ только в качестве последнего средства.
Профилактика
- Регулярно проверяйте диск – используйте
sudo e2fsck -fежемесячно или настройте автоматическую проверку вfstab(0 1). - Мониторьте υγεία диска – установите
smartctlи наблюдайте за количеством ошибок чтения/записи. - Избегайте преждевременного извлечения – никогда не вынимайте USB или выключайте питание SSD во время активных операций ввода/вывода.
- Создавайте резервные копии критически важных данных – используйте
rsync,tarили средства бэкапа. - Следите за загрузочными параметрами – не оставляйте
roв параметрах ядра в/etc/default/grubили загрузочных скриптах.
Теперь у вас есть полный набор инструментов, чтобы быстро вернуть Linux в нормальный режим работы и защитить систему от будущих сбоев read-only.