Найти в Дзене
Tehnichka.pro

Восстанавливаем файловую систему fsck

Оглавление

Иногда файловые системы могут накапливать ошибки, и причины тому разные – сбои, некорректное завершение работы программы и т.д. Для восстановления данных в таком случае отлично подойдет утилита fsck. Многие профессионалы сначала пользуются ей и только потом прибегают к сторонним программам. Я расскажу о том, что собой представляет инструмент fsck и как правильно им пользоваться.

Что такое fsck?

fsck (File System Consistency Check) – специальная утилита, осуществляющая глубокую проверку структуры данных файловой системы. С ее помощью можно найти поврежденные сектора и восстановить каждый блок. В большинстве систем инструмент проводит автоматическую проверку корневого хранилища. Но других разделов это не касается, поэтому приходится расширять ее функционал с помощью специальных опций.

-2

Синтаксис и опции

Синтаксис инструмента fsck в командной строке «Терминал» выглядит следующим образом:

fsck [опция] [опция файловой системы] [раздел]

Первый параметр указывает на поведение утилиты. А раздел диска – это путь к тому или иному каталогу. Выглядеть он может так: /dev/sda1 или /dev/sda2.  Опции файловой системы тоже имеют свою спецификацию.

Теперь я перейду к разбору самых полезных и востребованных параметров данной утилиты.

  • -A – проводит проверку всех файловых систем.
  • -С [<fd>] – выводит статус выполнения задачи, где fd – дескриптор файла при отображении через графический интерфейс.
  • -l – блокирует устройство для исключительного доступа.
  • -M – запрещает проверять вмонтированные файловые системы.
  • -N – демонстрирует имитацию выполнения задачи без запуска реальной проверки.
  • -P – производит проверку совместно с корневой файловой системой.
  • -R – пропускает проверку корневого хранилища; используется только в совмещении с опцией -A.
  • -r [<fd>] – показывает статистику каждого проверенного устройства.
  • -T – удаляет заголовок при запуске.
  • -t <тип> – задает конкретную файловую систему для проверки. Можно указывать несколько хранилищ, перечисляя каждое через запятую.
  • -V – показывает подробное описание выполняемых действий.

Отдельно стоит указать специальные, дополнительные параметры, используемые для настройки гибкости проверки при использовании конкретной вышеуказанной опции.

  • -a – устаревший параметр, исправляет все найденные ошибки без одобрения пользователя. На данный момент использовать его не рекомендуется.
  • -b – задает адрес суперблока.
  • -c – помечает поврежденные блоки для исключения последующей записи в них. Используется для проверки файловых систем ext3/4.
  • -f – принудительно проверяет файловую систему, даже если она исправна.
  • -n – производит только проверку хранилища, без исправления ошибок. Используется для получения информации о файловой системе.
  • -p – автоматически исправляет найденные ошибки, используется в качестве замены устаревшего параметра -a.
  • -r – спрашивает пользователя перед исправлением каждой ошибки. Используется для файловых систем ext.
  • -y – автоматически подтверждает запросы, заданные пользователю.

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

К примеру, мне необходимо запустить процесс восстановления файловой системы /dev/sda1 (сейчас и далее я буду приводить его в пример). Для этого я ввожу следующую команду.

sudo fsck -y /dev/sda1

Если в данном случае пропустить опцию -y, мне впоследствии придется постоянно давать согласие, а в данном случае запросы выходить будут довольно часто.

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

sudo fsck -fy /dev/sda1

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

sudo fsck -c /dev/sda1

Если повреждения в файловой системе касаются суперблока, утилита fsck просто может не помочь. А суперблок – это начальный раздел, без которого ничего работать не будет. Для исправления ситуации, а именно создания новой системы, необходимо дать следующий запрос.

sudo mkfs -t ext4 -n /dev/sda1

В данном случае ext4 – это файловая система, вмонтированная в данный раздел. При этом размер блока должен совпадать, иначе ничего не выйдет. Опция -n же не делает ничего особенного, просто выводит на экран необходимую информацию. Но можно задействовать и следующий запрос:

sudo fsck -b 12345 /dev/sda1

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

Чтобы провести проверку всех имеющихся файловых систем, в окно терминала понадобится ввести следующую команду:

sudo fsck -A -y

Есть один нюанс – сработает она только в режиме восстановления. Для включения корневого хранилища в проверку необходимо ввести вот такой запрос:

sudo fsck -AR -y

Заключение

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

Автор материала: Айше Джемилева

Подписывайтесь на наш канал и ставьте лайки! А еще можете посетить наш официальный сайт.