dcheck

Проверка жесткого диска на наличие поврежденных блоков

Синтаксис:

dcheck [опции] диск

Опции:

-B макс_число_блоков
Максимальное число блоков, считываемых за один раз; значение макс_число_блоков не должно превышать 32 (по умолчанию).
-b число_блоков
Максимальное число проверяемых блоков.
-f первый_блок
Первый проверяемый блок.
-L число_циклов
Циклическая проверка; аналогично опции -l, но с указанием числа циклов.
-l
("эль") Циклическое выполнение до ввода данных (смена устройства с последовательным интерфейсом/случайный ввод).
-m
Отметить поврежденные блоки в битовой карте как недоступные.
-p
Отобразить приглашение перед запуском.
-q
Режим вывода краткой информации; не отображать информацию о ходе выполнения.
-r
Использовать алгоритм случайного перемещения головки.
-V
Проверять запись после чтения.
-v
Режим вывода расширенной информации; отобразить каждый поврежденный блок на диске.
-w
Проверка (неразрушающая) записи после чтения.
диск
Имя диска (например, /dev/fd0, /dev/hd0t77) или корня файловой системы.

Платформы:

ЗОСРВ «Нейтрино»

Целевые архитектуры:

aarch64, arm, armv7, e2k, mips, ppc, x86

Описание:

Утилита dcheck проверяет правильность форматирования диска, для чего выполняет попытку чтения каждого блока на диске. Номера тех блоков, которые не удалось считать, выводятся (в шестнадцатеричном виде) на стандартное устройство вывода. Кроме того, отображается общее число поврежденных блоков. Утилиту dcheck можно использовать для проверки любого форматированного диска, в том числе диска, на котором имеются файлы. При этом файлы не повреждаются.

Если число проверяемых блоков не указано, утилита dcheck определяет его на основе информации о файловой системе, после чего проверяет все блоки на указанном диске.

Если диск инициализирован для файловой системы QNX 4, то следует указать опцию -m для удаления всех поврежденных блоков из битовой карты выделения дискового пространства (/.bitmap). Это особенно необходимо для жестких дисков. При указании опции -m утилита dcheck выполняет попытку чтения файла /.bad_blks с диска. В этом файле содержится отсортированный список всех известных поврежденных блоков. При обнаружении файла /.bad_blks утилита dcheck считывает его; по окончании проверки диска утилита dcheck обновляет битовую карту и создает файл /.bad_blks заново. Следует отметить, что утилита dcheck только добавляет в этот файл информацию о поврежденных блоках, но не удаляет имеющуюся.

Некоторые блоки могут находиться в крайних областях диска, вероятность обнаружения таких блоков и добавления их в файл /.bad_blks возрастает при многократном запуске утилиты dcheck (см. опции -l и -L).


Note: Файл /.bad_blks также обрабатывается утилитой chkfsys.

Для упрощения поиска блоков в крайних областях диска в утилите dcheck предусмотрен ряд опций дополнительной проверки диска. Например, опция -r позволяет проверять блоки в случайном порядке; каждая операция проверки охватывает случайное число блоков от 1 до 32 (или меньше, в зависимости от значения в опции -B). Утилита dcheck отслеживает проверенные блоки; каждый из них проверяется только один раз. Соответственно, эта опция позволяет определить поврежденные блоки по наличию некоторой задержки при движении головки.

При указании опции -l утилита dcheck выполняет постоянную проверку диска до ее остановки пользователем. При этом неявно используется опция -r, которая "переключается" при каждом вызове. Таким образом, в первом цикле активируется случайная проверка; во втором цикле она деактивируется и т.д. По окончании каждой операции полной проверки выдается приглашение на прерывание цикла. Если цикл не остановлен в течение 15 секунд, утилита dcheck начинает проверку заново и т.д. Опция -L аналогична опции -l, но позволяет указать максимальное число циклов.

При указании опции -w утилита dcheck перезаписывает каждый блок на устройстве после его чтения. Другими словами, производится неразрушающая проверка записывающего компонента аппаратных средств. Следует отметить, что при этом выполняется более глубокое тестирование, однако на это требуется больше времени (в зависимости от аппаратных средств).

Опция -V аналогична опции -w – при ее указании утилита dcheck перезаписывает каждый блок после его чтения, но при этом утилита dcheck повторно считывает каждый блок после проверки записи и сравнивает результат повторного чтения с результатом первого. Как и в случае опции -w, проверка является неразрушающей. Следует учесть, что при этом выполняется более глубокое тестирование, которое занимает больше времени.

Примеры:

Проверка всех блоков на жестком диске и внесение поврежденных блоков в битовую карту (/.bitmap):

dcheck -m /

Проверка первых 640 блоков на гибком диске:

dcheck -b 640 /dev/fd0

Проверка всех блоков на жестком диске:

dcheck /dev/hd0t77

Файлы:

Если указана опция -m (отметить поврежденные блоки), то проверяемый блок-ориентированный специальный файл должен располагаться на смонтированном разделе ЗОСРВ «Нейтрино». При обнаружении поврежденных блоков утилитой dcheck файлы .bad_blks и .bitmap в этой файловой системе обновляются.

Возвращаемое значение:

0
Поврежденные блоки не обнаружены.
>0
Возникла ошибка или обнаружены поврежденные блоки.

Предостережения:

Обычно утилита dcheck открывает диск в режиме "только для чтения". Если указана опция -m, -w или -V, то диск открывается в режиме чтения-записи. В случае доступа для чтения и записи на диске не должно быть открытых файлов, в противном случае утилита dcheck выдаст сообщение об ошибке "Device or resource busy" ("Устройство или ресурс заняты"). При работе утилиты dcheck в режиме чтения/записи не допускается обращение к диску других утилит и программ. Если используется опция -m, и работа утилиты dcheck прерывается сигналом SIGBREAK или другим сигналом, то поврежденные блоки, ожидающие записи, могут быть не записаны. В любом случае результаты операции не будут разрушающими.

Классификация:

Базовые подсистемы ЗОСРВ «Нейтрино»

Тематические ссылки:

chkfsys, dinit, fdformat, io-blk.so




Предыдущий раздел: Утилиты