n1ro°
RU

Ошибки · Решение

Linux errno EIO: что означает и как исправить

Произошла ошибка ввода-вывода, которую драйвер или файловая система не смогли выразить более точным errno.

Редакция N1RO · Проверено

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

В Linux errno EIO означает «Input/output error». Сначала найдите системный вызов, который вернул код, затем проверяйте условия именно этой операции. Числовое значение errno не следует считать переносимым между архитектурами: ориентируйтесь на символическое имя.

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

Произошла ошибка ввода-вывода, которую драйвер или файловая система не смогли выразить более точным errno.

Возможные причины

  • Носитель или устройство вернуло I/O failure.
  • Файловая система обнаружила ошибку чтения или записи.
  • Сетевой/виртуальный блоковый слой потерял доступ к backing storage.

Что проверить

  • Сопоставьте EIO с kernel log, dmesg и сообщениями файловой системы.
  • Проверьте SMART/состояние устройства или состояние удалённого хранилища.
  • Определите, чтение или запись и какой конкретно файл/блок вызвали EIO.

Безопасные шаги

  1. Сначала защитите данные и остановите повторяющиеся записи в проблемный ресурс.
  2. Исправьте причину на уровне устройства, filesystem или storage backend.
  3. После восстановления выполните проверку целостности, подходящую для используемой файловой системы.

Только безопасные обратимые действия. Опасные шаги — только по официальной инструкции и с пониманием рисков.

Когда нужен сервис

  • Если errno EIO воспроизводится после проверки системного вызова и окружения, приложите strace-фрагмент, путь/ресурс и kernel log владельцу соответствующего subsystem.

Похожие ошибки

  • /errors/linux-errno-esrch/
  • /errors/linux-errno-eintr/
  • /errors/linux-errno-enxio/

Что учитывать

Точная причина зависит от версии ПО/прошивки, полного текста ошибки и контекста. Официальная инструкция имеет приоритет.

Официальный источник

Расшифровка сверена с официальными страницами поддержки из источников ниже. Редакция N1RO не диагностировала ваш конкретный случай.