dcheck
Проверка жесткого диска на
наличие поврежденных блоков (QNX 4, QNX Neutrino)
Синтаксис:
dcheck [опции]
диск
Поддерживаемые
платформы:
Neutrino
Опции:
-B макс_число_блоков
Максимальное число блоков,
считываемых за один раз; значение макс_число_блоков не
должно превышать 32 (по умолчанию).
-b число_блоков
Максимальное число
проверяемых блоков.
-f первый_блок
Первый проверяемый блок.
-L число_циклов
Циклическая
проверка; аналогично опции -l, но с указанием
числа циклов.
-l
("эль") Циклическое
выполнение до ввода данных (смена устройства с последовательным
интерфейсом/случайный ввод).
-m
Отметить поврежденные блоки в
битовой карте как недоступные.
-p
Отобразить приглашение перед
запуском.
-q
Режим вывода краткой
информации; не отображать информацию о ходе выполнения.
-r
Использовать алгоритм
случайного перемещения головки.
-V
Проверять запись после
чтения.
-v
Режим вывода расширенной
информации; отобразить каждый поврежденный блок на диске.
-w
Проверка (неразрушающая)
записи после чтения.
диск
Имя диска
(например, /dev/fd0, /dev/hd0t77) или корня файловой системы.
Описание:
Утилита dcheck проверяет правильность
форматирования диска, для чего выполняет попытку чтения
каждого блока на диске. Номера тех блоков, которые не удалось
считать, выводятся (в шестнадцатеричном виде) на стандартное
устройство вывода. Кроме того, отображается общее число
поврежденных блоков. Утилиту dcheck можно использовать для проверки
любого форматированного диска, в том числе диска, на котором
имеются файлы. При этом файлы не повреждаются.
Если число
проверяемых блоков не указано, утилита dcheck определяет его на основе
информации о файловой системе, после чего проверяет все блоки на
указанном диске.
Если диск
инициализирован для файловой системы QNX 4, то следует
указать опцию -m для удаления
всех поврежденных блоков из битовой карты выделения дискового
пространства (/.bitmap). Это особенно
необходимо для жестких дисков. При указании опции -m утилита dcheck выполняет попытку чтения файла /.bad_blks с диска. В этом файле
содержится отсортированный список всех известных поврежденных
блоков. При обнаружении файла /.bad_blks утилита dcheck считывает его; по окончании
проверки диска утилита dcheck обновляет
битовую карту и создает файл /.bad_blks заново. Следует отметить,
что утилита dcheck только
добавляет в этот файл информацию о поврежденных блоках, но не
удаляет имеющуюся.
Некоторые
блоки могут находиться в крайних областях диска, вероятность
обнаружения таких блоков и добавления их в файл /.bad_blks возрастает при многократном
запуске утилиты dcheck (см. опции -l и -L).
Примечание. Файл /.bad_blks также обрабатывается
утилитой chkfsys.
Для
упрощения поиска блоков в крайних областях диска в утилите dcheck предусмотрен ряд опций
дополнительной проверки диска. Например, опция -r позволяет проверять блоки в
случайном порядке; каждая операция проверки охватывает
случайное число блоков от 1 до 32 (или меньше, в зависимости
от значения в опции -B). Утилита dcheck отслеживает проверенные блоки;
каждый из них проверяется только один раз. Соответственно, эта
опция позволяет определить поврежденные блоки по наличию
некоторой задержки при движении головки.
При указании
опции -l утилита dcheck выполняет постоянную проверку
диска до ее остановки пользователем. При этом неявно
используется опция -r, которая
"переключается" при каждом вызове. Таким образом, в первом
цикле активируется случайная проверка; во втором цикле она
деактивируется и т.д. По окончании каждой операции полной
проверки выдается приглашение на прерывание цикла. Если цикл
не остановлен в течение 15 секунд, утилита dcheck начинает проверку заново и т.д.
Опция -L аналогична
опции -l, но позволяет
указать максимальное число циклов.
При указании
опции -w утилита dcheck перезаписывает каждый блок на
устройстве после его чтения. Другими словами, производится
неразрушающая проверка записывающего компонента аппаратных
средств. Следует отметить, что при этом выполняется более
глубокое тестирование, однако на это требуется больше времени
(в зависимости от аппаратных средств).
Опция -V аналогична опции -w – при ее указании утилита dcheck перезаписывает каждый блок после
его чтения, но при этом утилита dcheck повторно считывает каждый блок
после проверки записи и сравнивает результат повторного чтения
с результатом первого. Как и в случае опции -w, проверка является
неразрушающей. Следует учесть, что при этом выполняется более
глубокое тестирование, которое занимает больше времени.
Примеры:
Проверка всех блоков на
жестком диске и внесение поврежденных блоков в растровое
изображение:
dcheck -m /
Проверка первых 640 блоков на
гибком диске:
dcheck -b 640 /dev/fd0
Проверка всех блоков на
жестком диске:
dcheck /dev/hd0t77
Файлы:
Если указана
опция -m (отметить
поврежденные блоки), то проверяемый блок-ориентированный
специальный файл должен располагаться на смонтированном
разделе QNX. При обнаружении поврежденных блоков утилитой dcheck файлы .bad_blks и .bitmap в этой файловой системе
обновляются.
Статус завершения:
0
Поврежденные блоки не
обнаружены.
>0
Возникла
ошибка или обнаружены поврежденные блоки.
Предупреждения:
Обычно
утилита dcheck открывает диск
в режиме "только для чтения". Если указана опция -m, -w или -V, то диск открывается в
режиме чтения-записи. В случае доступа для чтения и записи на
диске не должно быть открытых файлов, в противном случае
утилита dcheck выдаст
сообщение об ошибке "Device or resource busy" ("Устройство или
ресурс заняты"). При работе утилиты dcheck в режиме чтения/записи не
допускается обращение к диску других утилит и программ.
Если
используется опция -m, и работа
утилиты dcheck прерывается
сигналом SIGBREAK или другим сигналом, то поврежденные блоки,
ожидающие записи, могут быть не записаны. В любом случае
результаты операции не будут разрушающими.