Утилиты chkdsk и autochk

chkdsk, autochkПервой линией обороны, предотвращающей повреждение файловой системы, является регулярное техническое обслуживание. Утилита обслуживания в операционной системе Windows Server 2003 имеет достаточно древнее имя — chkdsk. Эта утилита используется для анализа файловой системы, обнаружения повреждений, нарушений целостности и восстановления всех повреждений.

Выполняющий анализ программный код утилиты chkdsk в действительности находится в драйвере файловой системы — файле Ufat.dll для файловых систем FAT и FAT32 или файле Untfs.dll — для файловой системы NTFS. Кроме применения утилиты chkdsk, существует еще несколько способов инициализации этого кода. Для этой цели можно использовать Explorer (Проводник). Щелкните правой кнопкой мыши на пиктограмме диска, выберите из контекстного меню команду Properties (Свойства), перейдите на вкладку Tools (Сервис) и щелкните на кнопке Check Now (Проверить) в группе Error-Checking (Проверка ошибок). Проверку во время загрузки можно запустить с помощью утилиты autochk.

Сравнение утилит autochk и chkdsk

Утилита autochk предназначена для работы в реальном режиме во время загрузки системы. На этом этапе загрузки системы заблокированные файлы не мешают проверке целостности файловой системы. Утилиту autochk невозможно запустить после загрузки операционной системы. Для управления утилитой autochk используется следующая запись системного реестра:
 

Раздел: HKLM\System\CurrentControlSet\Control\SessionManager
Запись: BootExecute
Значение: Autocheck AUTOCHK *

В нормальных условиях утилита autochk запускается только в случае установки так называемого грязного (dirty) флага в записи $Volume. Этот флаг указывает на некорректное завершение работы файловой системы. Если утилита autochk запускается при каждой перезагрузке компьютера, в системе, существует очень серьезная проблема. Ищите несовместимый с операционной системой Windows Server 2003 кэширующий контроллер RAID или другую причину. И ищите такую причину быстро. Многие администраторы наблюдали превращение находящейся в идеальном состоянии файловой системы в последствия празднования китайского нового года. И всему причиной была неправильная инициализация утилиты autochk.

При запуске утилиты autochk проверка диска выполняется в режиме только чтение. Все найденные проблемы заносятся в журнал приложений. Подробная информация доступна с помощью консоли Event Viewer (Просмотр событий). Если в журнале присутствуют сообщения об ошибках, перезагрузите компьютер и запустите утилиту autochk в режиме исправления (эквивалент запуска утилиты chkdsk с параметром /f), чтобы исправить все обнаруженные ошибки. Этот вопрос рассматривается в следующем разделе.

Использование утилиты chkntfs для настройки утилиты autochk

Утилита chkntfs позволяет принудительно запустить утилиту autochk в режиме исправления. Ниже приводятся параметры утилиты chkntfs и синтаксис для запуска функций autochk. В каждом случае вместо <том> можно задать букву диска или имя тома.

■ chkntfs <том> /с. Приводит к запуску утилиты autochk по отношению к указанному тому или диску. В системном реестре к записи autochk добавляется параметр /m.

■ chkntfs <том> /d. Позволяет вернуться к принятым по умолчанию правилам запуска утилиты autochk: она запускается в режиме только чтение при наличии установленного грязного флага.

■ chkntf s <том> /t:time. На завершение работы утилиты autochk может уйти некоторое время. Утилита работает в реальном режиме, поэтому дополнительный объем памяти для ускорения работы недоступен. В системе с большим массивом RAID и сотнями мегабайтов файлов завершение работы утилиты autochk может потребовать нескольких часов. Этот параметр утилиты chkntfs позволяет пропустить проверку autochk, если есть обоснованная уверенность в отсутствии повреждения файловой системы. Например, при отключении сервера для установки сетевого адаптера можно воспользоваться параметром /t:time для отключения длительной задержки. В этом случае в раздел HKLM\System\CurrentControlSet\Control\SessionManager добавляется запись AUTOCHKTimeOut.

■ chkntfs <том> /х. Указанный диск исключается из проверки autochk. Этот параметр следует использовать с осторожностью. Если забыть об этом параметре, система не сможет выполнять регулярную проверку во время загрузки. В этом случае к записи autochk в системном реестре добавляется параметр /k: <том>.

Функциональное описание утилиты chkdsk (autochk)

После запуска утилита chkdsk (или autochk) выполняет ряд проверок целостности. Для файловой системы NTFS выполняются следующие проверки.

Первый проход
■ Сканируется таблица MFT и составляется список активных записей файлов и каталогов. Создается битовая карта активных записей MFT и на основе информации о логических номерах кластеров в записях создается битовая карта активных кластеров.
■ Битовые карты используются для проверки файла $Bitmap в метаданных тома. Если запись недоступна для чтения или имеет неправильный формат, она идентифицируется как проблемная.

Второй проход
■ Сканируются записи каталогов и выполняется проверка преобразования каждой ссылки на файл в фактическую запись файла. Проверяется соответствие между ссылкой на файл в каталоге и ссылкой на каталог в записи файла.
■ Проверяется существование циклических ссылок на подкаталоги. Циклическая ссылка представляет собой каталог, который считает себя собственным подкаталогом. Циклические ссылки встречаются очень редко, но их появление приводит к потере большого объема данных в результате отключения от файловой системы большого поддерева каталогов. По этой причине не стоит относиться к циклическим ссылкам слишком легкомысленно.
■ Проверяется соответствие между атрибутами имен файлов в записях файлов и записями имен файлов в соответствующих записях каталогов. Эта операция может занять несколько минут или даже часов, в зависимости от количества записей в таблице MFT и сложности структуры каталогов. Размер тома на скорость проверки не влияет. Том размером 32 Гбайт с 1000 файлов будет проверен в одно мгновение. Том размером 3 Гбайт, в котором создано 100 000 файлов, будет проверяться намного дольше.

Третий проход
■ Сканируются дескрипторы безопасности. Каждая запись должна ссылаться на дескриптор безопасности и соответствовать ссылке в самом дескрипторе безопасности.
■ Если для тома существует журнал изменений, система сканирует журнал и проверяет записи индекса.

Четвертый проход
■ Выполняется сканирование диска с попыткой чтения каждого сектора, содержащего файл. Поврежденные кластеры добавляются в список $BadClus. Данные из поврежденных кластеров копируются в новые кластеры.

Пятый проход
■ Выполняется сканирование свободного дискового пространства. Поврежденные кластеры добавляются в список $BadClus.

Параметры утилиты chkdsk

Существует несколько параметров, с помощью которых можно управлять процессом сканирования утилиты chkdsk. В операционной системе Windows NT 4.0 SP4 были добавлены два параметра (/i и /с) для ускорения проверок целостности благодаря отказу от четвертого и пятого проходов. Эти параметры работают и для утилиты autochk.

■ /f. Запуск утилиты chkdsk в режиме исправления (для утилиты autochk используется параметр /р).
■ /v. Вывод дополнительных сообщений.
■ /r. Выполняется полное сканирование диска для поиска поврежденных кластеров. Все найденные поврежденные кластеры добавляются в файл $BadClus.
■ /l. Отображается размер файла $LogFile. Добавление параметра :размер, например /L: 4096, позволяет изменить размер файла $LogFile.
■ /х. Принудительное размонтирование тома. Данные всех открытых файлов будут утрачены. Кроме этого, параметр заставляет утилиту chkdsk запускаться в режиме исправления.
■ /i. Параметр задает пропуск внутренней проверки соответствия между атрибутами имен файлов в записях файлов и связанными записями имен файлов в индексе каталога.
■ /с. Пропуск проверки циклических ссылок.

Дополнительный параметр /р может использоваться только при запуске утилиты chkdsk из консоли восстановления. Этот параметр заставляет утилиту chkdsk выполнить полную проверку.

Рекомендации по запуску утилиты chkdsk

Утилиту chkdsk стоит периодически запускать для обнаружения аномалий в системе. Запуск утилиты chkdsk для проверки тома с используемыми в данный момент файлами (системного тома или тома с базой данных) невозможен, так как файлы блокируются. Воспользуйтесь утилитой chkntfs для запуска утилиты autochk в режиме исправления во время загрузки.

Если на компьютерах некоторых пользователей операционной системы Windows ХР хранятся поврежденные файлы, избавить их от привычки просто отключать питание компьютера можно, настроив запуск утилиты autochk в режиме исправления при каждой загрузке компьютера. Четко объясните, что дополнительное время загрузки является обязательным, так как накануне вечером компьютер был выключен некорректно. Со временем пользователи поймут намек.

Рубрика: 

Комментарии

Имя
Спасибо за полезную информацию и позитив))))))


Читать обсуждение полностью...



Добавить коментарий