Принудительный запуск fsck в Linux при перезагрузке
fsck (file system consistency check) – утилита для проверки файловой системы на наличие ошибок файловой системы и их ремонта файловой системы. В Linux, fsck обычно запускается автоматически при загрузочном процессе, особенно после аварийного завершения. Однако, иногда требуется принудительная проверка при перезагрузке.
Методы принудительного запуска fsck
- Параметры ядра: Добавьте загрузочные опции, такие как `fsck.mode=force` и `fsck.repair=yes`, в конфигурацию загрузчика (grub, lilo). Это заставит fsck выполнить полную проверку файловой системы при каждой перезагрузке.
- Forcefsck: Создайте файл `/forcefsck` в root (/) файловой системе. При следующей перезагрузке система обнаружит этот файл и запустит fsck. После завершения проверки файл будет удален;
- Single User Mode: Загрузитесь в single user mode (single mode) или emergency mode (emergency mode) и запустите fsck вручную. Используйте команду `sudo fsck -y /dev/sda1`, заменив `/dev/sda1` на соответствующий раздел.
Важные замечания
Перед запуском fsck убедитесь, что файловая система не смонтирована файловой системы. Если она смонтирована, необходимо remount её в read-only режиме. Используйте командная строка и терминал для выполнения этих действий. Используйте права root.
Для различных типов файловых систем (ext4, xfs, btrfs) используются разные fsck utilities. Например, для ext4 используется e2fsck, для xfs ⸺ xfs_repair, а для btrfs ⎯ btrfs check.
После завершения fsck, проверьте системные журналы (логи) с помощью journalctl для анализа отчеты fsck и выявления возможных проблем.

Продвинутые методы и соображения при принудительном запуске fsck в Linux
Помимо базовых методов принудительной проверки файловой системы с помощью fsck при перезагрузке Linux, существует ряд продвинутых техник и соображений, актуальных для системных администраторов, занимающихся обслуживанием Linux и диагностикой файловой системы. как запустить fsck вручную на linux при перезагрузке
Initramfs и ранний запуск fsck: Для более раннего вмешательства в загрузочный процесс, можно модифицировать initramfs. Это особенно полезно, если файловая система повреждена настолько, что стандартный загрузочный процесс не может быть завершен. В initramfs можно добавить скрипт, который выполнит fsck до монтирования файловой системы в read-write режиме. Этот метод требует глубокого понимания структуры initramfs и работы ядра Linux.
Параметры ядра и конфигурация загрузчика (grub/lilo): Использование загрузочных опций, таких как `fsck.mode=force` и `fsck.repair=yes`, является эффективным способом принудительной проверки. Однако, для более тонкой настройки можно использовать дополнительные fsck options и fsck flags. Например, опция `fsck.mode=skip` может быть полезна для пропуска автоматической проверки, если требуется выполнить ручную проверку с определенными параметрами. Изменение grub или lilo требует осторожности, так как неправильная конфигурация может привести к невозможности загрузки системы.
Forcefsck и Systemd: Хотя создание файла `/forcefsck` остается простым способом запуска fsck, в системах, использующих systemd, можно использовать systemctl для управления сервисами, связанными с проверкой файловой системы. Можно создать systemd юнит, который будет запускать fsck при каждой перезагрузке. Это обеспечивает более гибкий контроль над процессом и позволяет настроить зависимость от других сервисов.
Использование UUID и LABEL в fstab: В файле `/etc/fstab`, для указания разделов, которые должны быть смонтированы, рекомендуется использовать UUID (Universally Unique Identifier) или LABEL вместо `/dev/sda1`. Это делает конфигурацию более надежной, так как имена устройств могут меняться. Указание файловой системы по UUID или LABEL гарантирует, что fsck будет запущен для правильного раздела.
Режимы восстановления (Single User Mode, Emergency Mode, Rescue Mode): В ситуациях, когда система не загружается нормально, single user mode (также известный как single mode), emergency mode или rescue mode предоставляют возможность выполнить ручную проверку и ремонт файловой системы. В этих режимах доступ к системе ограничен, что позволяет безопасно выполнить fsck без риска повреждения данных.
Специфические fsck utilities (e2fsck, xfs_repair, btrfs check): Важно использовать правильные fsck utilities для каждого типа файловой системы. Для ext4 используется e2fsck, для xfs ⎯ xfs_repair, а для btrfs ⎯ btrfs check. Каждая утилита имеет свои собственные fsck options и fsck flags, которые позволяют настроить процесс проверки и ремонта файловой системы. Например, для e2fsck можно использовать опцию `-f` для принудительной проверки, даже если файловая система помечена как чистая.
Анализ системных журналов и отчетов fsck: После запуска fsck важно тщательно проанализировать системные журналы (логи), используя journalctl, чтобы выявить любые ошибки файловой системы и убедиться, что ремонт файловой системы прошел успешно. Отчеты fsck содержат ценную информацию о состоянии файловой системы и позволяют выявить потенциальные проблемы. Использование опций `debug` или `verbose` при запуске fsck может предоставить более подробную информацию для устранения неисправностей и решения проблем.
Предотвращение data loss и обеспечение integrity: Регулярное обслуживание Linux и диагностика файловой системы помогают предотвратить data loss и обеспечить integrity и консистентность данных. Использование fsck является важной частью этого процесса. В случае серьезных повреждений, может потребоваться восстановление данных с использованием специализированных инструментов.
Права root и использование командной строки (Linux shell): Для выполнения fsck требуются права root. Все операции выполняются в терминале, используя командную строка (Linux shell). Неправильное использование fsck может привести к data loss, поэтому важно тщательно изучить документацию и понимать последствия каждой команды. Использование `sudo` перед командой fsck позволяет получить необходимые права root.
