Уроки первого в моей практике сбоя Windows 2000 Pro


Вынужден признаться - я был избалован. Трудно поверить, но в течение более чем года, прошедшего с момента, когда я заменил последнюю предварительную версию (RC) Windows 2000 Professional на окончательную редакцию операционной системы, я ни разу не оказывался перед голубым экраном с ошибкой Stop. Более того, настольная система Windows 2000 Pro работала настолько надежно, что за весь период работы с Windows 2000 мне ни разу не пришлось перезагружать рабочую станцию. Правда, несколько раз я проделал эту операцию по привычке или в расчете переинициализировать системную память и повысить производительность системы. Устойчивость моего ПК стала предметом постоянных шуток моих коллег: один из сотрудников, навсегда запомнивший испытания, через которые ему пришлось пройти, постоянно перезагружая Windows NT и Windows 9x, время от времени останавливался у моего стола и напоминаел мне о том, что пора перезагрузить систему. Безмятежная полоса моей жизни была прекрасна, но, к сожалению, не могла продолжаться вечно.

КОНЕЦ ХОРОШЕЙ ЖИЗНИ

Наконец и я увидел голубой экран смерти, когда, как обычно, одновременно загрузил примерно десяток программ. Я как раз начал сеанс записи на перезаписываемый диск (CD-R). Вскоре после того, как я возвратился в текстовый редактор, чтобы немного поработать над статьей, передо мной возник давно забытый <призрак прошлого> - ужасный голубой экран. Я так привык к безупречно надежной работе компьютера, что не сразу осознал - да, я действительно вижу голубой экран и не могу нажать Ctrl-S, чтобы сохранить только что набранный абзац.

Усилием воли я сбросил с себя легкое оцепенение, в котором находился, собрался с мыслями и начал вспоминать приемы восстановления системы, освоенные за время работы с NT. Во-первых, я списал код ошибки Stop, это всегда полезно в таких ситуациях. В данном случае ошибка была знакомой - Stop: 0x0000000A IRQL_NOT_LESS_OR_EQUAL. Однако, даже переписывая подробности сообщения об ошибке, я в тайне надеялся, что сбой - не более чем кара судьбы за преступную небрежность и самоуверенность, которые выразились в том, что я слишком редко перезагружал систему. С этой надеждой я просто нажал на кнопку Reset и стал ждать, когда система успешно перезагрузится. Но к моему огромному разочарованию, в начальной фазе процесса загрузки Windows 2000 на голубом экране возникло идентичное сообщение об ошибке. Так рухнула моя теория случайного сбоя: очевидно, я имел дело с настоящей системной аварией.

Я немедленно записал всю важную информацию с этого голубого экрана, в том числе и вышеупомянутый код ошибки Stop и список различных драйверов, загруженных в память ко времени остановки системы. Исследуя экран, я заметил тревожную деталь: пустоту справа от кода ошибки Stop, где обычно помещаются сведения о неисправном драйвере и его четыре аргумента. Это было досадное упущение, так как указанные на аварийном экране системная служба или драйвер - важный ключ для поиска, который часто помогает найти неисправную службу или драйвер. Он полезен даже в том случае, если причиной сбоя был не указанный на голубом экране драйвер, а связанный с ним или конфликтующий драйвер или служба. Поскольку на голубом экране эта информация отсутствовала, я был предоставлен сам себе.

ВЫЗЫВАЕМ ШЕРЛОКА ХОЛМСА

Всякий, кто попадал в такие ситуации, подтвердит, что взгляд на голубой экран, содержащий мало полезных сведений - один из самых печальных моментов для пользователя Windows 2000 или NT. Не имея глубоких знаний о том, что и почему стало причиной сбоя, и арсенала диагностических приемов, легко почувствовать себя беспомощным и впасть в отчаяние. В таких ситуациях, естественно, возникают вопросы: Что означает эта ошибка? Какова ее причина? Что делать с информацией на голубом экране? Поверьте, множество таких вопросов одолевали в тот момент и меня. К счастью, благодаря большому опыту борьбы со сбоями NT 4.0 и Windows 3.x, я неплохо освоил методы диагностики и восстановления системы. Кроме того, мне не терпелось испытать ряд новых приемов и инструментов, специфических для Windows 2000 (должен признаться, не совсем здоровое желание).

Первым шагом диагностической операции было определения компонента системы, вызвавшего сбой, ведь до самого сбоя я работал, не испытывая никаких затруднений. Я исключил возможность, что конфликт вызван недавно загруженной службой или драйвером, так как в последнее время в системе не инсталлировались никакие новые программы или драйверы. Изучив другие причины, я решил, что наиболее вероятными причинами были перегрев процессора, порча данных на диске или аппаратный отказ.

Проверить предположение о перегреве процессора было несложно - я просто подождал, пока машина остынет, а затем перезапустил ее. Но это не помогло; компьютер упрямо смотрел на меня ужасным синим глазом. Первая попытка оказалась неудачной.

УТИЛИТА CHKDSK КОНСОЛИ RECOVERY CONSOLE

Второе предположение, о порче данных на жестком диске, было бы трудно проверить, не имея возможности запустить утилиту диагностики и восстановления диска. Жесткий диск был отформатирован в NTFS, и на машине не было вспомогательного экземпляра Windows 2000, поэтому я решил добраться до диска и проверить его через консоль восстановления Recovery Console (RC), и использовать команду Chkdsk. RC можно загрузить из программы установки Windows 2000 Setup (инициированной с компакт диска, 3,5-дюйм дискеты или установки Microsoft Remote Installation Services - RIS), но в прошлом я уже запускал команду Winnt32 /cmdcons, чтобы установить версию RC на своем жестком диске. Поэтому я предпочел использовать этот метод для запуска консоли. Выбрав режим восстановления RC из меню загрузчика, я вошел в основную установку Windows 2000 через командную строку. Затем я запустил утилиту Chkdsk, чтобы выполнить диагностику и, при необходимости, исправить диск. Однако на томе не было обнаружено никаких повреждений, и восстанавливать данные не потребовалось. Вторая попытка также была неудачной.

ПОИСК АППАРАТНЫХ НЕИСПРАВНОСТЕЙ

Наконец, я перешел к исследованию третьего предположения: одна из разновидностей аппаратного отказа. Именно этого сценария мне больше всего хотелось избежать, поскольку список потенциальных причин казался бесконечным: неисправность могла крыться в системной плате, видеоплате, шине SCSI, системной памяти, процессоре, кэш-памяти и других компонентах. Я решил заменять компоненты поочередно, пока голубой экран не исчезнет. Прежде чем приступить к этому утомительному занятию, я решил поставить последний диагностический эксперимент: загрузиться в безопасный режим Safe Mode, вызываемый с помощью клавиши F8, чтобы сгенерировать файл bootlog.txt.

В режиме Safe Mode, похожем на одноименный режим загрузки Windows Me и Windows 9x, система запускается с минимальным набором драйверов и служб. В действительности, в Windows 2000 имеется несколько вариантов безопасного режима, один из которых называется Safe Mode. За исключением VGA Mode Only, все варианты безопасного режима Windows 2000 генерируют диагностический файл под названием bootlog.txt в корневом каталоге системного раздела (обычно C:\bootlog.txt). В этих журналах отмечается успешная или неудачная инициализация каждого компонента системы при запуске. С помощью файла в дальнейшем можно определить, какой системный компонент был загружен последним перед появлением голубого экрана. Иногда эта информация может дать ключ к поиску источника проблемы.

Чтобы перейти в диагностический режим, я нажал клавишу F8 в процессе начальной загрузки и выбрал из меню пункт Safe Mode. К моему удивлению, на этот раз перед появлением голубого экрана на короткое время даже показалась графическая оболочка. Я также отметил обнадеживающие изменения на голубом экране, генерируемом в Safe Mode: рядом с кодом ошибки Stop появилось имя драйвера, cdr4_2ki.sys, связанного с накопителем CD-RW моего компьютера. Эта информация, в сочетании с тем обстоятельством, что непосредственно перед сбоем я записывал CD-R-диск, заставили предположить, что проблема связана с накопителем CD-RW. Я удалил накопитель из последовательности SCSI-устройств, и система загрузилась нормально.

СПАСИТЕЛЬНЫЙ SAFE MODE

Неполная диагностическая информация, получаемая из стандартного голубого экрана, разочаровывает, но к счастью, мне удалось подобрать ключ к решению проблемы в режиме безопасной загрузки Safe Mode. Поэтому я рекомендую всегда - особенно если на голубом экране содержится скудная информация - в первую очередь загрузиться в режиме Safe Mode; вероятно, таким образом удастся получить ключ к диагностике возникновения ошибки Stop.


Шон Дейли - один из редакторов журнала Windows NT Magazine и президент компании iNTellinet Solutions, занимающейся консалтингом и сетевой интеграцией. Имеет сертификат MCSE. Последней из его книг была , выпущенная издательством IDG Books. С ним можно связаться по адресу: sean@ntsol.com.