Как принудительно проверить файловую систему при перезагрузке Linux
tune2fs
fsck
forcefsck
blkid
tune2fs - утилита управления файловой системой. С ее помощью мы можем получить некоторую важную информацию, связанную с проверкой работоспособности файловой системы. Следующая команда покажет, когда в последний раз /dev/sdX проверялась файловая система:
Anther useful information which can be retrieved by tune2fs
command relates to how many times our /dev/sdX
filesystem was mounted:
Еще одна полезная информация, которую можно получить с помощью tune2fs, касается того, сколько раз была смонтирована наша файловая система:
И, наконец, сколько монтирований разрешено до принудительной проверки файловой системы:
Из приведенных выше выводов следует следующее:
- последний /dev/sdbXраз файловая система проверялась 11 декабря 09:14:22 2019
- c момента последней проверки эта файловая система была смонтирована 157 раз
- максимальное количество раз до следующей проверки файловой системы fsck: в нашем примере значение
-1
означает, что fsck отключен.
Теперь рассмотрим параметры конфигурации системы PASS, который находится в файле /etc/fstab, содержащем все разделы, монтируемые при загрузке, и соответствующие параметры монтирования.
# blkid | grep sdb1
/dev/sdb1: UUID="c6e22f63-e63c-40ed-bf9b-bb4a10f2db66" TYPE="ext2"
# grep c6e22f63-e63c-40ed-bf9b-bb4a10f2db66 /etc/fstab
UUID=c6e22f63-e63c-40ed-bf9b-bb4a10f2db66 /mnt ext2 errors=remount-ro 0 0
Последний столбец #6, он же столбец
fsck PASS
, используется, чтобы определить, должна ли fsck проверять файловую систему перед ее монтированием,
и в каком порядке /etc/fstab должны проверяться заданные разделы. Возможные записи для столбца PASS fstab: 0,1 и 2.
- 0 - отключено, т.е. не проверять файловую систему
- 1 - раздел с этим значением PASS имеет более высокий приоритет и проверяется первым. Это значение обычно устанавливается для корневого /раздела.
- 2 - разделы с этим значением PASS будут проверены последними
Связь между значением PASS fstab, последним проверенным значением и значением количества подключений выглядит следующим образом:
Во время загрузки системы первым проверяется значение fstab PASS. Если это значение равно 0, другие значения не проверяются.
Это значит, что fsck НЕ будет выполняться. Если найденное значение PASS /etc/fstab отличается от 0,
то проверяются значения максимального и общего количества подключений.
Если значение максимального количества монтирований больше или равно общему количеству монтирований, то будет выполнена проверка файловой системы fsck.
Несколько примеров:
FSCK DISABLED
fstab PASS: 1
Maximum mount count: -1
Mount count: 157
----
FSCK DISABLED
fstab PASS: 0
Maximum mount count: -1
Mount count: 157
----
FSCK ON NEXT REBOOT
fstab PASS: 1 or 2
Maximum mount count: 1
Mount count: 157
----
FSCK DISABLED
fstab PASS: 0
Maximum mount count: 1
Mount count: 1
----
FSCK ON NEXT REBOOT
fstab PASS: 1 or 2
Maximum mount count: 1
Mount count: 1
----
NO FSCK ON NEXT REBOOT
fstab PASS: 1 or 2
Maximum mount count: 200
Mount count: 157
Принудительная проверка fsck для корневого раздела
Самый простой способ принудительно проверить файловую систему fsck на корневом разделе, заключается в создании пустого файла с именем forcefsck в корневом каталоге раздела.
Этот пустой файл временно переопределит любые другие настройки и заставит fsck проверить файловую систему при следующей перезагрузке системы.После проверки файловой системы forcefsck файл будет удален, поэтому при следующей перезагрузке ваша файловая система НЕ будет проверяться снова.
Чтобы включить постоянное решение и принудительно проверять файловую систему при каждой перезагрузке, нужно настроить параметр файловой системы «Максимальное количество монтирований».
Следующая команда гарантирует, что файловая система /dev/sdb1 будет проверяться каждый раз при перезагрузке вашей системы Linux.
Обратите внимание, что для этого значение PASS в fsck /etc/fstab должно быть установлено на положительное целое число, как обсуждалось выше.
Принудительная проверка fsck для некорневых разделов
В отличие от корневого раздела, создание пустого forcefsck файла НЕ будет запускать проверку раздела при перезагрузке.
Единственный способ заставить fsck на всех других некорневых разделах - это установка значения PASS равно 2 в /etc/fstab.
Кроме того, мы можем настроить fsck для проверки файловой системы после каждых 5 перезагрузок:
Чтобы отключить запуск fsck: