В Linux утилита fsck
(проверка целостности файловой системы) помогает пользователям исправлять потенциальные ошибки, создавать отчёты.
Утилита входит в состав дистрибутивов Linux по умолчанию. Для её использования не требуется никаких конкретных действий или процедуры установки. После загрузки терминала сразу же можно использовать функциональные возможности инструмента.
Содержимое
- Области применения утилиты
fsck
в Linux - Синтаксис
- Параметры
- Проверка и восстановление файловой системы
- Заключение
Области применения утилиты fsck в Linux
Инструмент используется в следующих ситуациях:
- запуск проверки файловой системы в качестве профилактического обслуживания или при возникновении проблем с системой;
- невозможность загрузки системы:
- ошибка ввода/вывода при повреждении файлов в системе;
- проверка состояния внешних дисков, таких как SD-карты, USB-накопители.
Синтаксис
fsck [параметр] -- [параметры ФС] [<файловая система> ...]
Параметры
- -A
- Проверить все файловые системы
- -C [
] - Показывать статус выполнения;
fd
— дескриптор файла при работе в графическом интерфейсе - -l
- Заблокировать устройство для гарантии исключительного доступа
- -M
- Не проверять примонтированные файловые системы
- -N
- Не запускать, показать имитацию выполнения
- -P
- Проверить файловые системы одновременно, включая корневую
- -R
- Пропустить корневую файловую систему; может быть использовано только с опцией
-A
- -r [
] - Сообщать статистику по каждому проверенному устройству; файловый дескриптор предназначен для графических интерфейсов
- -s
- Последовательное выполнение проверок
- -T
- Не показывать заголовок при запуске
- -t <тип>
- Указать файловую систему для проверки; в качестве параметра можно перечислить несколько файловых систем через запятую
- -V
- Подробное описание выполняемых действий
- -?, --help
- Вывести эту справку
- --version
- Отобразить версию
Проверка и восстановление файловой системы
Перед проверкой и восстановлением файловой системы обязательно необходимо найти устройство и отключить его.
Просмотр подключённых дисков и разделов
Для просмотра всех подключённых дисков и разделов используйте команду df
с опцией -h
:
oleg@mobile:~:$ df -h
Файловая система Размер Использовано Дост Использовано% Cмонтировано в
dev 899M 0 899M 0% /dev
run 909M 1,1M 908M 1% /run
/dev/sda6 28G 14G 13G 52% /
tmpfs 909M 116M 794M 13%=: /dev/shm
tmpfs 909M 8,7M 901M 1% /tmp
/dev/sda3 38G 7,4G 30G 20% /mnt/win_d
/dev/sda5 28G 16G 11G 60% /mnt/ubuntu
/dev/sda2 47G 29G 19G 62% /mnt/win_c
/dev/sda8 319G 170G 134G 57% /home
tmpfs 182M 48K 182M 1% /run/user/1000
Был выведен список всех разделов диска sda
.
Отключение раздела
Отмонтируем раздел sda5
, на котором находится Ubuntu:
oleg@mobile:~:$ sudo umount /dev/sda5
oleg@mobile:~:$
Корневой раздел отмонтировать невозможно, так как fsck
нельзя использовать на работающей машине.
Конечно, можно проверить и корневой раздел, загрузившись в режиме восстановления системы, но это несколько выходит за пределы базовых знаний.
Если необходимость в проверке корневого раздела всё же возникнет, то можно загрузиться с внешнего носителя с установленным на нём любым дистрибутивом Linux, «морда» которому совершенно не нужна, и далее действовать по изложенным здесь рекомендациям.
Запуск утилиты для проверки ошибок
Так как раздел sda5
отмонтирован, то запуск утилиты пройдёт без проблем:
oleg@mobile:~:$ sudo fsck /dev/sda5
fsck из util-linux 2.39.2
e2fsck 1.47.0 (5-Feb-2023)
/dev/sda5: clean, 248012/1835008 files, 4177679/7327636 blocks
oleg@mobile:~:$
При наличии каких-либо проблем, для каждой из них появится подсказка, в которой вам необходимо подтвердить действие.
Код завершения, возвращаемый утилитой, представляет собой сумму этих состояний:
0 | No errors |
1 | Filesystem errors corrected |
2 | System should be rebooted |
4 | Filesystem errors left uncorrected |
8 | Oerational error |
16 | Usage or syntax error |
32 | Checking canceled by user request |
128 | Shared-library error |
Монтирование раздела
По завершении проверки и ремонта монтируем раздел для дальнейшего использования:
oleg@mobile:~:$ sudo mount /dev/sda5
oleg@mobile:~:$
Тестовый прогон
Перед выполнением проверки в реальном времени можно сделать тестовый запуск с помощью fsck
с опцией -N
:
oleg@mobile:~:$ sudo fsck -N /dev/sda5
fsck из util-linux 2.39.2
[/usr/bin/fsck.ext4 (1) -- /mnt/ubuntu] fsck.ext4 /dev/sda5
oleg@mobile:~:$
Вывод отобразит то, что произойдёт, но не будет предпринято никах действий.
Автоматическое исправление обнаруженных ошибок
Для устранения потенциальных проблем без каких-либо подсказок утилита используется с опцией -y
:
oleg@mobile:~:$ sudo fsck -f /dev/sda5
fsck из util-linux 2.39.2
e2fsck 1.47.0 (5-Feb-2023)
Pass 1: Checking inodes, blocks, and sizes
Inode 786437 extent tree (at level 1) could be shorter. Optimize? yes
Pass 1E: Optimizing extent trees
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/sda5: ***** FILE SYSTEM WAS MODIFIED *****
/dev/sda5: 248012/1835008 files (0.8% non-contiguous), 4177678/7327636 blocks
oleg@mobile:~:$
В данном случае утилита предложила немного оптимизировать раздел.
Заключение
Из этой статьи вы узнали как использовать fsck
для проверки и восстановления файловой системы в операционной системе Linux. Работа со столь полезной утилитой не представляет каких-либо сложностей.