Thank you for reading this post, don’t forget to subscribe!
fsck (проверка файловой системы) – это утилита командной строки, которая позволяет выполнять проверки согласованности и интерактивное исправление в одной или нескольких файловых системах Linux. Он использует программы, специфичные для типа файловой системы, которую он проверяет.
Вы можете использовать команду fsck для восстановления поврежденных файловых систем в ситуациях, когда система не загружается или раздел не может быть смонтирован.
В этой статье мы поговорим о команде fsck.
Команда fsck принимает следующую общую форму:
fsck [OPTIONS] [FILESYSTEM] |
Только root или пользователи с привилегиями sudo могут очистить буфер.
Если FILESYSTEM в качестве аргумента указано no, fsck проверяются устройства, указанные в файле fstab.
Никогда не запускайте fsckна смонтированных разделах, так как это может повредить файловую систему. Прежде чем пытаться проверить или восстановить файловые системы, всегда делайте unmountэто сначала.
Команда fsck является оболочкой для различных контроллеров файловой системы Linux ( fsck.*) и принимает различные параметры в зависимости от типа файловой системы.
Проверьте справочные страницы для получения дополнительной информации о конкретном контролере. Например, чтобы просмотреть доступные параметры fsck.ext4, введите:
Простейший вариант использования команды fsck – восстановить поврежденную файловую систему ext3 или ext4 без полномочий root.
- Если вы не знаете имя устройства, использовать fdisk, df или любой другой инструмент, чтобы найти его.
- Размонтировать устройство:
- Запустите fsck для восстановления файловой системы:
Опция -p указывает fsck автоматически исправить все проблемы, которые могут быть надежно закреплены без вмешательства пользователя.
- После восстановления файловой системы смонтируйте раздел:
fsck не может проверить корневую файловую систему на работающей машине, потому что она не может быть размонтирована.
Если вы хотите проверить или восстановить корневую файловую систему, у вас есть несколько вариантов в вашем распоряжении. Вы можете настроить запуск fsck при загрузке, загрузить систему в режиме восстановления или использовать live CD.
Для запуска fsck в режиме восстановления:
- Войдите в меню загрузки и выберите «Дополнительные параметры»
- Выберите режим восстановления и затем «fsck».
- Когда будет предложено перемонтировать корневую файловую систему, выберите «Да».
- После этого возобновите нормальную загрузку.
Чтобы запустить fsck из живого дистрибутива:
- Загрузите живую раздачу.
- Используйте fdisk или, parted чтобы найти имя корневого раздела.
- Откройте терминал и запустите:
- После этого перезагрузите дистрибутив и загрузите вашу систему.
В большинстве дистрибутивов 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 12 14:23:33 2018 Check interval: 0 (<none>) |
- «Maximum mount count» – это количество монтирований, после которых будет проверяться файловая система. Значение 0 или -1 означает, что fsck никогда не будет работать.
- «Check interval» – это максимальное время между двумя проверками файловой системы.
Если, например, вы хотите запускать fsck после каждых 25 загрузок (монтирования), введите:
sudo tune2fs -c 25 /dev/sdc1 |
Вы также можете установить максимальное время между двумя проверками. Например, чтобы установить один месяц, вы должны выполнить:
sudo tune2fs -i 1m /dev/sdc1 |
Чтобы заставить fsck работать во время загрузки на дистрибутивах SystemD, передайте следующие параметры загрузки ядра:
fsck.mode=force fsck.repair=yes |
В старых дистрибутивах fsck будет работать при загрузке, если файл /forcefsck присутствует:
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» я расскажу как можно проверить файловую систему на вашей ОС в Linux.
Некоторым системам необходим пароль root чтобы запустить fsck или других аналогичных утилит, когда не могут загрузить полностью ОС. В этом случае –стоит выполнить проверку диска загрузившись в single-user mode , либо – загрузившись с другого диска.
Fsck расшифровывается как «файловая система Проверка целостности» (file system consistency check). На большинстве систем, Fsck запускается во время загрузки, если определенные условия.
Сам Fsck команда взаимодействует с соответствующей файловой системой конкретных FSCK команд, созданной авторами файловой системы. Независимо от типа вашей файловой системы, Fsck как правило, имеет три режима работы:
- Проверка на наличие ошибок и подсказывает пользователю интерактивное решение, как решить индивидуальные проблемы;
- Проверка на наличие ошибок и постарается автоматически исправить все ошибки;
- Проверка на наличие ошибок без возможности восстановить их, но тогда выдаст ошибки на стандартный вывод.
Код выхода возвращается FSCK это уникальный номер, представляющего собой сумму следующих значений состояния:
0 — Без ошибок (No errors ).
1 — Исправлены ошибки файловой системы(Filesystem errors corrected).
2 — Система должна быть перезагружена (System should be rebooted).
4 — Ошибки файловой системы оставили без изменений (Filesystem errors left uncorrected).
8 — Эксплуатационная ошибка (Operational error).
16 — Ошибки при использовании или синтаксические ошибки (Usage or syntax error).
32 — Fsck отменен по запросу пользователя (Fsck canceled by user request).
128 — Ошибка общей библиотеки (Shared-library error).
Код выхода возвращается, когда несколько файловых систем которая проверяется побитовое ИЛИ (OR) для каждой файловой системы, которая проверяется.
В действительности, Fsck — это просто фронт-энд для различных проверочных утилит для файловых систем (fsck.fstype), которые доступны на Linux.
Файловая система для конкретных проверок ищет сначала в /sbin, а затем в /etc/fs и /etc/, и, наконец в директориях, перечисленных в переменной PATH (среда переменного кружения).
Прочитайте мануал для конкретных страниц проверки, например, чтобы узнать больше о конкретных проверок для ext3 FSCK, выполните:
$ man fsck.ext3
Опции FSCK.
Основные Опции.
-l
Блокировка целого дискового устройства эксклюзивным flock. Этот параметр может быть использован только с одного устройства (это означает, что -A и -l являются взаимоисключающими). Эта опция рекомендуется, когда несколько экземпляров FSCK выполняются в то же время. Параметр игнорируется, когда используется для нескольких устройств или для невращающихся дисков. Fsck не блокируется базовые устройства при выполнении проверки сложенных устройств (например, MD или DM); эта функция еще не реализована.
-s
Сериализация FSCK операций. Это отличная идея, если вы проверяете несколько файловых систем в интерактивном режиме. (Примечание. E2fsck работает в интерактивном режиме по умолчанию. Чтобы запустить e2fsck в не-интерактивном режиме, необходимо указать -p или -a, если вы хотите чтобы все ошибки исправлялись автоматически используйте опцию -n если вы не делаете.)
-t
Задает тип (ы) файловой системы которые должны быть проверены. Когда флаг -A, используется только файловые системы, которые соответствуют fslist проверяются. Fslist параметр разделенный запятыми список файловых систем и опционов спецификаторов. Если ни один из файловых систем в fslist не начинается с оператора отрицания (OR или !), то только те, которые перечислены файловые системы будут проверены.
Опции спецификаторы могут быть включены раздельными запятыми в fslist. Они должны иметь формат opts=fs-option. Если спецификатор присутствует, то только файловые системы, которые содержат FS-option в их опциях монтирования области /etc/fstab будут проверены. Если спецификатор используется с отрицанием, то только те файловые системы, которые не имеют FS-option в их опции монтирования области /etc/fstab будут проверены.
Например, если OPTS = ро появляется в fslist, то только файловые системы, перечисленные в/etc/fstab с возможностью ро будут проверены.
Как правило, тип файловой системы выводится с помощью функции поиска для filesys в файле /etc/fstab и используя соответствующую запись. Если тип не может быть выведен, и есть только одна файловая система в качестве аргумента для опции -t, Fsck будет использовать указанный тип файловой системы. Если этот тип не доступен, то тип по умолчанию файловая система (в настоящее время ext2) не используется.
-A
Поиск в файле /etc/fstab и программа попытаться проверить все файловые системы за один проход. Эта опция обычно используется из файла инициализации /etc/rc, вместо нескольких команд для проверки единой файловой системы.
Корневая файловая система будет сначала проверяется, если опция -P не указана (смотрите ниже). После этого файловые системы будут проверяться в порядке, установленном в поле fs_passno (в шестом)в файле /etc/fstab. Файловые системы со значением fs_passno 0 пропускаются и не проверяются вообще. Файловые системы со значением fs_passno больше нуля будут проверены в порядке, файловых систем ( Наименьшее число в fs_passno проверяется в первую очередь).
Если существует несколько файловых систем с одинаковым числом, Fsck будет пытаться проверить их параллельно, хотя это позволит избежать запуска нескольких проверок файловой системы на одном физическом диске.
Fsck не проверяет сложенные устройств (рейды, DM-склеп …) параллельно с любым другим устройством. Смотрите ниже для установки FSCK_FORCE_ALL_PARALLEL для файловой системы используется определения зависимостей между устройствами.
Таким образом, очень распространенная конфигурация в файле /etc/fstab для установки корневой файловой системы имеет значение fs_passno из 1 и установить все другие файловые системы имеют значение fs_passno 2. Это позволит запустить проверку Fsck для автоматического запуска файловой системы параллельно.
Системные администраторы могут не использовать эту конфигурацию, если они должны избежать многочисленных проверок файловой системы которые работают параллельно по некоторым причинам.
Fsck обычно не проверяет, действительно ли существует устройство перед вызовом зависящих от файловой системы проверки. Следовательно, не существующие устройства могут привести систему в режим ремонта файловой системы во время загрузки, если файловая система будет выполнять конкретные проверки и они будет возвращать фатальную ошибку.
/etc/fstab опцию монтирования nofail могут быть использованы, чтобы пропустить в Fsck несуществующие устройства. Fsck также пропускает несуществующие устройства, которые имеют особый тип файловой системы автоматически.
-C [fd]
Показать завершения / индикаторы выполнения для этих проверок файловых систем (в настоящее время только для ext2 и ext3), которые поддерживают их. Fsck будет управлять проверкой файловой системы так, что только один из них будет отображать индикатор выполнения. С графическим интерфейсом пользователя можно указать дескриптор файла fd, в этом случае информация о ходе выполнения будет отправлена в дескриптор файла.
-M
Не проверять смонтированные файловые системы и вернуть код завершения 0, для смонтированных файловых систем.
-N
Ничего не делать, просто показывает, что должно быть сделано.
-P
Когда опция -A устанавливается, то fsck проверяет корневую файловую систему параллельно с другими файловыми системами. Это не очень безопасно, чтобы делать так, т.к если корневая файловая система находится под e2fsck, то исполняемый файл может быть поврежден!
Эта опция в основном предназначены для тех администраторов, которые не хотят перераспределить корневую файловую систему, чтобы быть маленькой и компактной (на самом деле правильное решение).
-R
При проверке всех файловых систем с флагом -A, пропускать корневую файловую систему. (Это полезно в случае когда корневая файловая система уже смонтирована для чтения и записи.)
-T
Не показывать название при запуске.
-V
Подробный вывод, в том числе всех команд конкретной файловой системы , которые выполняются.
Специальные параметры для файловой системы.
Параметры, которые не понимают FSCK передаются в файловой системе конкретной проверкой. Эти опции не должны принимать аргументы, т.к нет никакого способа для Fsck, чтобы иметь возможность должным образом угадать, какие параметры имеют аргументы, а какие нет.
Параметры и аргументы, которые следуют — рассматриваются как файловая система конкретных вариантов, которые будут переданы в файловой системе конкретной проверки.
Пожалуйста, обратите внимание, что Fsck не предназначен для передачи сколь угодно сложных вариантов файловой системы, конкретных проверок. Если вы делаете что-то сложное, пожалуйста, просто выполните конкретную проверку напрямую для файловой системы.
Хотя не гарантируется, что следующие параметры поддерживаются большинством файловых систем:
-a
Автоматическое восстановление файловой системы без каких-либо вопросов (используйте эту опцию с осторожностью). Обратите внимание, что e2fsck поддерживает -a только для обратной совместимости. Эта опция отображается на e2fsck-х с опцией -p, которая является безопасной в использовании, в отличие от опции -a.
-n
Для некоторых файловых систем конкретных проверок, опция -n вызовет fs-specific FSCK и тем самым данная опция говорит о отказе от попыток исправить все проблемы, но просто сообщать о таких проблемах в стандартный вывод.
В частности, fsck.reiserfs не будет сообщать любые повреждения при использовании этих варианта.
fsck.minix браузер не поддерживает параметр -n вообще.
-r
Интерактивный ремонт файловой системы (спросит подтверждение).
Примечание: Как правило, плохая идея использовать эту опцию, если несколько FSCK в настоящее время работают параллельно. Также обратите внимание, что это поведение для E2fsck по умолчанию; он поддерживает эту опцию только для причин обратной совместимости.
-y
Для некоторых файловых систем конкретная проверка, -у — этот вариант вызовет fs-specific Fsck которая всегда пытаться автоматически исправить все обнаруженные и поврежденное в файловой системы. Иногда эксперт может быть в состоянии сделать лучше запустить FSCK вручную. Обратите внимание, что не все файловые системы конкретных проверок поддерживают этот вариант. В частности, fsck.minix и fsck.cramfs не поддерживают опцию -y.
Для удобства – настроим сеть:
# ifconfig eth0 inet 77.120.106.** netmask 255.255.255.0 # route add default gw 77.120.106.1 eth0
В ОС — Linux уже имеется утилита FSCK («Проверка системных файлов») для проверки файловой системы.
Синтаксис выглядит следующим образом, есть необходимость проверить и при необходимости отремонтировать одну или несколько файловых систем Linux:
# fsck Fs-Name-Here # fsck /dev/xyz # fsck /home # fsck.ext3 /dev/hdc1 # fsck.ext2 /dev/flash/device/name
Fs-Name-Here -может быть одним из следующих:
Имя устройства — (e.g. /dev/hda1, /dev/sda2, /dev/md0, /dev/vg1/volume_1).
Точка монтирования — (e.g. /var, /home).
Метка ext2 — (e.g. LABEL=home ).
UUID спецификатор — (e.g. UUID=8536abf2-44c3-5a90-34b3-bfc23456f6bd).
Готовые примеры.
Во-первых, файловая система должна быть демонтирована. Вы не можете восстановить его, пока он работает, но для начала перейдем в init 1:
# init 1
Выполняем проверку, чтобы узнать какие диски и какие разделы у меня имеются:
# fdisk -l
Далее, выполним проверку чтобы узнать тип файловой системы:
# file -s /dev/sda1
/dev/sda1: Linux rev 1.0 ext4 filesystem data (needs journal recovery) (extents) (huge files)
Далее, демонтировать файловую систему, например, если это /home (/dev/sda3) файловая система введите команду:
# umount /home
Или
# umount /dev/sda1
Можно вывести, что можно выполнить для данной ФС:
# fsck -N /dev/sda1
fsck from util-linux-ng 2.17.2 [/sbin/fsck.ext4 (1) -- /boot] fsck.ext4 /dev/sda1
Например, запустим проверку целостности ФС с исправлением всех ошибок в автоматическом режиме:
# fsck.ext4 -y /dev/sda1
e2fsck 1.41.12 (17-May-2010) /dev/sda1 is mounted. e2fsck: Cannot continue, aborting.
У меня данный раздел примонтирован, нужно его отмонтировать и выполнить заново данную команду:
# umount /dev/sda1
Отмонтировали, теперь выполняем проверку:
# fsck.ext4 -y /dev/sda1
Вот что получили:
e2fsck 1.41.12 (17-May-2010) /dev/sda1: clean, 64/128016 files, 148908/512000 blocks
Наконец, запустите FSCK на разделе, введите следующую команду:
# fsck /dev/sda3
Однако не забудьте указать тип файловой системы, используя опцию -t. Fsck по умолчанию предполагает, файловую систему ext2:
# fsck -t ext3 /dev/sda3
Или для ext3:
# fsck.ext3 /dev/sda3
Или для ext4:
# fsck.ext4 /dev/sda5
Если вы не знаете, какай тип файловой системы у вас, то выполните команду которая будет отображать тип монтирования файловой системы:
$ mount
Если какие-либо файлы восстановлены, то они размещаются в /home/lost+found, FSCK команды.
Переходим (используем) на multiuser mode, выполнив:
# init 3
Автоисправление файловая системы при обнаружении ошибок
В ходе проверки файловой системы, если ошибки обнаружены, вы можете получить «FSCK», чтобы отремонтировать в автоматическом режиме вашу файловую систему, нужно к команде добавить флаг «-a». Например:
$ fsck -a /dev/sda1
Аналогично, используя флаг «-y» можете получить такую же работу:
# fsck -y /dev/sda1
Проверка всех файловых систем за один проход
Если есть несколько файловых систем на вашем ПК, то можно проверить все, выполнив команду fsck с флагом «-А». Пример:
# fsck -A
Что он будет делать, чтобы захватить все записи файловой системы с /etc/fstab и сканировать их на наличие ошибок. Вы можете использовать его вместе с «-R» и флагом «-y», чтобы предотвратить его сканирования файловую систему root и исправить все ошибки, если оно имеется:
# fsck -AR -y
Исключение проверки на смонтированной файловой системе
Как упоминалось ранее, Fsck не может быть запущен на смонтированной файловой системе. Если вы используете флаг -A для проверки всех файловых систем, и некоторые из них установлены, вы можете повредить эти файловые системы.Способ преодолеть это использовать флаг «-M», чтобы предотвратить его от проверки в установленной системы.
Например, выполнив команду
# fsck -M /dev/sdc1
ничего не возвращает и код возврата 0 (означает «нет ошибки»). Сканирования не было сделано вообще, так как все файловые системы монтируются. По этому, нужно отмонтировать данный раздел и выполнить команду заново.
Определение типа файловой системы
Есть моменты, когда вы просто хотите проверить файловую систему определенного типа, скажем, ext2. Вы можете воспользоваться флагом -t, чтобы указать тип файловой системы, чтобы проверить. Например, команда
$ fsck -t ext4 /dev/sdc1
будет сканировать внешний жесткий диск, только если он находится в формате ext4. Кроме того, вы можете комбинировать с флагом «-A» для сканирования всех файловых систем определенного типа:
$ fsck -A -t ext4 -y
Force fsck запуск каждый раз при загрузке
По умолчанию, в Ubuntu будет работать FSCK после каждых 30 bootups, но если вы хотите, чтобы система выполняла «FSCK» каждый раз когда она загружается, то все что вам нужно сделать, это создать пустой файл «звонок» «forcefsck» и поместите его в корневую папку. Это уведомит ОС, о там чтобы она выполнила «FSCK» и начала проверять файловую систему каждый раз во время загрузки:
$ sudo touch /forcefsck
Чтобы изменить частоту проверки, вы можете использовать команды «tune2fs». Следующая команда дает указание системе запустить «FSCK» после каждых 30 загрузок:
# tune2fs -c 30 /dev/sdaX
Или можно использовать опцию «-f» :
# fsck /dev/sda1 -f
Избегать ремонта, но сообщать о проблемах на стандартный вывод с помощью опции -n
Можно печатать все обнаруженные проблемы в стандартный вывод без ремонта в файловой системе, используя FSCK с опцией «-n»:
# fsck -n /dev/sda1
Использование FSCK с графическим интерфейсом
Для Debian/Ubuntu/Mint можно установить программу:
$ sudo apt-get install gparted
На этом, моя статья «Проверка файловой системы на ошибки с помощью fsck на Linux» подошла к завершению.
Из-за различных неполадок или неожиданного отключения компьютера файловая система может быть повреждена. При обычном выключении все файловые системы монтируются только для чтения, а все не сохраненные данные записываются на диск.
Но если питание выключается неожиданно, часть данных теряется, и могут быть потерянны важные данные, что приведет к повреждению самой файловой системы. В этой статье мы рассмотрим как восстановить файловую систему fsck, для нескольких популярных файловых систем, а также поговорим о том, как происходит восстановление ext4.
Немного теории
Как вы знаете файловая система содержит всю информацию обо всех хранимых на компьютере файлах. Это сами данные файлов и метаданные, которые управляют расположением и атрибутами файлов в файловой системе. Как я уже говорил, данные не сразу записываются на жесткий диск, а некоторое время находятся в оперативной памяти и при неожиданном выключении, за определенного стечения обстоятельств файловая система может быть повреждена.
Современные файловые системы делятся на два типа — журналируемые и нежурналируемые. Журналиуемые файловые системы записывают в лог все действия, которые собираются выполнить, а после выполнения стирают эти записи. Это позволяет очень быстро понять была ли файловая система повреждена. Но не сильно помогает при восстановлении. Чтобы восстановить файловую систему linux необходимо проверить каждый блок файловой системы и найти поврежденные сектора.
Для этих целей используется утилита fsck. По сути, это оболочка для других утилит, ориентированных на работу только с той или иной файловой системой, например, для fat одна утилита, а для ext4 совсем другая.
В большинстве систем для корневого раздела проверка fsck запускается автоматически, но это не касается других разделов, а также не сработает если вы отключили проверку.
В этой статье мы рассмотрим ручную работу с fsck. Возможно, вам понадобиться LiveCD носитель, чтобы запустить из него утилиту, если корневой раздел поврежден. Если же нет, то система сможет загрузиться в режим восстановления и вы будете использовать утилиту оттуда. Также вы можете запустить fsck в уже загруженной системе. Только для работы нужны права суперпользователя, поэтому выполняйте ее через sudo.
А теперь давайте рассмотрим сам синтаксис утилиты:
$ fsck [опции] [опции_файловой_системы] [раздел_диска]
Основные опции указывают способ поведения утилиты, оболочки fsck. Раздел диска — это файл устройства раздела в каталоге /dev, например, /dev/sda1 или /dev/sda2. Опции файловой системы специфичны для каждой отдельной утилиты проверки.
А теперь давайте рассмотрим самые полезные опции fsck:
- -l — не выполнять другой экземпляр fsck для этого жесткого диска, пока текущий не завершит работу. Для SSD параметр игнорируется;
- -t — задать типы файловых систем, которые нужно проверить. Необязательно указывать устройство, можно проверить несколько разделов одной командой, просто указав нужный тип файловой системы. Это может быть сама файловая система, например, ext4 или ее опции в формате opts=ro. Утилита просматривает все файловые системы, подключенные в fstab. Если задать еще и раздел то к нему будет применена проверка именно указанного типа, без автоопределения;
- -A — проверить все файловые системы из /etc/fstab. Вот тут применяются параметры проверки файловых систем, указанные в /etc/fstab, в том числе и приоритетность. В первую очередь проверяется корень. Обычно используется при старте системы;
- -C — показать прогресс проверки файловой системы;
- -M — не проверять, если файловая система смонтирована;
- -N — ничего не выполнять, показать, что проверка завершена успешно;
- -R — не проверять корневую файловую систему;
- -T — не показывать информацию об утилите;
- -V — максимально подробный вывод.
Это были глобальные опции утилиты. А теперь рассмотрим опции для работы с файловой системой, их меньше, но они будут более интересны:
- -a — во время проверки исправить все обнаруженные ошибки, без каких-либо вопросов. Опция устаревшая и ее использовать не рекомендуется;
- -n — выполнить только проверку файловой системы, ничего не исправлять;
- -r — спрашивать перед исправлением каждой ошибки, используется по умолчанию для файловых систем ext;
- -y — отвечает на все вопросы об исправлении ошибок утвердительно, можно сказать, что это эквивалент a.
- -c — найти и занести в черный список все битые блоки на жестком диске. Доступно только для ext3 и ext4;
- -f — принудительная проверка файловой системы, даже если по журналу она чистая;
- -b — задать адрес суперблока, если основной был поврежден;
- -p — еще один современный аналог опции -a, выполняет проверку и исправление автоматически. По сути, для этой цели можно использовать одну из трех опций: p, a, y.
Теперь мы все разобрали и вы готовы выполнять восстановление файловой системы linux. Перейдем к делу.
Как восстановить файловую систему в fsck
Допустим, вы уже загрузились в LiveCD систему или режим восстановления. Ну, одним словом, готовы к восстановлению ext4 или любой другой поврежденной ФС. Утилита уже установлена по умолчанию во всех дистрибутивах, так что устанавливать ничего не нужно.
Восстановление файловой системы
Если ваша файловая система находится на разделе с адресом /dev/sda1 выполните:
sudo fsck -y /dev/sda1
Опцию y указывать необязательно, но если этого не сделать утилита просто завалит вас вопросами, на которые нужно отвечать да.
Восстановление поврежденного суперблока
Обычно эта команда справляется со всеми повреждениями на ура. Но если вы сделали что-то серьезное и повредили суперблок, то тут fsck может не помочь. Суперблок — это начало файловой системы. Без него ничего работать не будет.
Но не спешите прощаться с вашими данными, все еще можно восстановить. С помощью такой команды смотрим куда были записаны резервные суперблоки:
sudo mkfs -t ext4 -n /dev/sda1
На самом деле эта команда создает новую файловую систему. Вместо ext4 подставьте ту файловую систему, в которую был отформатирован раздел, размер блока тоже должен совпадать иначе ничего не сработает. С опцией -n никаких изменений на диск не вноситься, а только выводится информация, в том числе о суперблоках.
Теперь у нас есть шесть резервных адресов суперблоков и мы можем попытаться восстановить файловую систему с помощью каждого из них, например:
sudo fsck -b 98304 /dev/sda1
После этого, скорее всего, вам удастся восстановить вашу файловую систему. Но рассмотрим еще пару примеров.
Проверка чистой файловой системы
Проверим файловую систему, даже если она чистая:
sudo fsck -fy /dev/sda1
Битые сектора
Или еще мы можем найти битые сектора и больше в них ничего не писать:
sudo fsck -c /dev/sda1
Установка файловой системы
Вы можете указать какую файловую систему нужно проверять на разделе, например:
sudo fsck -t ext4 /dev/sdb1
Проверка всех файловых систем
С помощью флага -A вы можете проверить все файловые системы, подключенные к компьютеру:
sudo fsck -A -y
Но такая команда сработает только в режиме восстановления, если корневой раздел и другие разделы уже примонтированы она выдаст ошибку. Но вы можете исключить корневой раздел из проверки добавив R:
sudo fsck -AR -y
Или исключить все примонтированные файловые системы:
sudo fsck -M -y
Также вы можете проверить не все файловые системы, а только ext4, для этого используйте такую комбинацию опций:
sudo fsck -A -t ext4 -y
Или можно также фильтровать по опциям монтирования в /etc/fstab, например, проверим файловые системы, которые монтируются только для чтения:
sudo fsck -A -t opts=ro
Проверка примонтированных файловых систем
Раньше я говорил что нельзя. Но если другого выхода нет, то можно, правда не рекомендуется. Для этого нужно сначала перемонтировать файловую систему в режим только для чтения. Например:
sudo mount -o remount,ro /dev/sdb1
А теперь проверка файловой системы fsck в принудительном режиме:
sudo fsck -fy /dev/sdb1
Просмотр информации
Если вы не хотите ничего исправлять, а только посмотреть информацию, используйте опцию -n:
sudo fsck -n /dev/sdb1
Выводы
Вот и все, теперь вы знаете как выполняется восстановление файловой системы ext4 или любой другой, поддерживаемой в linux fsck. Если у вас остались вопросы, спрашивайте в комментариях!
На десерт сегодня видео на английском про различия файловых систем ext4 и xfs, как обычно, есть титры:
https://www.youtube.com/watch?v=pECp066gGcY
Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.
Sometimes your computer may display a message that Centos is checking the file system. There can be several reasons for this problem.
Recommended: Fortect
Download this software and fix your PC in minutes.
g.The FSCK command is a very important Linux / Unix utility, it is usually used to check and fix errors in the file system. In fact, it is similar to the chkdsk utility in the way Windows works. It is available for Linux, macOS and FreeBSD operating systems.
g.
File systems are often responsible for organizing the storage and recovery of data. In any case, over time, the file system The cell may be damaged and some parts will become inaccessible. If such inconsistency occurs in your file system, it is recommended to check its integrity.
This can be done using the system utility fsck (Check for file system texture differences). This check can be performed in full at boot time or manually.
In this article we will look at the fsck utility as it is also used to fix CD errors.
When should you use fsck on Linux?
There are several scenarios where we might want to run fsck. Here are some examples:
- The startup system is not working.
- Files on the system are getting questionable (I often see I / O errors).
- Attached motivation (including USB sticks / SD cards) may not work as expected.
Available fsck options
Fsck-Acquisition must be running and granting superuser or root privileges. You can apply it in different ways with arguments. Their absorption will depend on your particular case. Below are some of the most importantAdditional parameters:
-
-
-A
– used to check all file systems. The stolen list is located in/ etc / fstab
. -
-C
– display the next line. -
-l
– locks the device, which ensures that no other program has to use the section when checking. -
-M
– do not check fixed file systems. -
-N
– just show what can be done – no changes are made. -
-P
– if you need to archive filesystems, including in parallel, root. -
-R
– do not check the main file system. This is only useful if it includes “-A
“. -
-r
– Provides statistics for the device being scanned. -
-T
Do not display title. -
-t
– enter filesystem for tested methods only. Types can always be comma separated lists. € “ -
-v
Enter an accurate description.
-
How To Run Fsck To Fix Linux Filesystem Errors
Run fsck in recovery mode Hold down the Shift key while booting to see the entire Grub menu. Choose one of our “Advanced Options”. Then select “Recovery Mode”. Select “fsck” in the next menu.
To run fsck, you almost certainlyYou will need to make sure that the particular partition you are trying to check cannot be mounted. For this article, I am using our own second reader, / dev / sdb
, mounted at / mnt
.
This is what happens if I try to boot with fsck mounted.
# fsck / dev / sdb
# umount / dev / sdb
# fsck / dev / sdb
What are fsck exit codes
After fsck runs, it returns an exit code. This cod can be found in the fsck manual by running:
# person fsck0 No errorFixed 1 file system error2 The system must be restarted.4 filesystem errors not fixed8 mistakes in work16 Usage or format error32 Check canceled at the request of the user128 Shared library error
Fix Linux filesystem errors
Sometimes several errors can be found in the file system. In such places you may needTry fsck, which will automatically try to fix errors. This is possible with:
# fsck -y / dev / sdb
The -y
flag, which actually suggests yes
to fix the fsck error.
Similarly, you can play the same on all filesystems (no root):
$ fsck -AR -y
How To Do It In The Linux Fsck Root Partition
In some cases, you may need the base partition of your system when you need to run fsck. Since you shouldn’t run fsck while the partition is still mounted, you can try one of the following:
- Force fsck to be used when starting the application.
- Run fsck in recovery mode.
Force fsck to run on system startup
This is relatively easy to accomplish. All you have to do is create a file called forcefsck on the actual partition on your system. Use the following command:
# touch / forcefsck
Then you can force or schedule a system reboot to some extent. Fsck is executed during the next boot process. If time is just Critically, it is a good idea to plan it carefully, because whenever there are many inodes attached to your system, fsck may take a little longer to execute.
# ls / forcefsck
If so, you can remove them to avoid fsck on every system boot.
Run fsck in recovery mode
It does take a few extra steps to run fsck in recovery mode. First, your system is configured to reboot. They all stop major services like MySQL / MariaDB etc. and by type.
# restart
Press the Shift
key during the boot process to display the current Grub menu. Choose our own “Advanced Options”.
You are expected to want to remount the /
filesystem. Select Yes
.
Conclusion
Recommended: Fortect
Are you tired of your computer running slowly? Is it riddled with viruses and malware? Fear not, my friend, for Fortect is here to save the day! This powerful tool is designed to diagnose and repair all manner of Windows issues, while also boosting performance, optimizing memory, and keeping your PC running like new. So don’t wait any longer — download Fortect today!
In this tutorial, you learned how to use fsck and perform consistency checks on various Linux filesystems. If the owners have any questions about fsck, feel free to post them in the comments section below.
If You Like What We Do Here At TecMint, Please Note The Following:
TecMint is our fastest growing and most trusted online business community, offering all types of Linux articles, tutorials and books on the Internet. Millions of people visit TecMint! view or view a huge number of published articles available for FREE to everyone.
If you like what you can read, consider buying a suburban cafe (or two), even if it’s a token of appreciation.
Download this software and fix your PC in minutes.
Change single user mode.List the shock points in your system.Unmount almost all filesystems from / etc / fstab.Find the actual logical volumes.
To do this, start performance or restart your computer using the GUI or terminal: sudo reboot.Press and hold the Shift key during startup.Select Advanced Options for Ubuntu.Then select the door with (Recovery Mode) at the end.Select fsck from the menu.
Controllo Del File System Centos
Proverka Fajlovoj Sistemy Centos
Verificacion Del Sistema De Archivos Centos
Centos Bestandssysteem Controle
Centos Filsystemskontroll
Centos 파일 시스템 검사
Centos Dateisystemuberprufung
Verification Du Systeme De Fichiers Centos
Sprawdzanie Systemu Plikow Centos
FSCK – очень важная утилита для Linux / Unix, она используется для проверки и исправления ошибок в файловой системе.
Она похоже на утилиту «chkdsk» в операционных системах Windows.
Она также доступна для операционных систем Linux, MacOS, FreeBSD.
FSCK означает «File System Consistency Check», и в большинстве случаев он запускается во время загрузки, но может также запускаться суперпользователем вручную, если возникнет такая необходимость.
Может использоваться с 3 режимами работы,
1- Проверка наличия ошибок и позволить пользователю решить, что делать с каждой ошибкой,
2- Проверка на наличие ошибок и возможность сделать фикс автоматически, или,
3- Проверка наличия ошибок и возможность отобразить ошибку, но не выполнять фикс.
Содержание
- Синтаксис использования команды FSCK
- Команда Fsck с примерами
- Выполним проверку на ошибки в одном разделе
- Проверьте файловую систему на ошибки и исправьте их автоматически
- Проверьте файловую систему на наличие ошибок, но не исправляйте их
- Выполним проверку на ошибки на всех разделах
- Проверим раздел с указанной файловой системой
- Выполнять проверку только на несмонтированных дисках
Синтаксис использования команды FSCK
$ fsck options drives
Опции, которые можно использовать с командой fsck:
- -p Автоматический фикс (без вопросов)
- -n не вносить изменений в файловую систему
- -у принять «yes» на все вопросы
- -c Проверить наличие плохих блоков и добавить их в список.
- -f Принудительная проверка, даже если файловая система помечена как чистая
- -v подробный режим
- -b использование альтернативного суперблока
- -B blocksize Принудительный размер блоков при поиске суперблока
- -j external_journal Установить местоположение внешнего журнала
- -l bad_blocks_file Добавить в список плохих блоков
- -L bad_blocks_file Установить список плохих блоков
Мы можем использовать любую из этих опций, в зависимости от операции, которую нам нужно выполнить.
Давайте обсудим некоторые варианты команды fsck с примерами.
Команда Fsck с примерами
Примечание: – Прежде чем обсуждать какие-либо примеры, прочтите это. Мы не должны использовать FSCK на смонтированных дисках, так как высока вероятность того, что fsck на смонтированном диске повредит диск навсегда.
Поэтому перед выполнением fsck мы должны отмонтировать диск с помощью следующей команды:
$ umount drivename
Например:
$ umount /dev/sdb1
Вы можете проверить номер раздела с помощью следующей команды:
$ fdisk -l
Также при запуске fsck мы можем получить некоторые коды ошибок.
Ниже приведен список кодов ошибок, которые мы могли бы получить при выполнении команды вместе с их значениями:
- 0 – нет ошибок
- 1 – исправлены ошибки файловой системы
- 2 – система должна быть перезагружена
- 4 – Ошибки файловой системы оставлены без исправлений
- 8 – Операционная ошибка
- 16 – ошибка использования или синтаксиса
- 32 – Fsck отменен по запросу пользователя
- 128 – Ошибка общей библиотеки
Теперь давайте обсудим использование команды fsck с примерами в системах Linux.
Выполним проверку на ошибки в одном разделе
Чтобы выполнить проверку на одном разделе, выполните следующую команду из терминала:
$ umount /dev/sdb1 $ fsck /dev/sdb1
Проверьте файловую систему на ошибки и исправьте их автоматически
Запустите команду fsck с параметром «a» для проверки целостности и автоматического восстановления, выполните следующую команду.
Мы также можем использовать опцию «у» вместо опции «а».
$ fsck -a /dev/sdb1
Проверьте файловую систему на наличие ошибок, но не исправляйте их
В случае, если нам нужно только увидеть ошибки, которые происходят в нашей файловой системе, и не нужно их исправлять, тогда мы должны запустить fsck с опцией “n”,
$ fsck -n /dev/sdb1
Выполним проверку на ошибки на всех разделах
Чтобы выполнить проверку файловой системы для всех разделов за один раз, используйте fsck с опцией «A»
$ fsck -A
Чтобы отключить проверку корневой файловой системы, мы будем использовать опцию «R»
$ fsck -AR
Проверим раздел с указанной файловой системой
Чтобы запустить fsck на всех разделах с указанным типом файловой системы, например, «ext4», используйте fsck с опцией «t», а затем тип файловой системы,
$ fsck -t ext4 /dev/sdb1
или
$ fsck -t -A ext4
Выполнять проверку только на несмонтированных дисках
Чтобы убедиться, что fsck выполняется только на несмонтированных дисках, мы будем использовать опцию «M» при запуске fsck,
$ fsck -AM
Вот наше короткое руководство по команде fsck с примерами.
Пожалуйста, не стесняйтесь присылать нам свои вопросы, используя поле для комментариев ниже.