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 не помогает?

Полезное

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