Математика Курс лекций по информатике Машиностроительное черчение Решение задач по физике Теоретические основы электротехники Сопротивление материалов История искусства Ядерные реакторы
Сбои в персональных компьютерах Программа инициализации Управление файлами Программы низкоуровневого форматирования Загрузочные секторы разделов Корневой каталог Таблицы размещения  файлов (FAT) Потери дискового пространства

Главное, что делает программа CHKDSK — она сравнивает содержание каталогов и FAT и выясняет, согласуются ли данные о файлах, хранящиеся в каталогах (такие, как номер начального кластера и размер файла) с теми, которые записаны в FAT (цепочками кластеров с индикаторами концов цепочек). Отдельно проверяются списки файлов в подкаталогах, а также специальные записи, начинающиеся с "." и "..", с помощью которых связывается воедино система подкаталогов.

Второй задачей программы CHKDSK является внесение исправлений в структуру диска. Эта процедура заключается в том, что приводятся во взаимное соответствие данные, хранящиеся в каталогах и FAT, причем делается это весьма примитивным способом. Программа почти всегда модифицирует каталоги на диске так, чтобы они соответствовали тем сведениям, которые записаны в FAT. Только в немногих специальных случаях программа CHKDSK изменяет FAT, причем делается это по тому же простейшему принципу взаимного соответствия.

Можно сказать, что все восстановительные способности CHKDSK сводятся к внесению исправлений в каталоги, поскольку сколько-нибудь серьезное повреждение FAT оказывается ей "не по зубам" и программа просто подстраивает каталог под пусть даже и искаженное содержимое FAT.

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

Только после тщательного анализа обнаруженных ошибок, уяснив для себя, каким способом программа собирается их исправлять, можно попробовать запустить ее в режиме коррекции. Без ключа /F CHKDSK работает в режиме имитации, т.е. выводятся сообщения о том, что исправления якобы уже внесены, но реально на диск ничего не записывается. Ключ /F предусмотрен именно из соображений безопасности — вряд ли вам захочется, чтобы программа CHKDSK действовала только по своему разумению, без вашего вмешательства. Выяснив, что же собирается предпринять программа, и оценив правильность ее решения, вы можете убрать ключ /F и запустить CHKDSK без него.

Иногда команду CHKDSK /F вставляют в файл AUTOEXEC.BAT — очень неразумный и опасный шаг. Если каталоги и FAT системного диска повреждены, то попытка запустить программный файл, записи о котором в каталоге или в FAT испорчены, приведет к зависанию компьютера. После этого вы вынуждены будете перезагрузить систему, и программа CHKDSK, будучи запущенной из AUTOEXEC.BAT, "исправит" повреждения, безнадежно испортив файловую структуру диска. Во многих случаях использование программы CHKDSK приводит к более тяжелым последствиям, чем само исходное повреждение, а простого способа отмены сделанных ею исправлений не существует. Одним словом, поскольку программа CHKDSK является весьма примитивной, а выбираемые ею методы коррекции ошибок на диске не всегда бывают адекватными, запускать ее с ключом /F можно только после того, как вы тщательно взвесите все возможные последствия этого шага.

Повреждения структуры диска, о которых сообщает программа CHKDSK, обычно появляются в результате сбоев программного обеспечения, а не аппаратуры. Потерянные кластеры, ошибки в размещении файлов, или "пересечения" файлов — т.е. те искажения, которые отслеживаются программой CHKDSK —- редко появляются в результате аппаратных неисправностей, хотя такая возможность, конечно, не исключена. Как правило, они появляются при исполнении некачественной программы или в тех случаях, когда вполне нормальная программа прерывается раньше, чем закрываются открытые ею файлы и очищаются буферы. Такое вполне может произойти в результате аппаратной ошибки, но это почти никогда не бывает связано с неисправностью накопителя, как думают многие.

Я советую вам запускать программу CHKDSK для проверки жесткого диска, по крайней мере, один раз в день, поскольку чем раньше вы обнаружите повреждения файловой структуры, тем проще их будет исправить. Поэтому вписать команду CHKDSK без ключа /F в файл AUTOEXEC.BAT — идея вполне разумная. Кроме того, всегда запускайте программу CHKDSK в тех случаях, когда есть вероятность появления ошибок в каталогах или FAT — например, тогда, когда программа прерывается "нештатным" образом или по какой-либо причине происходит сбой аппаратуры.

Запись на диски и в файлы в персональных компьютерах