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

Советы и рекомандации

Восстановление повреждённых блоков

Следующая команда позволяет восстановить повреждённые участки файловых систем ext2/ext3/ext4 и FAT:

Важно: Разрешение на восстановление запрошено не будет. Подразумевается, что вы уже ответили «Да», запустив команду на выполнение.

# fsck -a

Интерактивное восстановление повреждённых блоков

Полезно в том случае, если файлы на загрузочном разделе были изменены, а журнал не обновился соответствующим образом. В этом случае размонтируйте загрузочный раздел и выполните:

# fsck -r диск

Изменение частоты проверки

Примечание: Команды tune2fs и dumpe2fs работают только с файловыми системами ext2/ext3/ext4.

По умолчанию fsck проверяет файловую систему каждые 30 загрузок (вычисляется отдельно для каждого раздела). Чтобы изменить частотку проверок, выполните:

# tune2fs -c 20 /dev/sda1

Здесь — число загрузок между проверками. Если задать значение , то проверка будет выполняться при каждой загрузке, а значение отключит сканирование.

Текущую частоту проверок и опции монтирования конкретного раздела можно узнать командой:

# dumpe2fs -h /dev/sda1 | grep -i 'mount count'

Параметры fstab

fstab — файл системных настроек, который используется для передачи ядру Linux информации о том, какие разделы (файловые системы) монтировать и в какие точки дерева файловой системы.

Записи в выглядят примерно следующим образом.

/dev/sda1   /         ext4      defaults       0  1
/dev/sda2   /other    ext4      defaults       0  2
/dev/sda3   /win      ntfs-3g   defaults       0  

Шестое поле каждой строки (выделено) — опция fsck:

  • — не проверять.
  • — файловая система (раздел), которая должна быть проверена первой; для корневого раздела () должно использоваться именно это значение.
  • — прочие файловые системы, которые должны быть проверены.

Проверка файловой системы на ошибки с помощью fsck на Linux

В моей статье «Проверка файловой системы на ошибки с помощью fsck на Linux» я расскажу как можно проверить файловую систему на вашей ОС в Linux.

Некоторым системам необходим пароль root чтобы запустить fsck или других аналогичных утилит, когда не могут загрузить полностью ОС. В этом случае –стоит выполнить проверку диска загрузившись в single-user mode , либо – загрузившись с другого диска.

Fsck расшифровывается как «файловая система Проверка целостности» (file system consistency check). На большинстве систем, Fsck запускается во время загрузки, если определенные условия.

Сам Fsck команда взаимодействует с соответствующей файловой системой конкретных FSCK команд, созданной авторами файловой системы. Независимо от типа вашей файловой системы, Fsck как правило, имеет три режима работы:

  1. Проверка на наличие ошибок и подсказывает пользователю интерактивное решение, как решить индивидуальные проблемы;
  2. Проверка на наличие ошибок и постарается автоматически исправить все ошибки;
  3. Проверка на наличие ошибок без возможности восстановить их, но тогда выдаст ошибки на стандартный вывод.

Код выхода возвращается 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

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

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

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

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

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

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

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

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

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

  4. После этого перезагрузите живой дистрибутив и загрузите вашу систему.

Выставление/изменение полномочий на файлы

  • просмотр полномочий на файлы и директории в текущей директории

  • вывести содержимое директории /tmp и разделить вывод на пять колонок

  • добавить полномочия на директорию directory1 ugo(User Group Other)+rwx(Read Write eXecute) — всем полные права. Аналогичное можно сделать таким образом chmod 777 directory1

  • отобрать у группы и всех остальных все полномочия на директорию directory1

  • назначить владельцем файла file1 пользователя user1

  • назначить рекурсивно владельцем директории directory1 пользователя user1

  • сменить группу-владельца файла file1 на group1

  • сменить владельца и группу владельца файла file1

  • найти, начиная от корня, все файлы с выставленным SUID

  • назначить SUID-бит файлу /bin/binary_file. Это даёт возможность любому пользователю запускать на выполнение файл с полномочиями владельца файла

  • снять SUID-бит с файла /bin/binary_file

  • назначить SGID-бит директории /home/public

  • снять SGID-бит с директории /home/public

  • назначить STIKY-бит директории /home/public. Позволяет удалять файлы только владельцам

  • снять STIKY-бит с директории /home/public

Администрирование

Изменение размера

XFS позволяет изменять размер файловой системы «на лету». Достаточно выполнить с указанием точки монтирования, что расширит файловую систему до максимально возможного размера.

# xfs_growfs /путь/к/точке/монтирования

Проверка метаданных «на лету» (scrub)

Важно: Эта программа является экспериментальной, соответственно, её поведение и интерфейс могут измениться в любое время, см. .. запрашивает ядро очистить (англ

scrub) все объекты метаданных в XFS.Записи метаданных сканируются на очевидно ошибочные значения, после чего перекрёстно ссылаются на остальные метаданные. Это делается для того, чтобы иметь достаточно уверенности в целостности всей файловой системы, анализируя отдельные записи метаданных на фоне остальных метаданных в файловой системе. Повреждённые метаданные можно восстановить из других метаданных при наличии неповреждённых избыточных структур данных.

запрашивает ядро очистить (англ. scrub) все объекты метаданных в XFS.Записи метаданных сканируются на очевидно ошибочные значения, после чего перекрёстно ссылаются на остальные метаданные. Это делается для того, чтобы иметь достаточно уверенности в целостности всей файловой системы, анализируя отдельные записи метаданных на фоне остальных метаданных в файловой системе. Повреждённые метаданные можно восстановить из других метаданных при наличии неповреждённых избыточных структур данных.

Включите и запустите для периодической проверки метаданных всех файловых систем XFS «на лету».

Примечание: Для удобства, можно : таймер выполняется каждое воскресенье в 3:10 и , если последний запуск был пропущен (например, так как система была выключена).

Восстановление файловой системы XFS

Если вы не можете смонтировать файловую систему XFS, вы можете использовать команду xfs_repair -n для проверки ее согласованности. Обычно эту команду выполняют только для устройства немонтируемой файловой системы, в которой, по вашему мнению, есть проблема. Команда xfs_repair -n выводит вывод, указывающий на изменения, которые будут внесены в файловую систему в случае, если потребуется выполнить операцию восстановления, но не изменяет файловую систему напрямую.

Если вы можете подключить файловую систему и у вас нет подходящей резервной копии, вы можете использовать xfsdump, чтобы попытаться создать резервную копию существующих данных файловой системы. Однако команда может не сработать, если метаданные файловой системы слишком повреждены.

Вы можете использовать команду xfs_repair для попытки восстановления файловой системы XFS, указанного устройства. Команда воспроизводит журнал регистрации, чтобы исправить любые несоответствия, которые могли возникнуть в результате того, что файловая система не была чисто размонтирована. Если в файловой системе нет несоответствий, обычно нет необходимости использовать эту команду, так как журнал воспроизводится каждый раз, когда вы монтируете файловую систему XFS.

Сначала размонтируйте файловую систему, затем запустите инструмент :

# umount /dev/sdxY
# xfs_repair device

Если журнал был поврежден, вы можете сбросить журнал, указав опцию -L для xfs_repair.

Если вы не можете смонтировать файловую систему или у вас нет подходящей резервной копии, запуск xfs_repair — единственный возможный вариант, если у вас нет опыта использования xfs_db.

xfs_db предоставляет внутренний набор команд, позволяющий отлаживать и восстанавливать файловую систему XFS вручную. Команды позволяют выполнять сканирование файловой системы, перемещаться и отображать ее структуры данных. Если указать опцию -x для включения экспертного режима, можно изменять структуры данных.

# xfs_db  device

Для получения дополнительной информации смотрите и , а также команду help в разделе xfs_db.

Восстановление данных

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

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

Чтобы смонтировать файловую систему XFS без записи на нее и без воспроизведения журнала, используйте .

fsck Linux Command Options Summary

To wrap up, below is the list of the options you can use with the fsck Linux utility.

Option Description
Try to repair filesystem errors automatically. There will be no prompts, so use it with caution. 
Check all filesystems listed in /etc/fstab.
Show progress for ext2 and ext3 filesystems. 
Force fsck to check a filesystem. The tool checks even when the filesystem appears to be clean.
Lock the device to prevent other programs from using the partition during the scan and repair. 
Do not check mounted filesystems. The tool returns an exit code 0 when a filesystem is mounted.
Do a dry run. The output prints what the fsck would do without executing any actions. The warning or error messages are printed as well.  
Use to run a scan on multiple filesystems in parallel. It can cause issues, depending on your setup. Use with caution. 
Tell the fsck tool not to check the root filesystems when you use the option. 
Print device statistics. 
Specify which filesystems type(s) to check with fsck. Consult the man page for detailed information. 
Hide the title when the tool starts. 
Try to repair filesystem errors automatically during the check. 
Verbose output. 

Conclusion

Now you know how to use fsck Linux command to check and repair filesystems. The guide provided examples of the tool’s functionalities and features.

Make sure you have root permissions before running the listed commands. For a detailed description of all options, you can consult the man file of the tool or visit the fsck Linux man page.

Troubleshooting

Can’t run fsck on a separate /usr partition

  1. Make sure you have the required in and that you remembered to re-generate your initramfs image after editing this file.
  2. Check your fstab! Only the root partition needs at the end, everything else should have either or . Carefully inspect it for other typos, as well.

ext2fs: no external journal

There are times (due to power failure) in which an ext(3/4) file system can corrupt beyond normal repair. Normally, there will be a prompt from fsck indicating that it cannot find an external journal. In this case, run the following commands:

Unmount the partition based on its directory

# umount directory

Write a new journal to the partition

# tune2fs -j /dev/partition

Run an fsck to repair the partition

# fsck -p /dev/partition

Как пользоваться fsck

Команда принимает следующую общую форму:

Только root или пользователи с привилегиями могут очистить буфер.

Если в качестве аргумента указано no , проверяются устройства, указанные в файле.

Никогда не запускайте на смонтированных разделах, так как это может повредить файловую систему. Прежде чем пытаться проверить или восстановить файловые системы, всегда делайте это сначала.

Команда является оберткой для различных контроллеров файловой системы Linux ( ) и принимает различные параметры в зависимости от типа файловой системы.

Проверьте справочные страницы для получения дополнительной информации о конкретном контролере. Например, чтобы просмотреть доступные параметры , введите:

Системная информация

  • отобразить архитектуру компьютера:

  • отобразить используемую версию ядра

  • показать аппаратные системные компоненты — (SMBIOS / DMI)

  • вывести характеристики жесткого диска

  • отобразить информацию о процессоре

  • показать прерывания

  • проверить использование памяти

  • показать файл(ы) подкачки

  • вывести версию ядра

  • показать сетевые интерфейсы и статистику по ним

  • отобразить смонтированные файловые системы

  • показать в виде дерева PCI устройства

  • показать в виде дерева USB устройства

  • вывести системную дату

  • вывести таблицу-календарь 2011-го года

  • установить системные дату и время ММДДЧЧммГГГГ.СС

  • сохранить системное время в BIOS

Мониторинг и отладка

  • отобразить запущенные процессы, используемые ими ресурсы и другую полезную информацию (с автоматическим обновлением данных)

  • отобразить запущенные процессы, используемые ими ресурсы и другую полезную информацию (единожды)

  • вывести PID’ы и процессы в виде дерева

  • отобразить дерево процессов

  • «убить» процесс с PID 98989 «на смерть» (без соблюдения целостности данных)

  • корректно завершить процесс с PID 98989

  • заставить процесс с PID 98989 перепрочитать файл конфигурации

  • отобразить список файлов, открытых процессом с PID 98989

  • отобразить список открытых файлов из директории /home/user1

  • вывести список системных вызовов, созданных и полученных процессом ls

  • вывести вызовы бибилотек

  • отображать прерывания в режиме реального времени

  • отобразить историю перезагрузок системы

  • отобразить историю регистрации пользователя user1 в системе и время его нахождения в ней

  • вывести загруженные модули ядра

  • показать состояние оперативной памяти в мегабайтах

  • контроль состояния жёсткого диска /dev/hda через SMART

  • проверить доступность SMART на жёстком диске /dev/hda

  • вывести десять последних записей из журнала загрузки ядра

  • вывести десять последних записей из системного журнала

Практическое использование команды fsck

Теперь, когда вы немного знакомы с командой fsck, давайте посмотрим на практические примеры использования этой команды.

Ремонт USB-диска и других съемных устройств

Для наших целей предположим, что вы уже определили проблемное устройство /dev/sdb.

Во-первых, вам нужно убедиться, что диск отключен:

sudo umount /dev/sdb

Теперь запустите команду fsck:

sudo fsck /dev/sdb

Проверьте вывод на наличие ошибок. Если ничего не отображается, проверьте код выхода с помощью echo $?.

Есть также некоторые опции флагов, которые мы можем добавить, чтобы позволить автоматическое исправление. Эти команды не стандартизированы, и вы должны проверить тип файловой системы и сравнить документацию с этой конкретной страницы руководства.

Несмотря на это, вы можете использовать -pfsck для автоматического восстановления.

sudo fsck -p /dev/sdb

Аналогичным образом -y будут применены исправления к любой обнаруженной поврежденности файловой системы.

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

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

Есть несколько вариантов, которые вы можете использовать. Вы можете запустить fsck во время загрузки, в режиме восстановления или использовать live cd на тему восстановления.

Многие дистрибутивы Linux автоматически запускают fsck после определенного числа неудачных попыток загрузки. Если вы предпочитаете взять дело в свои руки, вы можете запланировать, что система сделает это самостоятельно.

В большинстве современных версий Linux есть инструмент под названием tune2fs.

sudo tune2fs -c 1 /dev/sda

Предполагая, что ваше корневое устройство dev/sda, это команда, которую вы должны ввести.

Теперь, что на самом деле происходит, так это то, что вы меняете системные настройки так, что fsck запускается при каждом nколичестве загрузок (1 в примере). Вы также можете установить это на стандартный интервал времени. Варианты days, weeks, или months.

Допустим, вы хотите, чтобы fsck запускался каждый раз при загрузке, если в течение недели не было проверки. Вы можете использовать -i для указания интервала, и команда будет выглядеть следующим образом.

sudo tune2fs -i 1w /dev/sda

Если вы используете systemd, вы можете принудительно запустить fsck при следующей загрузке, введя следующее:

fsck.mode=force
fsck.repair=yes

Вывод

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

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

Примеры использования fsck

Для самой типичной ситуации, характерной для случаев, когда нужно восстановить (а точнее «починить») ФС, например на устройстве /dev/sdb2, следует воспользоваться командой:

Здесь опция -y необходима, т. к. при её отсутствии придётся слишком часто давать подтверждение. Следующая команда позволит произвести принудительную проверку ФС, даже в том случае, если она исправна:

Одной из самых полезных является опция, позволяющая помечать повреждённые сектора и эта же опция используется чаще всего. Обычно такие ситуации (с повреждёнными секторами) возникают после сбоев, вызванных нештатным отключением электропитания:

Работу файловыми системами нужно проводить, когда они отмонтированны от разделов. Однако, если возникает ситуация, когда нужно всё же произвести проверку на примонтированных ФС, то перед тем как использовать команду fsck с соответствующей опцией, нужно сначала перемонтировать нужную ФС в режиме «только для чтения»:

Для указания, какую ФС использовать для раздела:

Если fsck не справляется с исправлением/починкой ФС (что случается очень редко), то это может быть из-за повреждённого суперблока ФС. Его также можно восстановить, поскольку для суперблоков создаются их резервные копии. Но сначала нужно узнать, по каким адресам эти копии записывались, а затем попытаться восстановить суперблок из одной их резервных копий:

Команда fdisk -l упомянута в данном примере для наглядности того, что сначала нужно представлять, с каким устройством работать, т. к. она выводит список (в данном выводе опущен) доступных разделов. Команда mkfs предназначена для создания ФС, но с опцией -n её можно использовать для получения информации о ФС, в том числе и о расположении суперблоков. Следует следить за тем, чтобы ключом -t для mkfs задавалась соответствующая фактическому состоянию файловая система, в данном случае ext4.

Просмотр статуса файловой системы

Естественно, вам захочется настроить базовые параметры файловой системы, такие как распределение дискового пространства, контрольные точки безопасности и заданный уровень производительности. В арсенале GNU имеется множество инструментов для работы с файловой системой. Наиболее распространенные команды – это , ,  и, а также  и  (эти команды не столь популярны, но не менее полезны).

Команды du и df

Команды  и  используются для получения информации об использовании диска и свободном дисковом пространстве. Команда  показывает размер файлов в директории /var. Если необходимо получить информацию о вложенных поддиректориях директории /var, то нужно выполнить команду .

# du -csh  /var 
73M	/var
73M total

Команда  выводит информацию об использовании файловыми системами дискового пространства для всех точек монтирования в удобочитаемом () формате:

# df -h 
 File System            Size  Used Avail Use% Mounted on
 /dev/mapper/VolGroup00-LogVol00    37G  3.2G   32G  10% /
/dev/sda1              99M   12M   82M  13% /boot
tmpfs                 506M     0  506M   0% /dev/shm

Команда fsck

Команда  используется для проверки файловой системы и при необходимости ее восстановления. Например, если вам необходимо проверить на наличие ошибок раздел, расположенный на устройстве /dev/sda2, то введите команду :

# umount  /var
# fsck /var
fsck from util-linux-ng 2.17.2
e2fsck 1.41.12 (17-May-2010)
/dev/sda3: clean, 702/192000 files, 52661/768000 blocks

Примечание. Эту команду следует запускать на несмонтированной файловой системе.

В вышеприведенных примерах все задачи выполнялись в однопользовательском режиме. Раздел /var, расположенный на устройстве /dev/sda3, сначала был демонтирован. Команда  не обнаружила каких-либо ошибок, в противном случае она попыталась бы исправить их.

Команда iostat

Команда  выводит статистику дисковых операций ввода/вывода.

$ iostat
Linux 2.6.18-164.el5 (DemoServer) 	12/19/2011

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.25    1.74    1.26    2.89    0.00   93.86

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
sda              10.69       351.52       227.60    1759192    1139038
sda1              0.06         0.45         0.00       2254         22
sda2             10.62       351.01       227.60    1756658    1139016
dm-0             40.06       350.72       227.60    1755178    1139016
dm-1              0.02         0.18         0.00        920          0
hdc                0.00         0.03         0.00        144          0
fd0               	 0.00         0.00         0.00         16           0

В этом примере демонстрируется, как можно использовать команду  для получения информации об операциях чтения/записи, а также общей статистики

Обратите внимание на то, что по умолчанию эта команда выводит информацию об операциях чтения/записи для всех устройств, а в верхней строке отображает общую статистику использования

Команда sar

Команда  выводит значения системных счетчиков, подобно программе Performance Monitor операционной системы Windows. Команду  можно использовать для отображения прошлых значений или для вывода счетчиков в реальном времени:

$ sar 4 5
Linux 2.6.18-164.el5 (DemoServer) 	12/19/2011

12:20:20 AM       CPU     %user     %nice   %system   %iowait    %steal     %idle
12:20:24 AM       all      0.00      0.00      0.00      0.00      0.00    100.00
12:20:28 AM       all      0.00      0.00      1.01      0.00      0.00     98.99
12:20:32 AM       all      0.00      0.00      0.50      0.00      0.00     99.50
12:20:36 AM       all      0.00      0.00      0.00      0.00      0.00    100.00
12:20:40 AM       all      0.25      0.00      1.01      0.00      0.00     98.74
Average:          all      0.05      0.00      0.50      0.00      0.00     99.45

В этом примере команда  выводит пять значений счетчиков, обновляемых через каждые 4 секунды.

Сеть

  • показать конфигурацию сетевого интерфейса eth0

  • активировать (поднять) интерфейс eth0

  • деактивировать (опустить) интерфейс eth0

  • выставить интерфейсу eth0 ip-адрес и маску подсети

  • перевести интерфейс eth0 в promiscuous-режим для «отлова» пакетов (sniffing)

  • отключить promiscuous-режим на интерфейсе eth0

  • активировать интерфейс eth0 в dhcp-режиме.

  • вывести локальную таблицу маршрутизации

  • задать ip-адрес шлюза по умолчанию (default gateway)

  • добавить статический маршрут в сеть 192.168.0.0/16 через шлюз с ip-адресом 192.168.1.1

  • удалить ip-адрес шлюза по умолчанию (default gateway)

  • разрешить пересылку пакетов (forwarding)

  • отобразить имя компьютера

  • разрешить имя http://www.linuxguide.it хоста в ip-адрес и наоборот

  • отобразить состояние всех интерфейсов

  • отобразить статус и тип соединения для интерфейса eth0

  • отображает статистику интерфеса eth0 с выводом такой информации, как поддерживаемые и текущие режимы соединения

  • отображает все установленные сетевые соединения по протоколам TCP и UDP без разрешения имён в ip-адреса и PID’ы и имена процессов, обеспечивающих эти соединения

  • отображает все сетевые соединения по протоколам TCP и UDP без разрешения имён в ip-адреса и PID’ы и имена процессов, слушающих порты

  • отобразить весь трафик на TCP-порт 80 (обычно — HTTP)

  • просканировать эфир на предмет, доступности беспроводных точек доступа

  • показать конфигурацию беспроводного сетевого интерфейса eth1

Параметры fstab

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

Файл содержит список записей в следующем виде:

/etc/fstab

Последний, шестой столбец ( ) — это параметр, который контролирует порядок, в котором проверки файловой системы выполняются во время перезагрузки.

  • — Не проверять.
  • — файловые системы для проверки в первую очередь и по очереди.
  • — Все остальные файловые системы, которые проверяются позже и, возможно, параллельно.

Корневая файловая система должна иметь значение , а все остальные файловые системы, которые вы хотите проверить, должны иметь значение .

Как пользоваться fsck

Коман­да fsck при­ни­ма­ет сле­ду­ю­щую общую форму:

YAML

fsck

1 fsck

Толь­ко root или поль­зо­ва­те­ли с при­ви­ле­ги­я­ми sudo могут очи­стить буфер.

Если FILESYSTEM в каче­стве аргу­мен­та ука­за­но no, fsck про­ве­ря­ют­ся устрой­ства, ука­зан­ные в фай­ле fstab.

Нико­гда не запус­кай­те fsck­на смон­ти­ро­ван­ных раз­де­лах, так как это может повре­дить фай­ло­вую систе­му. Преж­де чем пытать­ся про­ве­рить или вос­ста­но­вить фай­ло­вые систе­мы, все­гда делай­те unmount­это сначала.

Коман­да fsck явля­ет­ся обо­лоч­кой для раз­лич­ных кон­трол­ле­ров фай­ло­вой систе­мы Linux ( fsck.*) и при­ни­ма­ет раз­лич­ные пара­мет­ры в зави­си­мо­сти от типа фай­ло­вой системы.

Про­верь­те спра­воч­ные стра­ни­цы для полу­че­ния допол­ни­тель­ной инфор­ма­ции о кон­крет­ном кон­тро­ле­ре. Напри­мер, что­бы про­смот­реть доступ­ные пара­мет­ры fsck.ext4, введите:

YAML

man fsck.ext4

1
2

manfsck.ext4
 

Некоторые особенности использования fsck в Linux

Для Linux-систем довольно часто (в особенности с использованием ФС ext) проверка ФС может быть организована таким образом, что она будет проводиться при прошествии некоторого числа демонтирований, даже если ФС полностью исправны. Это особенно актуально для настольных компьютеров, которые могут выключаться/включаться каждые сутки, перезагружаться в связи с особенностью их работы и применения, а также из-за свободного к ним доступа для подключения внешних устройств. В таких случаях проверка ФС (хоть и является полезной и благоприятной процедурой), оказывается слишком частой, а потому бессмысленной.

По-умолчанию в Linux проверка ФС проводится по прошествии 20 демонтирований. Для того, чтобы изменить количество демонтирований, после которых нужна проверка ФС нужно воспользоваться командой tune2fs:

Boot time checking

Mechanism

There are two players involved:

  1. systemd will fsck all file systems having a fsck pass number greater than 0 (either with or a ). For the root file system, it also has to be mounted read-only initially with the kernel parameter and only then remounted read-write from fstab (note that the mount option implies ).

The first option is the recommended default, and what you will end up with if you follow the Installation guide. If you want to go with option 2 instead, you should remove the hook from and use on the kernel command-line. The kernel parameter can be used to make sure fsck is disabled entirely for both options.

Forcing the check

If you use the mkinitcpio hook, you can force fsck at boot time by passing as a kernel parameter. This will check every file system you have on the machine.

Alternatively, systemd provides , which checks all configured file systems, which were not checked in the initramfs. However, checking the root file system this way causes a delay in the boot process, because the file system has to be remounted.

This article or section needs expansion.

Note: For those accustomed to use other GNU/Linux distributions, the old tricks consisting in writing a file with the name to the root of each file system or using the command with the flag were only working for the old SysVinit and early versions of Upstart and are not working with systemd. The aforementioned solution is thus the only one working for Arch Linux.

Проверка файловых систем

fsck / dev / sda2

Эта команда попытается проверить / dev / sda2, и сообщать обо всех обнаруженных ошибках.

fsck -y / dev / sda2

Проверьте / dev / sda2и попытайтесь автоматически исправить все обнаруженные ошибки.

fsck -A

Проверьте все настроенные файловые системы. fsck обработает файл / etc / fstab и проверьте все перечисленные там файловые системы. Системы будут проверяться в порядке их значение, как указано в fstab файл. Системы со значением прохода будут пропущены; система со значением прохода 1 будут перечислены первыми, а остальные системы будут проверяться в порядке возрастания их проходного значения.

кот / etc / fstab

Просмотреть все настроенные файловые системы. Результат будет напоминать следующее:

# / etc / fstab: информация о статической файловой системе. # # Используйте ’blkid’ для печати универсального # уникального идентификатора устройства; это можно использовать с UUID = как более надежный способ присвоения имен устройствам #, который работает, даже если диски добавляются и удаляются. См. Справочную страницу fstab. # # # / был на / dev / sda5 во время установки UUID = c3a6839b-00f1-4cf4-8b00-e61fbcdba6c0 / ext4 errors = remount-ro 0 1 # / home был на / dev / sda7 во время установки UUID = afceabb6-a3f4-41c2-9ae6 -0393d85c7c70 / home ext4 defaults 0 2 # swap был включен / dev / sda6 во время установки UUID = c6ca8b8f-0b46-4c06-a934-a9dd3525faa7 none swap sw 0 0 # / dev / sdb1 / media / usb0 auto rw, user, noauto 0 0

ls /sbin/fsck.*

Просмотреть все файловые системы, которые можно проверить с помощью fsck. Файловые системы появятся как расширения к fsck. * файлы; например:

fsck.cramfs fsck.ext3 fsck.ext4dev fsck.minix fsck.nfs fsck.reiserfs fsck.xfs fsck.ext2 fsck.ext4 fsck.jfs fsck.msdos fsck.reiser4 fsck.vfat

fsck -n / dev / sda2

Проверьте / dev / sda2 на наличие ошибок, но не пытайтесь их исправить; вместо этого выводите все ошибки на стандартный вывод.

fsck -f / dev / sda2

Обычно, fsck пропустит части файловой системы, помеченные как «чистые», что означает, что все ожидающие записи были успешно выполнены. В -f («force») опция указывает, что fsck следует проверять части файловой системы, даже если они не «грязные». Результат — менее эффективная, но более тщательная проверка.

fsck -t ext2 / dev / fd0

Эта команда проверит ext2 файловая система на устройстве гибких дискет / dev / fd0.

Рейтинг
( Пока оценок нет )
Editor
Editor/ автор статьи

Давно интересуюсь темой. Мне нравится писать о том, в чём разбираюсь.

Понравилась статья? Поделиться с друзьями:
Работатека
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: