Буду рад вашим дополнениям и замечаниям
--------------------
--------------------
Для проверки файловой системы используется утлита FSCK. Её возможности и будим рассматривать в данной статье.
Первоисточник материала тут
---------------------
Включение автоматической проверки при старте системы
Начиная с 11 платформы этот функционал добавлен по умолчанию в основные продукты Базальт СПО а вот пользователям 10 платформы нужно добавлять этот функционал самим. за исключением пользователей альт сервер.
Для добавления функционала необходимо отредактировать файл /etc/initrd.mk
sudo mcedit /etc/initrd.mk
Добавить в него строку
FEATURES += fsck
Сохранить его с помощью комбинации ctrl+o ctrl + x
Затем ввести команду
sudo make-initrd
Выводом которой будет примерно следующее
[00:00:00] Config file: /etc/initrd.mk
[00:00:02] Generating module dependencies on host ...
[00:00:29] Used features: add-modules add-udev-rules btrfs cleanup compress depmod-image fsck gpu-drm kbd locales network plymouth rdshell rootfs system-glibc ucode
[00:00:29] Packed modules: af_packet amdgpu blake2b_generic btrfs cec crc32c-intel drm drm_buddy drm_display_helper drm_kms_helper drm_ttm_helper evdev gpu-sched hid hid-generic hid-logitech-dj hid-logitech-hidpp hwmon i2c-algo-bit input-leds intel-agp intel-gtt iommu_v2 joydev libcrc32c raid6_pq rc-core sis-agp ttm usbhid usbmouse via-agp video wmi xhci-hcd xhci-pci xhci-pci-renesas xor xxhash_generic
[00:00:29] Unpacked size: 188M
[00:00:29] Image size: 47M
[00:00:29] Image is saved as /boot/initrd-6.1.130-un-def-alt1.img
После этого при старте системы будет происходить быстрая автоматическая проверка файловой системы корневого раздела и её исправление при необходимости
Также есть ещё вариант с добавлением строчки - альтовцами считается устаревшим
fsck.mode=force
В /etc/default/grub или в настройках рабочей станции K в Альт линукс
Например
Так выглядит в настройках KDE
Либо открываем файл
sudo mcedit /etc/default/grub
Добавляем строчку
Сохраняем файл с помощью ctrl+f2 и выходим f10
Затем обновляем конфигурацию загрузчика grub
sudo update-grub
Потом перезагружаемся
Смотрим результаты проверки при загрузке
sudo journalctl -b | grep fsck
-b бут лог - лог загрузки
grep fsck - ищем записи от программы fsck
Получаем примерно такой вывод консоли
апр 04 14:50:53 test systemd[1]: Created slice Slice /system/systemd-fsck.
апр 04 14:50:53 test systemd-fsck[2238]: /dev/sda3: clean, 202439/7266304 files, 3475210/29052416 blocks
апр 04 14:50:53 test systemd-fsck[2380]: fsck.fat 4.2 (2021-01-31)
апр 04 14:50:53 test systemd-fsck[2380]: /dev/sda1: 7 files, 878/130551 clusters
Или
journalctl --boot -r | grep fsck
апр 01 17:26:06 beelink systemd[1]: Finished systemd-fsck@dev-disk-by\x2duuid-49C4\x2dD099.service - File System Check on /dev/disk/by-uuid/49C4-D099.
апр 01 17:26:06 beelink systemd-fsck[763]: /dev/sdb1: 7 files, 819/130551 clusters
апр 01 17:26:06 beelink systemd-fsck[763]: fsck.fat 4.2 (2021-01-31)
апр 01 17:26:06 beelink systemd[1]: Finished systemd-fsck@dev-disk-by\x2duuid-4e96f441\x2d8bcc\x2d4703\x2db516\x2d312716f8d1fd.service - File System Check on /dev/disk/by-uuid/4e96f441-8bcc-4703-b516-312716f8d1fd.
апр 01 17:26:06 beelink systemd[1]: Starting systemd-fsck@dev-disk-by\x2duuid-4e96f441\x2d8bcc\x2d4703\x2db516\x2d312716f8d1fd.service - File System Check on /dev/disk/by-uuid/4e96f441-8bcc-4703-b516-312716f8d1fd...
апр 01 17:26:06 beelink systemd[1]: Starting systemd-fsck@dev-disk-by\x2duuid-49C4\x2dD099.service - File System Check on /dev/disk/by-uuid/49C4-D099...
апр 01 17:26:06 beelink systemd[1]: Finished systemd-fsck-root.service - File System Check on Root Device.
апр 01 17:26:06 beelink systemd[1]: Starting systemd-fsck-root.service - File System Check on Root Device...
апр 01 17:26:06 beelink systemd[1]: Created slice system-systemd\x2dfsck.slice - Slice /system/systemd-fsck.
На русском
01 апреля 17:26:06 обновление системы beelink[1]: Завершено systemd-fsck@dev-disk-by\x2duuid-49C4\x2dD099.service - Проверка файловой системы на /dev/disk/by-uuid/49C4-D099.
01 апреля 17:26:06 beelink systemd-fsck[763]: /dev/sdb1: 7 файлов, 819/130551 кластеров
01 апреля 17:26:06 система beelink-fsck[763]: fsck.fat 4.2 (2021-01-31)
01 апреля 17:26:06 система beelink[1]: Завершена systemd-fsck@dev-disk-by\x2duuid-4e96f441\x2d8bcc\x2d4703\x2db516\x2d312716f8d1fd.service - Проверка файловой системы на /dev/disk/by-uuid/4e96f441-8bcc-4703-b516-312716f8d1fd.
01 апреля 17:26:06 система beelink[1]: Запуск systemd-fsck@dev-disk-by\x2duuid-4e96f441\x2d8bcc\x2d4703\x2db516\x2d312716f8d1fd.service - Проверка файловой системы на /dev/disk/by-uuid/4e96f441-8bcc-4703-b516-312716f8d1fd...
01 апреля 17:26:06 система beelink[1]: запускается systemd-fsck@dev-disk-by\x2duuid-49C4\x2dD099.service - Проверка файловой системы на /dev/disk/by-uuid/49C4-D099...
01 апреля 17:26:06 beelink systemd[1]: Завершена проверка systemd-fsck-root.service - файловой системы на корневом устройстве.
01 апреля 17:26:06 beelink systemd[1]: Запуск systemd-fsck-root.service - Проверка файловой системы на корневом устройстве...
01 апреля 17:26:06 beelink systemd[1]: Создана система срезов-systemd\x2dfsck.slice - Срез /system/systemd-fsck.
--------------------
Настройка автоматической проверки не только для корневого и загрузочного раздела но и для других через /etc/fstab
В файле fstab описаны параметры монтирования разделов в точки монтирования и их параметры. в том числе и fsck , это последний столбец
Например - последний столбец цифр это как раз то что нам нужно
/dev/sda1 / ext4 defaults 0 1
/dev/sda2 /other ext4 defaults 0 2
/dev/sda3 /win ntfs-3g defaults 0 0
- 0 — не проверять.
- 1 — файловая система (раздел), которая должна быть проверена первой; для корневого раздела (/) должно использоваться именно это значение.
- 2 — прочие файловые системы, которые должны быть проверены.
В моём случае это выглядит так по умолчанию на 10 платформе
Меняем у нужных разделов 0 на 2 и у корневого 2 на 1 например
ну и получаем дополнительные записи о проверяемых разделах при запуске системы
апр 08 00:29:44 genmachine systemd-fsck[2398]: Файлы: clean, 326/22216704 files, 28037195/88866816 blocks
апр 08 00:29:44 genmachine systemd-fsck[2410]: Игры: clean, 46904/31195136 files, 40212047/124780544 blocks
На 10 платформе мне не удалось заставить сканировать при старте корневой раздел с файловой системой btrfs, если кто более глубоко разбирается в этой теме, буду рад выслушать ваши дополнения и замечания.
--------------------
Ручная проверка файловой системы
Чтоб определить какой диск мы хотим проверить, вводим команду
lsblk
Получаем следующий выыод
Видим адреса дисков, их размер и точки монтирования.
Примонтированные диски проверить не получится, но по точкам монтирования и размеру можно понять, какой диск нам нужен.
Далее в зависимости от файловой системы и того что мы хотим сделать вводим команду и параметры
Для получения списка команд наберите fsck ––help или fsck –h.
Например
EXT 2/3/4
fsck -f -y -v -C /dev/sda7
Разбор команды
- -f — принудительная проверка файловой системы, даже если по журналу она чистая;
- -y — отвечает на все вопросы об исправлении ошибок утвердительно, можно сказать, что это эквивалент a.*
- -v — максимально подробный вывод.
- -C — показать прогресс проверки файловой системы
BtrFS
Если раздел не примонтирован
btrfs check /dev/nvme0n1p2
Если примонтирован можно воспользоваться следующей командой
sudo btrfs check --force /dev/nvme1n1p3
--force - пропустить проверку - смонтирован ли диск или нет
FAT*
fsck.fat -a -w -v /dev/sdc1
С помощью Shift+PgUp/PgDn можно пролистывать консоль вверх/вниз.
Получаем вывод команды - например
Проверка раздела ext4 на nvme диске
sudo fsck -f -y -v -C /dev/nvme1n1p4
fsck из util-linux 2.39.2
e2fsck 1.46.2 (28-Feb-2021)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
65970 inodes used (0.30%, out of 22257664)
6813 non-contiguous files (10.3%)
79 non-contiguous directories (0.1%)
# of inodes with ind/dind/tind blocks: 0/0/0
Extent depth histogram: 59218/3090
68210061 blocks used (76.64%, out of 88999936)
0 bad blocks
11 large files
49613 regular files
7393 directories
0 character device files
0 block device files
0 fifos
8376 links
8955 symbolic links (3653 fast symbolic links)
0 sockets
------------
74337 files
Если перевести на русский
Этап 1: Проверка индексов, блоков и размеров
Этап 2: Проверка структуры каталогов
Этап 3: Проверка подключения к каталогам
Этап 4: Проверка количества ссылок
Этап 5: Проверка сводной информации
о группе: использовано 65970 индексных индексов (0,30% из 22257664)
6813 несмежных файлов (10,3%)
79 несмежных каталогов (0,1%)
Количество индексных узлов с блоками ind/dind/tind: 0/0/0
Гистограмма глубины экстента: 59218/3090
Использовано 68210061 блоков (76,64% из 88999936)
0 поврежденных блоков
11 больших файлов
49613 обычных файлов
7393 каталогов
0 файлов символьных устройств
0 файлов блочных устройств
0 fifo
8376 ссылок
8955 символьных ссылок (3653 быстрых символьных ссылки)
0 сокетов
------------
74337 файлов
Ошибок на разделе не найдено
Проверка BTRFS раздела
Opening filesystem to check...
WARNING: filesystem mounted, continuing because of --force
Checking filesystem on /dev/nvme1n1p3
UUID: ce035b00-e19f-40a7-9c52-872d3b34948d
[1/7] checking root items
[2/7] checking extents
[3/7] checking free space tree
[4/7] checking fs roots
[5/7] checking only csums items (without verifying data)
[6/7] checking root refs
[7/7] checking quota groups skipped (not enabled on this FS)
found 40464224256 bytes used, no error found(ошибок не обнаружено)
total csum bytes: 38292740
total tree bytes: 569868288
total fs tree bytes: 494977024
total extent tree bytes: 27312128
btree space waste bytes: 98898823
file data blocks allocated: 169800355840
referenced 57259728896
--------------------
Просмотр информации о работе fsck на конкретных разделах
Вводим sudo fsck -n /путь/к/диску/
Например(работает так понимаю только для ext4, fat32, для бтрфс не работает)
sudo fsck -n /dev/nvme0n1p1
fsck из util-linux 2.39.2
e2fsck 1.46.2 (28-Feb-2021)
Игры: очищено, 46904/31195136 файлов, 40212047/124780544 блоков
--------------------
Постараюсь дополнять этот материал в дальнейшем!
--------------------
--------------------
Полезные ссылки
Поддержать автора
АЛЬТ ВИКИ
Вики проекта альт линукс. много полезной и нужной информации
ОФ сайт Базальт СПО
Российский разработчик операционных систем «Альт»