LinuxСредняя

Как исправить ошибку readonly в Linux: диск только для чтения

Диск в Linux перешел в режим readonly из-за ошибок файловой системы или нехватки места. Узнайте, как разблокировать диск и предотвратить повторение проблемы.

Обновлено 9 апреля 2026 г.
15-25 мин
Средняя
FixPedia Team
Применимо к:Ubuntu 20.04+, Debian 10+, CentOS 7+, Fedora 32+

Что означает ошибка readonly в Linux

Когда диск в Linux переходит в режим readonly (только для чтения), система блокирует все операции записи на этот диск. Это защитная реакция, которая предотвращает дальнейшее повреждение данных при обнаружении проблем с файловой системой. Обычно это происходит при перебоях питания, неправильном завершении работы системы или при критической нехватке свободного места.

Причины возникновения

  • Нехватка свободного места — файловая система не может записывать новые данные
  • Ошибки файловой системы — поврежденные структуры метаданных
  • Аппаратные проблемы — неисправный диск или плохие сектора
  • Неправильное завершение работы — система не успела записать кэшированные данные
  • Конфликт точек монтирования — двойное монтирование одного и того же раздела

Способы решения

Способ 1: Проверить статус диска и свободное место

Сначала определите, какие диски находятся в режиме readonly и проверьте свободное место.

# Показать все смонтированные файловые системы
mount | grep -E "(ext4|xfs|btrfs)"

# Проверить свободное место на всех дисках
df -h

# Проверить конкретный диск (например, /dev/sda1)
df -h /dev/sda1

Если видите опцию ro в выводе mount, значит диск в режиме readonly. Если свободное место меньше 5-10%, это может быть причиной проблемы.

Способ 2: Разблокировать диск (remount)

Попробуйте перемонтировать диск в режим read-write:

# Перемонтировать конкретный диск
sudo mount -o remount,rw /dev/sda1

# Или использовать точку монтирования
sudo mount -o remount,rw /mnt/data

Если диск успешно перемонтирован, вы увидите сообщение без ошибок. Проверьте статус:

mount | grep /dev/sda1

Способ 3: Исправить ошибки файловой системы

Если remount не помогает, возможно, файловая система повреждена. Используйте fsck для проверки и исправления:

# Размонтировать диск перед проверкой
sudo umount /dev/sda1

# Проверить и исправить файловую систему
sudo fsck -fy /dev/sda1

# Снова смонтировать диск
sudo mount /dev/sda1

⚠️ Важно: fsck работает только с размонтированными дисками. Для системных разделов может потребоваться загрузка с live USB.

Способ 4: Освободить место на диске

Если проблема в нехватке места, освободите дисковое пространство:

# Найти самые большие файлы и каталоги
sudo du -sh /* 2>/dev/null | sort -hr | head -10

# Удалить временные файлы
sudo rm -rf /tmp/*

# Очистить кэш пакетов (для Debian/Ubuntu)
sudo apt clean
sudo apt autoremove

# Очистить логи (осторожно!)
sudo journalctl --vacuum-time=7d

После освобождения места попробуйте remount диска.

Способ 5: Проверить аппаратные проблемы

Если ничего не помогает, возможно, проблема в аппаратной части:

# Проверить SMART статус диска
sudo smartctl -H /dev/sda

# Проверить ошибки в журнале системы
dmesg | grep -i error
dmesg | grep -i disk

# Проверить состояние RAID (если используется)
cat /proc/mdstat

Для дисков с ошибками SMART рекомендуется создать резервную копию данных и заменить диск.

Профилактика

Чтобы предотвратить переход диска в режим readonly в будущем:

  • Настроить мониторинг диска — установите monit или nagios для отслеживания свободного места
  • Регулярно проверять файловую систему — добавьте проверку в cron:
    0 3 * * * root fsck -n /dev/sda1 >/dev/null 2>&1 || mail -s "FS check failed" admin@example.com
    
  • Использовать UPS — источник бесперебойного питания предотвратит внезапные выключения
  • Настроить автоматическое монтирование с опциями:
    # В /etc/fstab
    /dev/sda1 /mnt/data ext4 defaults,errors=remount-ro 0 2
    
  • Регулярно создавать резервные копии важных данных

Помните, что режим readonly — это защитная функция, которая спасает ваши данные. Вместо борьбы с симптомами, лучше устранять первопричины и настраивать профилактику.

Часто задаваемые вопросы

Почему мой диск в Linux стал readonly?
Как проверить, что диск действительно readonly?
Могу ли я потерять данные при исправлении readonly диска?
Что делать, если remount не помогает?

Полезное

Проверить статус диска
Проверить свободное место
Разблокировать диск
Проверить файловую систему
Предотвратить повторение

Эта статья помогла вам решить проблему?