Linux e2fsckВысокая

Исправление ошибок файловой системы ext4 за 5 минут – полное руководство

В этой статье объясняется, что означает ошибка ext4, почему она возникает и как её устранить с помощью простых команд терминала. После прочтения вы сможете самостоятельно восстановить повреждённый том ext4.

Обновлено 17 июля 2026 г.
5-10 мин
Средняя
FixPedia Team
Применимо к:Ubuntu 20.04Ubuntu 22.04Debian 11Linux Mint 20

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

Ошибка в файловой системе ext4 появляется, когда ядро обнаруживает несоответствие в структуре данных тома — например, повреждённую inode-таблицу, неправильно записанный журнал или повреждённые блоки данных. Типичный текст ошибки:

kernel: ext4: error (read) in inode 12345: block -1
kernel: EXT4-fs error (read): inode #: 12345

Эти сообщения обычно выводятся в системный лог (dmesg) или при попытке смонтировать раздел. Если игнорировать их, данные могут стать недоступны или corruption может распространиться.

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

  • Ненормальное отключение питания — неожиданное отключение питания во время записи данных повреждает журнал и inode-таблицу.
  • Сбой ядра или паника системы — ошибки, связанные с IRQ или oops, могут прервать работу файловой системы.
  • Аппаратные проблемы — неисправный сектор жёсткого диска или проблемы с питанием приводят к физическим повреждениям.
  • Неправильное выключение системы — принудительное завершение работы без корректного завершения работы монтируемой файловой системы.
  • Сбой программного обеспечения — ошибки в приложениях, которые напрямую записывают данные в раздел, особенно при работе с корневым разделом.

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

Способ 1: Исправление с помощью e2fsck (рекомендуется)

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

  1. Подключите том в режиме только для чтения

    Важно: Подключение в режиме только для чтения предотвращает запись данных во время проверки.

    sudo mount -o ro /dev/sdX1 /mnt
    
  2. Запустите e2fsck с параметрами автоматического исправления Замените sdX1 на фактическое имя вашего раздела (lsblk покажет список).
    sudo e2fsck -p -f /dev/sdX1
    
    • -p (-p означает "принудительно исправлять") переходит сразу к исправлению без запросов.
    • -f принудительно проверяет файловую систему, даже если она кажется чистой.
  3. Дайте программе время на восстановление Процесс может занять несколько минут, в зависимости от размера тома и степени повреждения. Дождитесь завершения работы программы — она сообщит вам о результатах.
  4. Повторно смонтируйте раздел
    sudo umount /mnt
    sudo mount /dev/sdX1 /mnt
    
  5. Проверьте содержимое на наличие повреждённых файлов
    sudo e2fsck -n /dev/sdX1
    

    Параметр -n только проверяет и выводит список проблем, не исправляя их.

Способ 2: Использование fsck.ext4 (альтернативный метод)

fsck.ext4 — это обёртка, которая автоматически выбирает нужный инструмент, и иногда лучше работает в средах с несколькими файловыми системами.

  1. Выполните проверку
    sudo fsck.ext4 -l /var/log/fsck.ext4 /dev/sdX1
    
    • -l записывает полный отчёт в /var/log/fsck.ext4.
    • Программа запросит подтверждение для исправления — ответьте y.
  2. Повторите попытку в автоматическом режиме, если нужно полностью исправить ошибки:
    sudo fsck.ext4 -y /dev/sdX1
    
  3. Смонтируйте том заново после завершения работы программы.

Способ 3: Восстановление с помощью debugfs (для сложных случаев)

Если e2fsck не может исправить ошибки, вы можете вручную отредактировать структуру данных с помощью debugfs.

  1. Запустите debugfs
    sudo debugfs /dev/sdX1
    
  2. Проверьте журнал
    logdump
    
  3. Исправьте повреждённые inode, используя rm или cp в рамках debugfs.

    💡 Совет: Это метод последнего средства — используйте его, только если другие способы не помогли.

  4. Выйдите и запустите e2fsck снова
    quit
    sudo e2fsck -p -f /dev/sdX1
    

Способ 4: Полное восстановление с помощью resize2fs

Когда файловая система серьёзно повреждена и её размер изменился, resize2fs может восстановить консистентность.

sudo resize2fs /dev/sdX1

Программа проанализирует таблицу блоков и восстановит правильное распределение.

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

  • Регулярно проверяйте файловую систему: добавьте задачу cron для ежемесячной проверки (0 0 * * 0 sudo e2fsck -f /dev/sdX1).
  • Используйте резервное копирование: храните актуальные копии важных данных в облаке или на внешнем жёстком диске.
  • Следите за состоянием диска: используйте smartctl для мониторинга SMART-статуса.
  • Корректно отключайте систему: избегайте принудительного выключения; используйте systemctl poweroff.
  • Обновляйте драйверы и ядро: новые версии содержат исправления, которые предотвращают повреждения файловой системы.

Следуя этим рекомендациям, вы значительно снизите вероятность возникновения ошибок ext4 в будущем.

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

Как понять, что возникла ошибка ext4?
Почему файловая система ext4 может быть повреждена?
Чем отличается `e2fsck` от `fsck.ext4`?
Как предотвратить повторное повреждение ext4?

Полезное

Подключите том в режиме только для чтения
Запустите e2fsck с параметрами автоматического исправления
Дайте программе время на восстановление
Повторно смонтируйте раздел
Выполните дополнительную проверку с помощью fsck.ext4

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