Команда CHKDSK контроль файловой структуры и получение справки о распределении памяти

CHKDSK - основное средство контроля корректности файловой структуры магнитного диска, предоставляемое системой DOS пользователю (аббревиатура CHKDSK - сокращение check disk - проверка диска). Программа, интерпретирующая команду CHKDSK, выполняет достаточно полную проверку на логическую непротиворечивость файловой структуры томов внешней памяти DOS.


Программа CHKDSK работает в двух режимах - корректировки и индикации ошибок. Используя эту команду для корректировки, следует помнить, что в процессе ее работы семантический анализ не производится, и поэтому при изменении файловой структуры существует вероятность искажения данных. Чтобы исключить неприятные случайности, перед использованием CHKDSK в вышеупомянутом режиме (с ключом /F) необходимо сделать резервную копию корректируемой информации (разумеется, опытные пользователи обходятся без предварительного копирования данных).

НАЗНАЧЕНИЕ. Команда CHKDSK проверяет корректность файловой структуры и выдает справочную информацию об укрупненном распределении внешней памяти указанного магнитного диска. При этом приводится статическое распределение оперативной памяти в системе.
Команда CHKDSK формирует и выводит на экран следующую справочную информацию о контролируемом магнитном диске:
-    общий объем памяти;
-    количество и суммарный размер скрытых файлов;
-    число каталогов и объем занимаемого ими дискового пространства;
-    общее количество файлов, расположенных на диске, и объем занимаемого ими дискового пространства;
-    суммарный размер запорченных секторов;
-    объем свободного дискового пространства.
Кроме того, выводится укрупненная информация о распределении оперативной памяти, включающая:
-    общий объем памяти, доступной системе;
-    объем памяти, свободной для распределения.
 

ОПИСАНИЕ. В процессе работы CHKDSK проверяет файловую структуру на наличие ситуаций, логически противоречащих правилам размещения данных на устройствах внешней памяти, принятым в системах DOS. Кроме того, проводится анализ степени фрагментации данных на контролируемом магнитном диске. Рассмотрим наиболее типичные из операций контроля:
-    поиск потерянных блоков (кластеров) в таблице размещения файлов FAT;
-    выявление перекрестных ссылок на кластеры;
-    обнаружение ошибок размещения (поиск ссылок на несуществующие кластеры);
-    выявление нарушений непрерывности файлов и оценка степени их фрагментации.
 

Потерянные блоки - это участки магнитного носителя, не включенные ни в одну цепочку кластеров, описывающую файлы, и при этом состоящие из кластеров, которым в таблице размещения файлов соответствуют коды, отличные от кода свободного или запорченного кластера (0000Н или FFF7H). Такие области могут образоваться при аварийном завершении обмена с магнитными дисками (например, после выключения питания компьютера при наличии открытых файлов).
Другими словами, потерянные блоки могут появиться, когда в процессе модификации данных на магнитном диске система не успевает отразить все изменения в его файловой структуре.
В процессе выполнения команды CHKDSK при обнаружении потерянных блоков выводится запрос на выбор алгоритма обработки потерянных блоков:
хх lost clusters found in yy chains
Convert lost chains to files (Y/N)?
(В у у файлах найдено хх потерянных кластеров
Преобразовывать потерянные цепочки в файлы (Д/Н)?)
В зависимости от выбранной альтернативы или эти блоки (цепочки кластеров) включаются в состав свободного дискового пространства, или из каждого такого блока в корневом каталоге контролируемого магнитного диска формируется отдельный файл с именем FILEnnnn.CHK, где пппп - натуратьное число, представляющее собой порядковый номер файла (нумерация проводится начиная с нуля). Создание таких искусственных файлов позволяет легко проанализировать содержимое потерянных блоков. В дальнейшем их можно использовать для восстановления какой-нибудь запорченной ранее информации или удалить.
Перекрестные ссылки возникают, когда один и тот же кластер включается в две или более независимые цепочки, каждая из которых соответствует отдельному файлу. Подобная ситуация может также возникнуть после принудительного аварийного прерывания операции записи информации на магнитный диск. Так, например, если в процессе записи на диск текущий элемент цепочки, отображающей последовательность кластеров в файле, сформирован, а последующий элемент остался немодифицированным, то соответствующий кластер впоследствии может быть распределен вторично. Во избежание подобных ситуаций при программировании обмена с магнитными дисками желательно все изменения FAT записывать за одно обращение к диску.
Обнаружив перекрестные ссылки, CHKDSK выдает сообщение
File is cross-linked on cluster xx.(Файл имеет перекрестные ссылки по кластеру хх).
 

При возникновении подобных ошибок необходимо переписать файлы, содержащие перекрестные ссылки, на вспомогательный носитель, проверить каждый файл, после чего восстановить их на исходном магнитном диске. Для полной гарантии восстановления файловой структуры исходный диск желательно разгрузить от информации и переформатировать.
Нарушение непрерывности файла, вообще говоря, не представляет собой сбойной ситуации. Наличие прерывистых файлов допускается в большинстве ОС, так как это позволяет повысить эффективность использования дискового пространства. В некоторых системах такие файлы называются списковыми, но в случае DOS такое определение не подходит, так как в силу однородности структуры распределения внешней памяти в этой системе и непрерывные файлы - списковые (структура размещения любого файла задается цепным списком кластеров независимо от того, размещается файл в смежных кластерах иди нет).
Появление фрагментации файлов увеличивает количество физических обращений к магнитным дискам и время поиска информации при обмене с устройствами внешней памяти. Если пользователь хочет устранить фрагментацию данных в каких- либо файлах, он может легко сделать это с помощью команды CHKDSK, которая выявляет все случаи фрагментации (для выполнения контроля непрерывности файлов в командной строке должно быть указано соответствующее имя файла или группы файлов). При обнаружении прерывистого файла CHKDSK выдает сообщение
Filename contains х non-contiguous blocks (Файл "имя файла" содержит прерывистые блоки).
Устранить подобную ситуацию можно, перезаписав файлы на предварительно переформатированный диск с помощью команд COPY, XCOPY или BACKUP.

Ошибки размещения возникают достаточно редко и обусловлены в большинстве случаев некорректным программированием обмена с магнитными дисками при использовании таблицы размещения файлов с 12-бит структурой указателей. Ошибка размещения представляет собой ссылку на "мнимый", несуществующий кластер магнитного диска. При автоматической коррекции ошибок размещения CHKDSK оставляет только правильно размещенные части файлов. Остальные данные при этом будут потеряны.
Используя команду CHKDSK, необходимо помнить:
-    CHKDSK не работает с магнитными дисками, заданными командами SUBST или JOIN;
-    CHKDSK не работает с сетевыми приводами.
Команда внешняя, выполняется программой, загрузочный
модуль которой содержится в файле CHKDSK.COM.

ФОРМАТ.
[маршрут]CHKDSK [спец.файла] [/F] {/V]
Спецификация &.маршрут - каталог, содержащий файл загрузочного модуля программы CHKDSK.
Параметр спец.файла - необязательная спецификация файла или группы файлов, но которым необходимо получить справочную информацию. Она включает имя накопителя, маршрут, а также имя и расширение имени файла. Шаблоны "*" и "?" разрешены.
Ключ /F позволяет проводить корректировку найденных ошибок по ходу выполнения команды.
Ключ /V влечет вывод на экран дисплея имен всех проверяемых файлов с соответствующими маршрутами.
Пример 63. C:\PCC\T2\K2_2>chkdsk
Volume PC COMPL created Oct 21, 1989 6:07a
33462272    bytes    total disk space
53248    bytes    in 3 hidden files
75776    bytes    in 37 directories
7755776    bytes    in 183 user files
10240    bytes    in bad sectors
25567232    bytes    available on disk
655360 bytes total memory 568928 bytes free
C:\PCC\T2\K2_2>

Пример 64. C:\PCC\T2\K2_2>chkdsk *.*
Volume PC_COMPL created Oct 21, 1989 6:07a
33462272    bytes    total disk space
53248    bytes    in 3 hidden files
75776    bytes    in 37 directories
7757824    bytes    in 183 user files
10240    bytes    in bad sectors
25565184    bytes    available on disk
655360 bytes total memory 568928 bytes free
C:\PCC\T2\K2_2\G0.K22
Contains 2 non-contiguous blocks. C:\PCC\T2\K2_2\G4.BAK
Contains 5 non-contiguous blocks. C:\PCC\T2\K2_2\G4.K22
Contains 2 non-contiguous blocks. C:\PCC\T2\K2_2\G2.K22
Contains 6 non-contiguous blocks. C:\PCC\T2\K2_2\G1.K22
Contains 5 non-contiguous blocks. C:\PCC\T2\K2_2\G3.K22
Contains 2 non-contiguous blocks.
C:\PCC\T2\K2_2>

Пример 65.
C:\PCC\T2\K2_2>chkdsk a:*.*/v
Volume T2_K2_1_2_5 created May 8, 1989 7:17p
Directory А.Л Directory A:\K2_1
A:\K2_1\G0.K21 A:\K2_1\G11.K21 A:\K2_1\G12.K21 A:\K2_1\G21.K21 A:\K2_1\G22.K21 A:\K2_1\G31.K21 A:\K2_1\G32.K21 A:\K2_1\G4.K21 A:\K2_1\G5.K21 A:\K2_1\G61.K21 A:\K2_1\G62.K21 A:\K2_1\G63.K21 A:\K2_1\G64.K21 A:\K2_i\G7.K21 Directory A:\K2_2
A:\K2_2\G0.K22 A:\K2_2\G1.K22 A:\K2_2\G2.K22 A:\K2_2\G4.K22 A:\K2_2\G5.K22 A:\K2_2\G6.K22 A:\K2_2\G3.K22 Directory A:\K2_5
A:\K2_5\G0.K25
A:\K2_5\G01.K25
A:\K2_5\G1.K25
A:\K2_5\G2.K25
A:\K2_5\G3.K25
A:\K2_5\G4.K25
A:\K2_5\G5.K25
A:\K2_5\G6.K25
A:\K2_5\G7.K25
A:\K2_5\G8.K25
A:\T2_K2_1_.2_5
1213952    bytes    total disk space
0    bytes    in 1 hidden files
1536    bytes    in 3 directories
973312    bytes    in 31 user files
239104    bytes    available on disk
655360 bytes total memory 568928 bytes free
A:\K2J2\G1.K22
Contains 3 non-contiguous blocks. A:\K2_2\G2.K22
Contains 3 non-contiguous blocks. A:\K2_2\G4.K22
Contains 3 non-contiguous blocks.
A:\K2_2\G3.K22
Contains 2 non-contiguous blocks.
C:\PCC\T2\K2_2>

Пример 66.
C:\PCC\T2\K2_2>chkdsk a:*.*
Volume BACKUP 001 created Oct 29, 1989 5:39p
Errors found, F parameter not specified. Corrections will not be written to disk.
41 lost clusters found in 1 chains.
Convert lost chains to files (Y/N)? n
20992 bytes disk space would be freed.
1213952    bytes total disk space
0    bytes in 1 hidden files
512    bytes in 1 directories
1095680    bytes in 48 user files
96768    bytes available on disk
655360 bytes total memory 568928 bytes free
A:\4201.CPI
Contains 2 non-contiguous blocks. A:\P.EXE
Contains 4 non-contiguous blocks.
C:\PCC\T2\K2_2>

Пример 67.
C:\PCC\T2\K2_2>chkdsk a:*.*
Volume BACKUP 001 created May 29, 1989 5:39p
Errors found, F parameter not specified. Corrections will not be written to disk.
41 lost clusters found in 1 chains. Convert lost chains to files (Y/N)? у
1213952 bytes total disk space 0 bytes in 1 hidden files 512 bytes in 1 directories 1095680 bytes in 48 user files 20992 bytes would be in 1 recovered files
96768 bytes available on disk
655360 bytes total memory 348064 bytes free
A:\4201.CPI
Contains 2 non-contiguous blocks. A:\P.EXE
Contains 4 non-contiguous blocks.
C:\PCC\T2\K2_2>
 


Обсудить вопрос в студенческом форуме

 

Сайт содержит информацию о учебном заведении и студенческой общине и не является официальным