Вопрос или проблема
Мой сервер (18.04) зависает во время запуска. Одно из сообщений, которое отображается и которое, как я думаю, может быть причиной этого:
Предупреждение: fsck отсутствует, поэтому пропуск корневой файловой системы
[ 5.502634] EXT4-fs (sda2): ИНФОРМАЦИЯ: требуется восстановление на файловой системе только для чтения
[ 5.503676] EXT4-fs (sda2): доступ на запись будет включен во время восстановления
[ 5.544074] EXT4-fs (sda2): восстановление завершено
[ 5.548989] EXT4-fs (sda2): смонтирована файловая система в режиме упорядоченных данных. Опции: (null)
Как я могу это исправить?
Спасибо,
Том
Правка: Добавлено изображение
Запуск Ubuntu перед зависанием
У меня была такая же проблема, и решение, описанное здесь, сработало идеально для меня.
umiddelb написал:
Вам нужно добавить соответствующие исполняемые файлы:
echo \ '#!/bin/sh . /usr/share/initramfs-tools/hook-functions copy_exec /sbin/e2fsck /sbin copy_exec /sbin/fsck /sbin copy_exec /sbin/fsck.ext2 /sbin copy_exec /sbin/fsck.ext4 /sbin copy_exec /sbin/logsave /sbin' \ | sudo dd of=/etc/initramfs-tools/hooks/e2fsck.sh sudo chmod +x /etc/initramfs-tools/hooks/e2fsck.sh
перед сборкой initrd
sudo update-initramfs -c -k ${kver}
После этого перезагрузите и проверьте результаты.
Ответ или решение
Ошибка, с которой вы столкнулись, указывает на проблему с файловой системой вашего сервера под управлением Ubuntu 18.04. Сообщение "Warning: fsck not present, so skipping root file system" означает, что при загрузке системы утилита проверки файловой системы (fsck) не обнаружена соответственно, проверка корневой файловой системы (root file system) пропускается. Это может привести к тем неисправностям, которые вызывают сбой при загрузке.
Причины проблемы
-
Отсутствие утилиты fsck: Утилиты, ответственные за проверку файловой системы, не включены в образ инициализации (initramfs), что приводит к ошибкам при запуске системы.
-
Повреждение файловой системы: Сообщения о том, что "recovery required on readonly filesystem" указывают на то, что файловая система была повреждена и требует восстановления. Это может произойти по различным причинам, включая неправильное завершение работы системы, аппаратные сбои, или сбои питания.
Решение проблемы
Вам нужно убедиться, что необходимые утилиты fsck присутствуют в образе initramfs, чтобы система могла их использовать для диагностики и исправления проблем с файловой системой во время загрузки.
Следуйте этим шагам для решения проблемы:
-
Создание скрипта для копирования утилит fsck: Выполните следующую команду в терминале, чтобы создать скрипт, который будет копировать необходимые утилиты (e2fsck, fsck и другие) в initramfs:
echo \ '#!/bin/sh . /usr/share/initramfs-tools/hook-functions copy_exec /sbin/e2fsck /sbin copy_exec /sbin/fsck /sbin copy_exec /sbin/fsck.ext2 /sbin copy_exec /sbin/fsck.ext4 /sbin copy_exec /sbin/logsave /sbin' \ | sudo dd of=/etc/initramfs-tools/hooks/e2fsck.sh
-
Назначение прав на исполнение: После создания скрипта необходимо сделать его исполняемым:
sudo chmod +x /etc/initramfs-tools/hooks/e2fsck.sh
-
Обновление initramfs: Чтобы изменения вступили в силу, вам нужно пересобрать образ initramfs:
sudo update-initramfs -c -k $(uname -r)
-
Перезагрузка сервера: После выполнения всех вышеперечисленных команд перезагрузите сервер, чтобы проверить, исправлена ли проблема.
Заключение
Следуя указанным выше шагам, вы сможете устранить проблему, связанную с отсутствием утилиты fsck на этапе инициализации вашей системы. Убедитесь, что другие компоненты системы также функционируют корректно, и рассмотрите возможность регулярного резервного копирования данных для предотвращения потерь.
Если после выполнения всех шагов ошибка продолжает возникать, может потребоваться углубленная диагностика, включая проверки аппаратной части сервера или полное восстановление файловой системы с резервной копии.