fsck и systemd при запуске системы

Последняя колонка /etc/fstab, 0 — не проверять fsck при монтировании, 1 — проверять в первую очередь, 2 — проверять.
https://wiki.archlinux.org/index.php/fsck#fstab_options

fsck выполняет проверку файловой системы на ошибки.

fsck при монтировании выполняется средствами systemd, https://www.freedesktop.org/software/systemd/man/systemd-fsck@.service.html
Корневая ФС часто проверяется (fsck) в initramfs

systemd-fsck не разбирается, надо ли проверять ФС , а прсото передает управление соответствующей программе проверки, которая для каждой ФС своя, а программа дальше сама разбирается.

Если эта программа возвращает код != 0, то есть ошибку (например, найдены ошибки файловой системы, и автоматически они не исправлены), то, если в /etc/fstab для этой точки монтирования нет параметра nofail, то вместо нормальной загрузки системы грузится режим востсановления, голая консоль.

Если в /etc/default/grub или иными способами ядро Linux грузится с парметрами quite splash, то есть включен Plymouth для красивой картинки вместо бегущей командной строки загрузки ядра до иксов и DE, то часто вместо консоли при ошибке просто черный экран без работающего переключения между tty (atl+ctrl+f1..12), поэтому quite splash лучше убрать из параметров запуска ядра (в случае редактирования /etc/default/grub после этого нужно сделать update-grub).

Если выполнить команду cat /proc/cmdline, то увидите там ro, то есть при запуске ОС корень монтируется сначала в read-only, только чтение, и только потом, после fsck и всего остального, он перемонтируется в rw — read-write, чтение и запись.

По последней ссылке также описан параметр fsck.repair=, по умолчанию preen, то есть автоматически fsck устраняет только те ошибки, которые могут быть устарнены автоматически безопасно и без риска потери данных, можно задать yes для автоматического утвердительного ответа на все вопросы fsck.

Отправить ответ

Оставьте первый комментарий!

Сообщать по почте
avatar