Linux Labs

Система изнутри: ресурсы, ядро, процессы / Ступень 8 из 12

dmesg и журнал ядра

Не запущена Запускается обычно ~20 с
Выйти из урока

Шаг 3 из 8 · теория · 5 мин

Строка ошибки ext4

Три строки ядра объясняют всё, что ты видел в архиве: что сломано, кто наткнулся и что ядро сделало.

EXT4-fs error (device loop0): ext4_lookup:1864: inode #19: comm cat:
  iget: checksum invalid
Aborting journal on device loop0-8.
EXT4-fs (loop0): Remounting filesystem read-only

EXT4-fs error (device loop0) — ошибка в файловой системе ext4 на устройстве loop0, то есть в архиве. inode #19 — номер inode файла orders-07.csv, comm cat — процесс, который на него наткнулся. checksum invalid — контрольная сумма записи inode не сошлась: данные на диске испорчены, и ядро не отдаёт их программе. Отсюда Bad message у cat.

Что делать при ошибке, файловая система хранит в себе: у архива это remount-ro (sudo dumpe2fs -h /dev/loop0 | grep Errors). Ядро остановило журнал и запись, и дальше любая запись получает Input/output error. В строке это названо «Remounting filesystem read-only», но опции монтирования в Ubuntu 24.04 остаются прежними — findmnt показал тебе rw (см. filesystems).

Чинит файловую систему e2fsck, и только отмонтированную: на смонтированной он откажется: Cannot continue, aborting.

bash
sudo umount /mnt/archive
sudo e2fsck -f /dev/loop0    # -y — ответить «да» на все вопросы
sudo mount /dev/loop0 /mnt/archive

Монтирование без проверки вернёт запись, но ошибка останется записанной: dumpe2fs покажет clean with errors, а ядро при монтировании посоветует проверку: running e2fsck is recommended.

Проверь себя 1 вопрос

Архив снова отвечает Input/output error, а в буфере ядра — EXT4-fs error (device loop0). Что сделаешь, чтобы вернуть запись?

  • e2fsck откажется: /dev/loop0 is mounted. e2fsck: Cannot continue, aborting. Исправления на смонтированной файловой системе могут её доломать.

  • Перезагрузка снимет монтирование и loop-устройство, а ошибку в файловой системе оставит: её исправляет только e2fsck.

  • Команда пройдёт без ошибки, но запись останется отключённой: ext4 остановила её у себя внутри, и touch снова получит Input/output error.

e2fsck работает только на отмонтированной файловой системе: он исправляет повреждение и снимает отметку об ошибке. После монтирования запись идёт снова, а sudo dumpe2fs -h /dev/loop0 показывает состояние clean.

Главное в шаге

  • Строка EXT4-fs error (device …) называет устройство, inode и процесс (comm), который наткнулся на повреждение.
  • После ошибки ext4 с поведением remount-ro отключает запись: программы получают Input/output error, а findmnt показывает rw.
  • Исправляет файловую систему e2fsck -f на отмонтированном устройстве; remount,rw запись не возвращает.
Ubuntu 24.04
Загрузка…