[<>]
~~TOC wide~~
====== Приложение III. Утилита DSKVER.COM ======
\\
Praemonitus praemunitus.
(Кто предупрежден, тот вооружен)
—//Латинское изречение//
Автором [[msx:dskver:dskver|данной программы]] является А.Г.Леонов (МГУ, ЛВМ).
//Утилитой// называется программа, выполняющая функцию общего назначения, например, копирования файлов, обслуживание портов или создание резервных копий.
Утилита предназначена для анализа состояния диска, как на предмет отсутствия BAD—блоков ("плохих" блоков), так и на корректность директории и FAT. Утилита также является основным оружием при восстановлении сбоев диска, однако при этом требуются знание всего вышеизложенного об устройстве дискеты, формате директории и т.п.
Утилита совершает следующие действия:
- анализирует //физическое// состояние служебных секторов:
* α) проверяет на читаемость загрузочный сектор ("boot sector");
* β) проверяет на читаемость FAT;
* γ) проверяет совпадение двух копий FAT;
* δ) проверяет на читаемость секторa Справочника;
- анализирует //логическое// состояние оглавления, т.е. проверяет на корректность в совокупности директории и FAT (наличие циклов в FAT, наличие неименованных секторов и т.п.);
- анализирует состояние кластеров диска, т.е. проверяет на читаемость все кластеры диска:
* α) в случае //наличия// BAD—блока (если BAD–блок не принадлежит какому—либо файлу), он просто помечается в FAT и никогда больше не будет "захвачен" каким—либо файлом пользователя;
* β) в противном случае ищется файл, который содержит найденный "плохой" блок, и данный файл помечается расширением BAD (неработоспособный файл).
Запуск программы осуществляется следующим способом:
A>DSKVER [Устройство][/Ключи]
,
где:
* ''Устройство'' — "А:","В:" и т.п. (по умолчанию текущее);
* ''Ключи'':
* ''/D'' — тестировать только //директорию//;
* ''/C'' — тестировать только //кластеры//;
* ''/V'' — выдавать только сектора неименованных файлов;
* ''/S: Номер'' — начать тестирование кластеров с кластера с номером //Номер// (формат — шестнадцатеричный);
* ''/E: Номер'' — закончить тестирование кластеров на кластере с номером ''Номер'' (в двух последних случаях директория не тестируется).
Примеры:
* α)A>DSKVER B:/D/V
Проверить директорию дискеты на устройстве "В" с информацией о секторах неименованных файлов;
* β)A>DSKVER /C
Проверить только Область данных ("Data area") дискеты на текущем устройстве;
* γ) A>DSKVER C:/S:20/E:203
Проверить дискету на устройстве "C", начиная от кластера с номером 20h и заканчивая кластером с номером 203h.
----
[<>]
{{tag>msxfdfss}}