3.3.12.2 Проверка файловой системы на наличие ошибок
Параметры fsck
Пример проверки диска на ошибки с помощью fsck
Запуск автоматической проверки и исправления найденных ошибок
Ручное добавление параметров в меню GRUB при загрузке ОС
Добавление параметров в меню GRUB с помощью утилиты grubby
Создание файла /forcefsck
Запуск проверки в ручном режиме
Использование загрузочного диска/flash для проверки файловой системы на ошибки
Проверка LVM-разделов с помощью утилиты fsck
В определенных случаях (в результате сбоя или некорректного завершения работы) на файловой системе могут накапливаться ошибки. В РЕД ОС для проверки файловой системы и исправления ошибок имеется утилита fsck ("file system consistency check").
Инструмент fsck обладает следующим функционалом:
проверка файловой системы при возникновении проблем (не загружается система/поврежденные файлы) или в качестве профилактического обслуживания;
диагностика состояния внешних накопителей, таких как SD-карты или USB-накопители.
Базовый синтаксис соответствует следующему шаблону:
fsck <опции> <файловая_система>
В качестве файловой системы может быть устройство, точка монтирования или раздел, в том числе LVM.
Вы можете подробнее ознакомиться с возможностями проверки файловой системы на наличие ошибок, просмотрев наши обучающие видео:
на RuTube — Проверка файловой системы на наличие ошибок;
в Яндекс.Дзен — Проверка файловой системы на наличие ошибок;
в VK Видео — Проверка файловой системы на наличие ошибок.
На наших каналах вы также сможете найти много другой полезной информации.
Параметры fsck
fsck –p — утилита автоматически исправит найденные ошибки.
Вывод аналогичен простой проверке.
fsck –с — проверка файловой системы на поврежденные сектора.
bash-5.2# fsck –с fsck from util-linux 2.38.1 e2fsck 1.46.3 (27-Jul-2021) Checking for bad blocks (read-only test): done /dev/sda4: Updating bad block inode. Pass 1: Checking inides, blocks, and sizes Pass 2: Checking directory structure Pass 3: Checking directory connectivity Pass 4: Checking reference counts Pass 5: Checking group summary information /dev/sda4: *****FILE SYSTEM WAS MODIFIED ***** /dev/sda4: *****REBOOT SYSTEM ***** /dev/sda4: 358151/1114112 files (0.1% non-contiguous), 2377380/4455680 blocksbash-5.2#
Для получения списка команд наберите fsck ––help или fsck –h.
Опция | Описание |
-a | Устаревшая опция. Указывает исправлять все найденные ошибки без одобрения пользователя. |
-r | Применяется для файловых систем ext. Указывает fsck спрашивать пользователя перед исправлением каждой ошибки |
-n | Выполняет только проверку ФС, без исправления ошибок. Используется также для получения информации о ФС |
-c | Применяется для файловых систем ext3/4. Помечает все повреждённые блоки для исключения последующей записи в них |
-f | Принудительно проверяет ФС, даже если ФС исправна |
-y | Автоматически подтверждает запросы к пользователю |
-b | Задаёт адрес суперблока |
-p | Автоматически исправлять найденные ошибки. Заменяет устаревшую опцию -a |
-A | Проверяет все ФС |
-С [<fd>] | Показывает статус выполнения. Здесь fd – дескриптор файла при отображении через графический интерфейс |
-l | Блокирует устройство для исключительного доступа |
-M | Запрещает проверять примонтированные ФС |
-N | Показывает имитацию выполнения, без запуска реальной проверки |
-P | Проверять вместе с корневой ФС |
-R | Пропускает проверку корневой ФС. Может использоваться только совместно с опцией -A |
-r [<fd>] | Выводит статистику для каждого проверенного устройства |
-T | Не показывать заголовок при запуске |
-t <тип> | Задаёт ФС для проверки. Можно задавать несколько ФС, перечисляя через запятую |
-V | Выводит подробное описание выполняемых действий |
Пример проверки диска на ошибки с помощью fsck
Запуск автоматической проверки и исправления найденных ошибок
Существует несколько способов запуска автоматической проверки на ошибки:
1. Ручное добавление параметров в меню GRUB при загрузке ОС.
2. Добавление параметров в меню GRUB с помощью утилиты grubby.
3. Создание файла /forcefsck.
1. Ручное добавление параметров в меню GRUB при загрузке ОС
Первый вариант проверки и исправления ошибок на разделах жесткого диска.
В меню GRUB перейдите в режим редактирования загрузочной строки, нажав при этом клавишу e. Добавьте параметры в конце строки, которая начинается на linux:
fsck.mode=force fsck.repair=yes
Нажмите Ctrl+Х для запуска ОС с этими параметрами, во время запуска будет произведена проверка разделов диска, и при наличии ошибок произведено их исправление.
2. Добавление параметров в меню GRUB с помощью утилиты grubby
Существует еще один способ добавления параметров ядра для принудительной проверки файловой системы на ошибки и их исправления. Добавить параметры можно командой:
grubby --update-kernel /boot/vmlinuz-$(uname -r) --args="fsck.mode=force fsck.repair=yes"
Удалить установленные параметры можно следующей командой:
grubby --update-kernel /boot/vmlinuz-$(uname -r) --remove-args="fsck.mode=force fsck.repair=yes"
3. Создание файла /forcefsck
Бывают ситуации, когда систему необходимо проверить на наличие ошибок в незапланированный момент. Для этого можно принудительно запустить утилиту fsck для проверки при следующей перезагрузке. Запуск осуществляется командой:
sudo touch /forcefsck
Команда sudo (после ввода пароля) предоставит права для создания с помощью touch пустого файла в корне диска /forcefsck, который послужит сигналом (флагом) для fsck, что нужно проверить диски.
Останется только перезагрузить компьютер и fsck начнет проверять все жесткие диски, указанные в /etc/fstab.
Запуск проверки в ручном режиме
Следующий метод относится к проверке диска, когда операционная система загружена в режиме single mode.
1. Запустим ОС в single mode, для этого пропишите в меню загрузки grub параметр init=/bin/bash в конце строки, которая начинается на linux, см. рисунок.
Также данная строка может начинаться с linuxefi, этот параметр характерен для систем с загрузкой в UEFI. Нажмите "ctrl+x" для запуска с этим параметром(init=/bin/bash).
2. Запустите проверку выполнив команду:
/usr/sbin/fsck -ACVfyv
Во время проверки на экране появится отчет о выполненных операциях, если отчет длинный, то можно его можно пролистать вверх сочетанием клавиш shift+PageUp. После проверки дисков перезагрузите компьютер, нажав на кнопку на системном блоке.
Наглядное видео примера проверки диска на ошибки:
Использование загрузочного диска/flash для проверки файловой системы на ошибки.
Загрузившись в режим восстановления операционной системы РЕД ОС с помощью загрузочного диска или съемного накопителя с установленным образом операционной системы РЕД ОС. Выберите пункт: «Решение проблем» — «Исправить установленную RED OS».
Система перезагрузится в режим восстановления. Введите «2» и нажмите 2 раза Enter. Так вы смонтируете операционную систему в режим «Только для чтения»
setfont cyr-sun16
Потом введите команду:
# сhroot /mnt/sysimage
После этого можете вводить fsck:
# fsck -ACVfyv
Если проверка завершится с такой ошибкой:
[путь_к_файловой_системе] is mounted
Введите:
umount [путь_к_файловой_системе]
И еще раз запустите утилиту fsck:
# fsck -ACVfyv fsck from util-linux 2.38.1 …
Если система не выявит ошибок, то получится такой вывод:
[путь_к_файловой_системе] clean …
Чтобы выйти из режима восстановления, вы должны смонтировать все разделы, которые были отмонтированы командой umount, с помощью команды mount, нажать сочетание клавиш сtrl+d, а затем ввести команду reboot, которая перезапустит вашу операционную систему.
# reboot
По умолчанию, утилита fsck при проверке будет использовать разделы, указанные в /etc/fstab/, сформированные при установке операционной системы РЕД ОС.
Проверка LVM-разделов с помощью утилиты fsck
Перед проведением проверки необходимо найти устройство и размонтировать его.
Для просмотра всех подключенных устройств и проверки расположения диска выполните команду:
lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS sda 8:0 0 30G 0 disk ├─sda1 8:1 0 1M 0 part ├─sda2 8:2 0 1G 0 part /boot └─sda3 8:3 0 29G 0 part ├─ro-root 253:0 0 26,9G 0 lvm / └─ro-swap 253:1 0 2,1G 0 lvm [SWAP] sr0 11:0 1 4,4G 0 rom /run/media/user/redos-Everything-DVD-x86_64-8 zram0 252:0 0 1,9G 0 disk [SWAP]
При попытке запустить проверку на смонтированном диске или разделе в консоли появляется предупреждение о том, что невозможно продолжить проверку, так как диск смонтирован.
fsck -nf /dev/ro_redos/root fsck из util-linux 2.38.1 e2fsck 1.46.3 (27-Jul-2021) Warning! /dev/mapper/ro-root is mounted.
Для того чтобы размонтировать диск, следует использовать команду:
umount <файловая_система>
Однако попытка выполнить данную процедуру на работающей ОС ни к чему не приведет.
umount /dev/ro_redos/root umount: /: target is busy.
Также проблемой при попытке проверить LVM-разделы может быть и то, что они являются не активными. Для проверки следует использовать команду:
lvscan ACTIVE '/dev/ro/root' [<26,95 GiB] inherit ACTIVE '/dev/ro/swap' [2,05 GiB] inherit
Для активации раздела служит команда:
vgchange –ay <раздел>
Таким образом, можно сделать вывод, что проверка LVM-разделов через консоль с использованием утилиты fsck невозможна. Но это не значит, что LVM-разделы совсем не подлежат проверке. Существует как минимум два способа, позволяющие провести диагностику LVM-разделов.
Первым способом является проведение проверки через консоль загрузчика операционной системы GRUB.
А вторым — запуск утилиты fsck в live-сессии системы.
Очевидным плюсом при проверке дисковых пространств, в том числе LVM-разделов, через live-сессию является то, что разделы там по умолчанию являются не смонтированными. Поэтому проверка LVM-раздела будет выполнена с первого раза.
fsck /dev/ro/root fsck из util-linux 2.38.1 e2fsck 1.46.3 (27-Jul-2021) /dev/mapper/ro-root: recovering journal Clearing orphaned inode 423398 (uid=0, gid=0, mode=0100644, size=229605) Clearing orphaned inode 172559 (uid=0, gid=0, mode=0100644, size=24992) Clearing orphaned inode 387 (uid=1000, gid=1000, mode=0100700, size=4096)
Clearing orphaned inode 386 (uid=1000, gid=1000, mode=0100700, size=4096)
Clearing orphaned inode 384 (uid=1000, gid=1000, mode=0100700, size=4096)
Clearing orphaned inode 296594 (uid=1000, gid=1000, mode=0100644, size=9059)
Setting free inodes count to 890417 (was 890569) Setting free inodes count to 2578845 (was 2585477) /dev/mapper/ro-root: clean, 223695/11141112 files, 1876579/4455424 blocks
Дата последнего изменения: 17.02.2025
Если вы нашли ошибку, пожалуйста, выделите текст и нажмите Ctrl+Enter.