Что делать, если Windows неожиданно перезагружается?
10 мая 2009 г.
Эта статья поможет вам в случае, если операционная система (Windows) неожиданно и самопроизвольно перезагружается. В большинстве случаев можно узнать, что является причиной такой перезагрузки и исправить проблему.
Первым делом необходимо проверить компьютер на вирусы, т.к. в большинстве случаев они - виновники описанной проблемы. Подробно процесс проверки на вирусы описан в нашей статье "Как надежно лечиться от вирусов?". Если вы уверены, что вирусов у вас нет, а проблема в чем-то другом, то найти причину можно следующим образом.
Первым делом, если перед перезагрузкой появляется синий экран, необходимо сфотографировать его и рассмотреть более подробно. В некоторых случаях модуль, виноватый в сбое, указывается прямо в информации о проблеме:
Обратите внимание на строчку "The problem seems to be caused by the following file: SPCMDCON.SYS". Здесь явно указан драйвер, из-за которого произошел сбой. В этом случае остается узнать - что это за драйвер (например, поискать информацию в интернете по имени файла) и либо обновить его, либо проверить оборудование, за которое он отвечает.
Но во многих случаях информации о драйвере или процессе, вызвавшем сбой, нет. Иногда может помочь код ошибки (строчка "*** STOP:" - все что идет после надписи - коды ошибок), объяснение которого тоже можно поискать в интернете. Но зачастую информация по этим кодам слишком общая (например "критический сбой операционной системы" - ничего конкретного), чтобы понять истинные причины. В этом случае придется пускать в ход "тяжелую артиллерию".
Первым делом включаем запись подробной информации об ошибках в случае их возникновения. Кликаем правой кнопкой по "Мой компьютер", заходим в свойства, выбираем вкладку Advanced, нажимаем кнопку Параметры (Settings) в блоке Загрузка и восстановление (Startup and Recovery):
Установите параметры так, как показано на рисунке:
Этим мы дали указание операционной системе в случае сбоя не уходить сразу на перезагрузку, а записать предварительно краткое содержимое памяти. Теперь ждем очередного сбоя и перезагрузки. После этого в папке C:/Windows/Minidump (или там, где у вас установлена Windows) появится дамп памяти, соответствующий этому сбою. Файлы именуются по следующему принципу:
MiniМесяцДеньГод-Номер.dmp
Номер - порядковый номер дампа за этот день. Например, дамп памяти, сделанный при первом сбое за 12 октября 2008 года, будет называться так:
Mini101208-01.dmp
Итак, дамп памяти у нас есть и можно приступать к его анализу. Для этого нужно скачать следующие инструменты с сайта Microsoft (предоставляются бесплатно):
1. Debugging tools for Windows. Практика показывает, что Microsoft любит менять ссылки на своем сайте, поэтому если приведенная нами ссылка окажется нерабочей, воспользуйтесь поиском по сайту - ищите по фразе WinDbg;
2. Отладочные файлы ("символы"). В принципе, можно выполнить анализ и без них, но их наличие позволит получить более полную информацию о причинах сбоя. Обратите внимание, что выбирать нужно тот пакет, который соответствует вашей операционной системе, включая установленные сервис-паки. Например, если у вас установлен только Service Pack 2, то не нужно загружать пакет для Service Pack 3. Если позволяет интернет-доступ, загружайте наиболее полную версию отладочных файлов.
Далее устанавливаем Debugging Tools. При установке выберите полный вариант инсталляции.
Затем установите загруженные отладочные файлы (Symbols). Запомните путь, куда они будут установлены.
Теперь можно запустить Debugging Tools (программа WinDbg). В меню File выберите меню Symbol File Path. В появившемся окне укажите путь, куда были установлены отладочные файлы (Symbols) и нажмите OK.
Затем в меню File выберите Open Crash Dump и выберите дамп памяти, записанный перед перезагрузкой. Откроется окно с информацией о сбое. Внизу в командной строке наберите команду:
!analyze -v
и нажмите Enter (см. рис):
Появится более подробная информация о сбое. Приведем несколько примеров и объясним, как можно интерпретировать полученные данные.
Пример 1.
Можно увидеть два источника проблемы: драйвер RTL8139.SYS - драйвер сетевой карты и процесс AVP.EXE - антивирус Касперского. Трудно сказать, кто является непосредственным виновником сбоя. Скорее всего, ошибка произошла в момент, когда антивирус обновлял базы, используя интернет, который работает через сетевую карту. Проблема могла быть как в ошибке в драйвере, так и в некорректной работе с ним (т.е. в антивирусе). По крайней мере, теперь видно, что, по возможности, нужно обновить драйвер сетевой карты и антивирусную программу (не базы, а именно саму программу).
Пример 2.
Хотя номинально есть процесс, приведший к сбою (CSRSS.EXE - это системный процесс), на самом деле виноват жесткий диск - обратите внимание на строку IO_ERROR. Скорее всего, по каким-либо причинам (например, окисленные контакты) во время работы была нарушена физическая связь с жестким диском, на котором установлена операционная система. Для нее это критический сбой и поэтому была выполнена автоматическая перезагрузка.
Пример 3.
В этом примере сбой произошел из-за процесса QIP.EXE - известного ICQ-клиента.
Таким образом, основное внимание обращайте на строчки PROCESS_NAME и IMAGE_NAME, которые указывают, в каких процессах и драйверах произошел сбой.
Однако, если сбой какой-то программы был у вас единичным случаем - не стоит преждевременно бить тревогу - скорее всего, он произошел по случайному стечению обстоятельств. А вот если сбои происходят с определенной периодичностью, то следует заняться поиском и устранением причины. В большинстве случаев может помочь обновление соответствующего программного обеспечения. Если и оно не поможет - напишите в службу поддержки программы, опишите проблему, приложите дамп памяти. Во многих случаях разработчики будут вам благодарны: вы не только "протестировали" их продукт, но и сообщили подробные сведения в виде дампа.
Комментарии
Hell28 (07/01/2010 21:51)
А эта статья к висте относится?
Александр (10/01/2010 4:06)
Hell28, да. На ней можно проделывать то же самое, только скачивать нужно соответствующий отладчик и наборы символов.
еуы (28/01/2010 1:15)
ееуыеыуе
EvaVision (06/02/2010 19:02)
А что предпринимать в случае вот такого анализа: http://s45.radikal.ru/i108/1002/65/c865f4cd8432.jpg - 06.02.10
http://s004.radikal.ru/i207/1002/8a/8c76a6470e90.jpg - 03.02.10
Компьютер перезагружается при старте логоньи. Еще иногда зависает при выборе юзера и впечатывании пароля. Есть еще другие дампфайлы, но во всех присутствует ntoskrnl.exe. Иногда еще к нему подключается explorer.
Александр (07/02/2010 12:29)
С системными процессами всегда сложнее. В одном варианте видно, что сбой происходит при создании файла подкачки. Я бы рекомендовал следующее:
1. Проверить жесткий диск на физические ошибки (плохие сектора) - например, с помощью программы Victoria или MHDD.
2. Перенести файл подкачки на другой раздел - для проверки.
3. Обратить внимание на строчки:
Probably caused by : ntoskrnl.exe ( nt!NtCreatePagingFile+547 )
Probably caused by : ntoskrnl.exe ( nt!VERIFY_BUFFER_LOCKED+70 )
В них содержится более подробная информация о том, откуда пошел сбой. Я бы ввел в поисковиках запрос вида "blue screen ntoskrnl.exe NtCreatePagingFile" (и второй вариант ошибки) и почитал опыт людей, которые сталкивались с такими ошибками.
Мария (05/03/2011 16:53)
Загрузила игру барби спортсменка. Потом когда я начала в неё играть то игра исчезает и наполовину чёрный экран и на чёрном экране было написано, что произошла неожиданная ошибка. Хотя был у меня старый компьютер windows 98 и эта игра работала, а сейчас у меня windows xp я не знаю что мне делать я даже совмещала игру с windows 98 но не получилось как мне сделать, чтобы игра работала хорошо?