[ad_1]
Файловые системы Linux несут ответственность за организацию хранения и восстановления данных. Так или иначе, со временем файловая система может быть повреждена и некоторые ее части могут быть недоступны. Если в вашей файловой системе возникает такое несоответствие, рекомендуется проверить ее целостность.
Это можно сделать с помощью системной утилиты под названием fsck (проверка целостности файловой системы), который автоматически проверяет корневую файловую систему во время загрузки или запускается вручную.
В этой статье мы рассмотрим команда fsck и его использование, чтобы помочь вам исправить ошибки диска Linux.
Оглавление
Когда использовать команду fsck в Linux
Существуют разные сценарии, когда вы захотите запустить fsck. Вот несколько примеров:
- Система не загружается.
- Файлы в системе становятся поврежденными (часто вы можете увидеть ошибку ввода/вывода).
- Подключенный диск (включая флэш-накопители/SD-карты) не работает должным образом.
Параметры команды fsck
команда fsck необходимо запускать с правами суперпользователя или корень. Вы можете использовать его с разными аргументами. Их использование зависит от вашего конкретного случая. Ниже вы увидите некоторые из наиболее важных параметров:
-A
– Используется для проверки всех файловых систем. Список взят из/etc/fstab
.-C
— Показать индикатор выполнения.-l
– Блокирует устройство, чтобы гарантировать, что никакая другая программа не попытается использовать раздел во время проверки.-M
– Не проверять смонтированные файловые системы.-N
– Показывать только то, что будет сделано – никаких фактических изменений не вносится.-P
– Если вы хотите параллельно проверять файловые системы, включая root.-R
– Не проверять корневую файловую систему. Это полезно только с ‘-A
‘.-r
– Предоставлять статистику по каждому проверяемому устройству.-T
— Не показывает заголовок.-t
— Исключительно указать Типы файловых систем Linux быть проверенным. Типы могут быть списками, разделенными запятыми.-V
— Дайте описание того, что делается.
Запустите команду fsck для исправления ошибок файловой системы Linux
для запуска fsck, вам нужно будет убедиться, что раздел, который вы собираетесь проверять, не смонтирован. Для целей этой статьи я буду использовать свой второй диск /dev/sdb
установлен в /mnt
.
Вот что произойдет, если я попытаюсь запустить fsck когда раздел смонтирован.
# fsck /dev/sdb
Чтобы избежать этого, размонтируйте раздел с помощью.
# umount /dev/sdb
Затем fsck можно безопасно запускать.
# fsck /dev/sdb
Понимание кодов выхода fsck
После запуска fsck, он вернет код выхода. Эти коды можно увидеть в руководстве fsck, запустив:
# man fsck 0 No errors 1 Filesystem errors corrected 2 System should be rebooted 4 Filesystem errors were left uncorrected 8 Operational error 16 Usage or syntax error 32 Checking canceled by user request 128 Shared-library error
Fsck восстановить файловую систему Linux
Иногда в файловой системе можно найти более одной ошибки. В таких случаях вы можете захотеть fsck автоматически пытаться исправить ошибки. Это можно сделать с помощью:
# fsck -y /dev/sdb
-y
флаг, автоматически “yes”
на любые подсказки от fsck, чтобы исправить ошибку.
Точно так же вы можете запускать одно и то же во всех файловых системах (без корень):
$ fsck -AR -y
Как запустить fsck на корневом разделе Linux
В некоторых случаях вам может понадобиться запустить fsck на корень раздел вашей системы. Поскольку вы не можете бежать fsck пока раздел смонтирован, вы можете попробовать один из следующих вариантов:
- Принудительно fsck при загрузке системы
- Запустите fsck в режиме восстановления
Мы рассмотрим обе ситуации.
Принудительно fsck при загрузке системы
Это относительно легко сделать, единственное, что вам нужно сделать, это создать файл с именем Forcefsck в корневом разделе вашей системы. Используйте следующую команду:
# touch /forcefsck
Затем вы можете просто принудительно или запланировать перезагрузка вашей системы. Во время следующей загрузки fsck будет выполнено. Если время простоя критично, рекомендуется тщательно спланировать это, так как если в вашей системе много используемых инодов, fsck может занять некоторое дополнительное время.
После загрузки системы проверьте, существует ли файл:
# ls /forcefsck
Если это так, вы можете удалить его, чтобы избежать fsck при каждой загрузке системы.
Запустите fsck в режиме восстановления
Бег fsck в режим спасения требуется еще несколько шагов. Во-первых, подготовьте свою систему к перезагрузить. Остановите все важные службы, такие как MySQL/MariaDB и т. д., а затем введите.
# reboot
Во время загрузки удерживайте shift
чтобы отобразилось меню grub. Выбирать «Расширенные настройки».
Тогда выбирай «Режим восстановления».
В следующем меню выберите «fsck».
Вас спросят, хотите ли вы, чтобы ваш /
файловая система перемонтирована. Выбирать “yes”
.
Вы должны увидеть что-то похожее на это.
Затем вы можете возобновить нормальную загрузку, выбрав «Резюме».
Заключение
В этом руководстве вы узнали, как использовать fsck и выполнять проверки согласованности в разных файловых системах Linux. Если у вас есть какие-либо вопросы о fsckпожалуйста, не стесняйтесь представить их в разделе комментариев ниже.