Команда Fsck в Linux (восстановление файловой системы)

fsck (проверка файловой системы) — это служебная программа командной строки, которая позволяет выполнять проверки согласованности и интерактивное восстановление в одной или нескольких файловых системах Linux. Он использует программы, зависящие от типа проверяемой файловой системы.

Вы можете использовать команду fsck для восстановления поврежденных файловых систем в ситуациях, когда система не загружается или раздел не может быть смонтирован.

В этой статье мы поговорим о команде 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.

  1. Если вы не знаете имя устройства, используйте fdisk , df или любой другой инструмент, чтобы найти его.

  2. Размонтируйте устройство:

     sudo umount /dev/sdc1
  3. Запустите fsck чтобы восстановить файловую систему:

     sudo fsck -p /dev/sdc1

    Параметр -p указывает fsck автоматически исправлять любые проблемы, которые можно безопасно исправить без вмешательства пользователя.

  4. После восстановления файловой системы смонтируйте раздел:

     sudo mount /dev/sdc1

Восстановить корневую файловую систему

fsck не может проверить корневую файловую систему на работающем компьютере, потому что ее нельзя размонтировать.

Если вы хотите проверить или восстановить корневую файловую систему, в вашем распоряжении есть несколько вариантов. Вы можете настроить запуск программы fsck при загрузке, загрузку системы в режиме восстановления или использование Live CD.

Чтобы запустить fsck в режиме восстановления:

  1. Войдите в меню загрузки и выберите Дополнительные параметры.
  2. Выберите режим восстановления и затем «fsck».
  3. Когда будет предложено перемонтировать корневую файловую систему, выберите «Да».
  4. После этого возобновите обычную загрузку.

Чтобы запустить fsck из живого дистрибутива:

  1. Загрузите live-дистрибутив.

  2. Используйте fdisk или parted чтобы найти имя корневого раздела.

  3. Откройте терминал и запустите:

     sudo fsck -p /dev/sda1
  4. После этого перезагрузите живой дистрибутив и загрузите вашу систему.

Проверить файловые системы при загрузке

В большинстве дистрибутивов Linux fsck запускается во время загрузки, если файловая система помечена как грязная или после определенного количества загрузок или времени.

Чтобы увидеть текущее количество подключений, частоту проверки, интервал проверки и время последней проверки для определенного раздела, используйте инструмент tune2fs :

sudo tune2fs -l /dev/sdc1 | grep -i 'last checked|mount count'
Mount count:              292
Maximum mount count:      -1
Last checked:             Tue Jul 24 11:10:07 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 файл /forcefsck :

sudo touch /forcefsck

Параметры fstab

fstab — это файл конфигурации, который сообщает системе, как и где монтировать разделы.

Файл /etc/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 , посетите страницу руководства fsck или введите man fsck в своем терминале.

Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.

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