File corrupted or uncleanly shut down, renaming and replacing
Это сообщение появляется после жёсткого выключения: journald нашёл файл журнала, который не был корректно закрыт. Он переименовывает его и начинает новый. Записи из повреждённого файла обычно остаются читаемыми, поэтому само сообщение — не повод для тревоги. Тревожно, если оно повторяется при каждой загрузке.
Вероятные причины
По порядку: сверху то, что встречается чаще.
-
Машина выключилась не по правилам
При потере питания или принудительном выключении последний файл журнала остаётся незакрытым. При следующем запуске journald его переименовывает.
-
Файлы с повреждениями копятся
Каждый повреждённый файл переименовывается, но не удаляется. Со временем они занимают место и замедляют поиск.
-
Диск отказывает
Повреждения при каждой загрузке без аварийных выключений указывают на проблемы носителя.
Диагностика
Команды идут в том порядке, в котором их стоит выполнять: каждая следующая проверяет то, что осталось после предыдущей.
Проверка целостности всех файлов журнала.
sudo journalctl --verifyСколько места занимает журнал.
journalctl --disk-usageСписок загрузок: помогает понять, была ли прошлая завершена штатно.
journalctl --list-boots | tailРешение
Решение своё для каждой причины. Сначала определите, какая из них ваша, — иначе правки наложатся друг на друга.
- Почему происходит
- При потере питания или принудительном выключении последний файл журнала остаётся незакрытым. При следующем запуске journald его переименовывает.
- Как проверить
-
Посмотрите, была ли прошлая загрузка завершена штатно.
journalctl --list-boots | tail -5 journalctl -b -1 -n 5 --no-pager
- Как исправить
- Единичное сообщение после аварийного выключения — норма. Если это происходит регулярно, разбирайтесь с причиной выключений: питание, отключения гипервизором, зависания.
- Почему происходит
- Каждый повреждённый файл переименовывается, но не удаляется. Со временем они занимают место и замедляют поиск.
- Как проверить
-
Посмотрите повреждённые файлы и общий объём журнала.
sudo ls /var/log/journal/*/ 2>/dev/null | grep -c "@" ; journalctl --disk-usage
- Как исправить
-
Проверьте целостность и удалите старые файлы по времени или размеру.
sudo journalctl --verify; sudo journalctl --vacuum-time=30d
- Почему происходит
- Повреждения при каждой загрузке без аварийных выключений указывают на проблемы носителя.
- Как проверить
-
Посмотрите ошибки ввода-вывода и состояние диска.
journalctl -k -b --no-pager | grep -iE "I/O error|ata[0-9]" | tail sudo smartctl -H /dev/sda 2>/dev/null | tail -3
- Как исправить
- Проверьте носитель. Повреждение журнала здесь только признак, а пострадать могут и данные служб.
Пример вывода
Первая загрузка после потери питания. Пример показательный: он собран на тестовой машине специально для этой страницы, а не взят из чужого журнала.
systemd-journald[300]: File /var/log/journal/9c2/system.journal corrupted or uncleanly shut down, renaming and replacing.
systemd-journald[300]: Journal started
systemd-journald[300]: System Journal (/var/log/journal/9c2) is 512.0M, max 4.0G, 3.5G free.
Связанные ошибки
- Журнал занимает слишком много места Журнал разросся: где задаются пределы, как обрезать и почему обрезка иногда не помогает.
- Input/output error в журнале службы Ошибка ввода-вывода: проблемы носителя, отвалившийся сетевой ресурс, повреждённая файловая система. Что проверять срочно.
- Журнал пропадает после перезагрузки journalctl не показывает записи прошлых загрузок: журнал хранится только в памяти. Как включить постоянное хранение.
- I/O error, dev sda, sector N: ошибка носителя Ядро сообщает об ошибке чтения или записи на устройстве. Что делать со службой и данными.
- Mount process exited, code=exited, status=32: не найдено устройство Монтирование не проходит: устройство или UUID не найдены, неверная файловая система, недоступен сетевой ресурс. Код 32 от команды mount.
- Suppressed N messages from unit: часть записей потеряна journald отбросил часть записей из-за ограничения частоты. Как понять, что именно потеряно, и когда предел нужно поднять.
- You are in emergency mode: система не загрузилась Загрузка остановилась в аварийном режиме. Что проверять: fstab, файловые системы, цель по умолчанию. Как войти и починить.
- fsck failed: проверка файловой системы остановила загрузку Проверка файловой системы при загрузке завершилась неудачей. Как прочитать причину, запустить проверку вручную и что делать с корневым разделом.
Где встречается чаще всего
Источники
-
systemd-journald(8)
Обработка повреждённых файлов журнала. -
Воспроизведено на тестовой машине, systemd 255 (Ubuntu 24.04)
Воспроизведено принудительным выключением виртуальной машины.