Введение
fsck
(проверка файловой системы) — это утилита командной строки, которая позволяет выполнять интерактивную проверку согласованности и восстановление одной или нескольких файловых систем Linux. Он использует программы, специфичные для типа проверяемой файловой системы.
Вы можете использовать команду fsck
для восстановления поврежденных файловых систем в ситуациях, когда система не загружается или раздел не может быть смонтирован.
В этой статье мы поговорим о команде fsck
.
Как использовать фск
Команда fsck
имеет следующий синтаксис:
fsck [OPTIONS] [FILESYSTEM]
Только пользователь root или пользователи с привилегиями sudo
могут очищать буфер.
Если в качестве аргумента не указано FILESYSTEM
, fsck
проверяет устройства, перечисленные в fstab
.
Никогда не запускайте fsck
на смонтированных разделах, так как это может повредить файловую систему. Прежде чем пытаться проверить или восстановить файловые системы, всегда сначала используйте команду unmount
.
Команда fsck
является оболочкой для различных средств проверки файловой системы Linux ( fsck.*
) и принимает различные параметры в зависимости от типа файловой системы.
Проверьте страницы руководства для получения дополнительной информации о конкретном корректоре. Например, чтобы просмотреть параметры, доступные для fsck.ext4
, введите:
man fsck.ext4
Восстановить поврежденную файловую систему
Самый простой вариант использования команды fsck
— восстановить поврежденную файловую систему ext3 или ext4 без полномочий root.
Если вы не знаете имя устройства, используйте fdisk
, df
или любой другой инструмент, чтобы найти его.
Разобрать устройство:
sudo umount /dev/sdc1
Запустите fsck
для восстановления файловой системы:
sudo fsck -p /dev/sdc1
Параметр -p
указывает инструменту fsck
автоматически устранять любые проблемы, которые можно безопасно устранить без вмешательства пользователя.
После восстановления файловой системы смонтируйте раздел:
sudo mount /dev/sdc1
Восстановить корневую файловую систему
fsck
не может проверить корневую файловую систему на работающей машине, потому что ее нельзя размонтировать.
Если вы хотите проверить или восстановить корневую файловую систему, у вас есть несколько вариантов. Вы можете настроить запуск fsck
для загрузки, загрузить систему в режиме восстановления или использовать live CD.
Чтобы запустить fsck
в режиме восстановления:
- Откройте меню «Пуск» и выберите «Дополнительные параметры».
- Выберите режим восстановления, а затем «fsck».
- Когда будет предложено переустановить корневую файловую систему, выберите «Да».
- Когда закончите, возобновите обычный запуск.
Чтобы запустить fsck
из живого дистрибутива:
- Запустите живую раздачу.
- Используйте
fdisk
илиparted
, чтобы найти имя корневого раздела.
Откройте терминал и запустите:
sudo fsck -p /dev/sda1
- По завершении перезапустите динамическое развертывание и загрузите систему.
Проверять файловые системы при запуске
В большинстве дистрибутивов Linux fsck
запускается при загрузке, если файловая система помечена как грязная или после определенного количества запусков или раз.
Чтобы увидеть текущее количество монтирований, проверьте номер частоты, интервал и время последней проверки для определенного раздела, используйте инструмент tune2fs
:
sudo tune2fs -l /dev/sdc1 | grep -i 'last checked\|mount count'
Mount count: 193
Maximum mount count: -1
Last checked: Tue Jul 21 12:09:13 2018
Check interval: 0 (<none>)
- Максимальное количество монтирований - количество монтирований, после которого будет проверена файловая система. Значение
0
или-1
означает, чтоfsck
никогда не будет выполняться. - Интервал проверки - максимальное время между двумя проверками файловой системы.
Например, если вы хотите запускать fsck
после каждых 25 подключений, введите:
sudo tune2fs -c 25 /dev/sdc1
Вы также можете установить максимальное время между двумя элементами управления. Например, чтобы установить его на месяц, вам нужно будет запустить:
sudo tune2fs -i 1m /dev/sdc1
Чтобы заставить fsck
запускаться при загрузке в дистрибутивах SystemD, используйте следующие параметры загрузки ядра:
fsck.mode=force
fsck.repair=yes
В предыдущих развертываниях fsck
запускался при запуске, если присутствовал файл /forcefsck
, поэтому используйте следующую команду, чтобы принудительно запустить fsck
:
Параметры FSTAB
fstab
— это файл конфигурации, который сообщает системе, как и где монтировать разделы.
/etc/fstab
содержит список записей в следующем формате:
# [File System] [Mount Point] [File System Type] [Options] [Dump] [PASS]
/dev/sda1 /ext4 defaults 0 1
/dev/sda2 /home ext4 defaults 0 2
server:/dir /media/nfs nfs defaults 0 0
Последний, шестой столбец ( [PASS]
) — это параметр, который управляет порядком, в котором выполняются проверки файловой системы после перезагрузки.
0
- не проверять.1
- Файловые системы проверяются по одной.2
- Все остальные файловые системы, которые проверяются позже и, возможно, параллельно.
Корневая файловая система должна иметь значение 1
, а все остальные файловые системы, которые вы хотите проверить, должны иметь значение 2
.
Вывод
fsck
— это инструмент командной строки для проверки и, при необходимости, восстановления файловых систем Linux.
Чтобы узнать больше о команде fsck
, введите в терминале следующую команду:
man fsck