Проверка жесткого диска на наличие поврежденных блоков
dcheck [опции] диск
/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).
Для упрощения поиска блоков в крайних областях диска в утилите 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
в этой файловой системе обновляются.
Обычно утилита dcheck открывает диск в режиме "только для чтения". Если указана опция -m, -w или -V, то диск открывается в режиме чтения-записи. В случае доступа для чтения и записи на диске не должно быть открытых файлов, в противном случае утилита dcheck выдаст сообщение об ошибке "Device or resource busy" ("Устройство или ресурс заняты"). При работе утилиты dcheck в режиме чтения/записи не допускается обращение к диску других утилит и программ. Если используется опция -m, и работа утилиты dcheck прерывается сигналом SIGBREAK
или другим сигналом, то поврежденные блоки, ожидающие записи, могут быть не записаны. В любом случае результаты операции не будут разрушающими.
Базовые подсистемы ЗОСРВ «Нейтрино»
chkfsys, dinit, fdformat, io-blk.so
Предыдущий раздел: Утилиты