Технология выявления причин сбоев и устранения «глюков»

  • Здравствуйте! у меня такая проблема: у меня Windows 98 SE, и вот при выключении или перезагрузке компьютера часто появляется ошибка в программе MPREXE.EXE и после этого дальше выключать получается только нажав 3 клавиши… Подскажите, пожалуйста, как устранить эту проблему?
  • Запускаю Outlook — появляется «мессага» типа: «MSMIN выполнила недопустимую операцию и будет закрыта». :( Такого вот типа… Либо «Программа MSIMN вызвала сбой при обращении к странице памяти в модуле INETCOMM.DLL по адресу 0167:5ec22198». Помогите…
  • Довольно часто происходит ошибка типа: «Программа EXPLORER вызвала сбой при обращении к странице памяти в модуле MSHTML.DLL по адресу 0167:70db56f5». Что это?

Мне постоянно приходят подобные вопросы, но, к сожалению, однозначного универсального решения таких проблем не существует, и дать какой-то определённый ответ чаще всего просто невозможно. Причин таких сбоев множество, и никто не в состоянии знать их все. Дело в том, что каждая система, каждая связка «операционная система — программное обеспечение — оборудование — драйвера» неповторима, и устранить причину такого сбоя можно только потратив немало времени непосредственно на месте, то есть, препарируя по винтику и по байтику конкретный компьютер. Если «глюк» появился в какой-то определённый момент, например, после установки какой-то программы или драйвера, то проще всего после удаления такой программы восстановить реестр или всё содержание жёсткого диска из резервной копии. (Ну сколько же можно говорить, что слово «резервировать» должно буквально сниться пользователю Windows?). Не так уж сложно потратить несколько минут раз в неделю на создание резерва — нервов и времени это в результате сэкономит гораздо больше. Как всё это делается, и как вообще проводится профилактика сбоев, мы уже неоднократно писали в Upgrade — просто пролистайте подшивку журнала или проштудируйте сайт upgrade.computery.ru [1]. Если же нет возможности столь легко вернуть систему к «безглючному» состоянию, либо сбои в работе Windows и оборудования происходит прямо на свежеустановленной ОС, то выход один — пользователю придётся искать причину сбоя самостоятельно. В принципе, технология «отлова глюка» тоже мной уже приводилась в одном из журналов, но было это очень давно, вопросы по-прежнему продолжают поступать, «глюки» активно размножаются, так что, думаю, есть смысл технологию диагностики причин сбоев Windows усовершенствовать.

Итак, вы поимели «ГЛЮК». Приступим к его устранению. Обязательно запоминайте все свои действия, чтобы можно было их потом отменить! А ещё лучше — хотя бы сейчас сделайте резервную копию реестра, конфигурационных файлов или всей системы, чтобы не получить в результате своих экспериментов ещё большие проблемы.

  1. Первым же делом (пунктом «ноль», как я уже говорил, у грамотного пользователя должно являться восстановление системы или реестра из резервной копии) запишите в точности сообщение об ошибке, которое выдаёт система, и зайдите на сайт технической поддержки Microsoft search.support.microsoft.com/kb/c.asp [2] либо на его русский аналог www.microsoft.com/rus/support/kbrus.htm [3]. Постарайтесь на основе своего сообщения об ошибке сформулировать запрос для поисковой системы таким образом, чтобы получить наиболее внятный ответ — несколько попыток, думаю, помогут вам найти если не чёткое решение проблемы, то хотя бы примерное представление о причине «глюка». Поверьте, найти решение в базе данных Microsoft — самый простой и быстрый способ устранения «глюка», и пренебрегать им нельзя ни в коем случае.
  2. Если вам не повезло, и Microsoft не знает о таком «глюке», то запустите специализированную утилиту поиска в Интернете типа Copernic или отечественной WebMachine и также попытайтесь найти в Сети материалы по схожим проблемам. Либо воспользуйтесь поисковиками типа Yahoo или Google. Искать следует не только на обычных веб-страницах, но и в конференциях UseNet — именно там часто сосредоточена самая ценная информация.
  3. Загляните на сайт www.techadvice.com [4] — там собрана неплохая коллекция ссылок на статьи, посвящённые устранению конкретных сбоев. Почитайте же, наконец, FAQ'и на сайте журнала Upgrade!!!
  4. Посетите сайт разработчика сбойной программы или устройства — возможно, он знает о проблеме и предлагает какой-нибудь патч.
  5. Откройте, в конце концов, документацию к сбойной программе или плате расширения!
  6. После вышеобозначенных мероприятий, не увенчавшихся успехом, зайдите на какую-нибудь веб-конференцию, например, на конференцию журнала Upgrade и, предельно подробно сформулировав описание «глюка» и конфигурации своей системы, попробуйте узнать мнение других пользователей — возможно, кто-то уже знает решение либо может подсказать направление дальнейших поисков. Попытайтесь вспомнить, после каких действий появился сбой.
  7. Полностью удалите сбойную программу и либо откажитесь от неё, либо установите заново, желательно — самую свежую версию (либо наоборот — более старую)
  8. Удалите несколько программ, которые вы устанавливали последними — возможно, какая-то из них вызывает сбой системы или конфликтует с другими программами и оборудованием, вызывая их сбои. Непременно используйте качественный специализированный деинсталлятор при установке и удалении программ — только так можно полностью очистить систему от всех следов удаляемой программы или драйвера!
  9. Проверьте в Панели Управления все настройки системы и проконтролируйте установки в опциях используемых приложений — установите все в положение «По умолчанию». Отмените ограничения размера файла подкачки, проверьте, достаточно ли места на диске.
  10. Верните в исходное состояние настройки в реестре, в конфигурационных файлах USER.INI, SYSTEM.INI и MSDOS.SYS, сделанные с помощью утилит типа WinBoost, MTU Speed. Проверьте установки AUTOEXEC.BAT и CONFIG.SYS. Запустите поиск в реестре по слову «Policies» и удалите все параметры в найденных разделах — возможно, ваш сбой — всего-навсего ограничение прав пользователя.
  11. Обновите систему и поставьте свежие «заплатки» на сайте Windows Update [5]. Обновите Internet Explorer. Учтите, что установка IE версии 5.5 и выше на Windows 98 чаще всего, к сожалению, сопровождается «глюками», так что есть смысл оставить старую версию браузера.
  12. Обновите DirectX. Иногда оказывается полезным сначала удалить DirectX специальной программой, а потом поставить его заново. Впрочем, есть и такие дистрибутивы, которые сами полностью переустанавливают DirectX, даже если установлена более свежая его версия — их объём около 25 мегабайт, а в названии файла присутствует слово «REDIST»: DX8a_Redist.exe.
  13. Некоторые проблемы загрузки (возникшие из-за воздействия вируса, например) устраняются, если заново сделать диск С: системным, загрузившись с компакт-диска Windows 9х и выполнив команду «SYS C». Восстановите главную загрузочную запись жёсткого диска (MBR) командой «FDISK /MBR», если она оказалась повреждена. Разумеется, проверьте систему свежими антивирусами.
  14. Удалите все временные файлы, очистите кэш браузера, Корзину, Журнал, очистите папку C:\Program Files\Internet Explorer\PLUGINS с плагинами IE. Очистите папки, из которых производится автозапуск скриптов MS-Office (типа C:\WINDOWS\Application Data\Microsoft\Excel\XLSTART, C:\WINDOWS\Application Data\Microsoft\Word\STARTUP), удалите шаблон NORMAL.DOT, используемый MS-Office. Очистите папки C:\WINDOWS\Downloaded Program Files, C:\WINDOWS\APPLOG, C:\WINDOWS\NETHOOD, C:\WINDOWS\PRINTHOOD, C:\WINDOWS\RECENT. Удалите файлы AUTORUN.INF со всех локальных дисков.
  15. В случае с драйвером — загрузите ПК в режиме защиты от сбоев, удалите проблемное устройство и после загрузки в обычном режиме установите самый свежий драйвер. Впрочем, иногда как раз более старый драйвер оказывается более стабильным, так что попробуйте разные версии. Учтите, что устранению «глюка» иногда способствует использование вместо перезагрузки полного выключения ПК и последующего его включения через несколько минут обесточенного простоя. Если «глюк» имеет какое-то отношение к сети, то в свойствах Сети удалите все сетевые компоненты и после перезагрузки поставьте всё необходимое заново. Удалите все принтеры, если с ними есть проблемы, и тоже после перезагрузки переустановите их драйвера.
  16. Обновите все драйвера всех устройств, в особенности — драйвера, что идут в комплекте с материнской платой, а ещё точнее — драйвера чипсета (Intel INF Update + Intel Ultra ATA Storage Driver либо VIA-4-in-1 + прочие драйвера и патчи от VIA).
  17. Попробуйте вернуть в исходное — «Default» — состояние настройки в BIOS, поэкспериментируйте с разными опциями, например, отключите DMA, уменьшите тайминги памяти, отключите интегрированные устройства, включите «дыру» в районе 15 мегабайта памяти. Обновите BIOS. И откажитесь от разгона!
  18. Установите в CMOS Setup параметр PnP OS Installed = NO и отключите ACPI, чтобы распределением ресурсов заведовал BIOS, а не ОС. Отключите в CMOS Setup всё, что касается управления питанием. Либо наоборот — включите все эти опции, если они отключены.
  19. Проверьте исправность оборудования, правильность установки перемычек на нём, протестируйте его с помощью таких утилит, как Memory Test [6], CPU Stability Test [7] и им подобных. Проверьте всё, вплоть до батарейки, напряжения блока питания и качества крепления материнской платы — никаких спонтанных замыканий или ненадёжных контактов нигде не должно быть! Включите в файле CONFIG.SYS проверку памяти драйвером HIMEM: DEVICE=C:\WINDOWS\HIMEM.SYS /VERBOSE /TESTMEM:ON. Временно замените все модули памяти — именно она является тем устройством, которое сбоит чаще всего. Проверьте температуру и работоспособность устройств охлаждения всех компонентов системы! Заземлите ПК, установите сетевой фильтр или источник бесперебойного питания. Проверьте качество телефонного кабеля, сетевого кабеля, электрической разводки.
  20. Переставьте проблемное устройство в другой слот, в свойствах системы проверьте отсутствие конфликтов, переназначьте вручную прерывания (или ещё и другие ресурсы, например, каналы DMA или диапазоны I/O). Попробуйте заменить проблемное устройство на точно такое же, либо на устройство другой марки — возможно, у вас просто бракованный экземпляр, или смена производителя платы расширения устранит конфликт. Для дисков попробуйте другой шлейф, вместо 80-жильного шлейфа попробуйте 40-жильный и наоборот, проверьте правильность установки перемычек мастер-слейв, переставьте диск на другой шлейф, установите для него в CMOS Setup либо режим автоопределения, либо задайте его параметры явным образом, либо установите для него «NONE». Не подключайте на один шлейф с проблемным диском другие устройства.
  21. Удалите все дополнительные устройства из ПК, в Свойствах Системы удалите в режиме защиты от сбоев их драйвера и посмотрите — не пропал ли «глюк». Если пропал, то устанавливайте их обратно по-очереди и каждый раз повторяйте процедуру, приводящую обычно к появлению сообщения об ошибке — возможно, имеет место какой-то аппаратный конфликт и таким способом вы либо выявите его источник, либо система заново распределит ресурсы и сама его устранит.
  22. Загляните в свойства проблемного устройства — возможно, там имеются настройки, использование которых устранит сбой, например, для диска отключите или включите режим DMA. На вкладке «Быстродействие» — «Файловая Система» — «Неполадки» («Perfomance» — «File System Properties» — «Troubleshooting») меню свойств системы можно, установив флажки, отключить некоторые функции, которые иногда бывают причиной неполадок. Аналогичная вкладка, предназначенная для устранения некоторых проблем, имеется в программе настройки системной конфигурации System Configuration Utility (C:\WINDOWS\SYSTEM\MSCONFIG.EXE): «Общие» — «Дополнительно» («General» — «Advanced»). Если компьютер не загружается, то доступ к этим меню попытайтесь получить из Режима Защиты от Сбоев (Safe Mode).
  23. Если готового рецепта найти не удалось, никакие настройки не помогли, и обновление ПО не принесло результата, то придётся диагностировать систему. Просканируйте для начала диск и ОС для выявления всевозможных ошибок программами типа:
    • ScanDisk или Norton Disk Doctor — они проведут поиск сбойных мест на винчестере и ошибок файловой системы, с обязательным включением тестирования записи. Если, например, невозможно загрузить Windows даже в режиме Safe Mode, попробуйте «вылечить» посыпавшийся диск тем же ScanDisk из-под MS-DOS.
    • System File Checker — поиск испорченных или подменённых системных файлов в Windows 98. Не забудьте сначала в опциях программы включить поиск изменённых файлов! При изменении файлов проверяйте, чтобы устанавливаемая версия была новее предыдущей — если вдруг на диске оказалась версия файла более старая, чем в дистрибутиве Windows, то восстановите «родной» файл.
    • Norton Win Doctor — поиск ошибок в реестре. Не доверяйте программе автоматически исправлять ошибки, постарайтесь сами определить лучший метод их устранения. Для этого надо попробовать выяснить, к какой программе относится запись в реестре, просмотрев самостоятельно ту ветвь, о которой сигнализирует WinDoctor — иногда по названиям файлов, по прописанным там путям, или названиям элементов ActiveX несложно установить приложение, породившее ошибку. Если эта программа удалена, то и запись в реестре можно стереть, если же нет, то надо выяснить причину ошибки и устранить её: чаще всего встречается просто неправильный путь к файлу, который надо исправить.

    Попробуйте использовать и другие специализированные диагностические утилиты, например, такие как DirectX Diagnostic Tool из состава Windows — проверка файлов DirectX, драйверов, настроек некоторых устройств. Проверьте систему мощнейшим информационным пакетом SiSoft Sandra [8]. Некоторые «глюки» устраняет программа TweakUI, для этого в ней предусмотрена вкладка «Repair».

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

    • Registry Monitor [9] — анализ обращений к реестру,
    • File Monitor [9] — мониторинг обращений к файлам,
    • DllView [9] — информация о библиотеках, используемых текущими процессами,
    • OpenList [9] — сведения обо всех открытых файлах,
    • PortMon [9] — обращения к портам,
    • VxD Monitor [9] — анализ загруженных драйверов,
    • TCPView [9] — информация о соединениях по протоколу TCP,
    • TaskInfo 2002 [10] — отображение всех запущенных программ.

    Возможно, что причиной «глюка» является программа, о работе которой вы и не подозреваете.

  25. Если при загрузке в Режиме Защиты от Сбоев (Safe Mode) проблема пропадает, что чаще всего и бывает, то можно попытаться выявить причину сбоя, если приблизить нормальный режим к Режиму Защиты От Сбоев, отключая некоторые устройства, отменяя запуск фоновых программ, предотвращая загрузку потенциально «глючных» драйверов и используя драйвер стандартного VGA-видеоадаптера. То есть надо попробовать методом исключения определить, в чём источник проблемы. Для этого надо в стартовом меню (вызывается нажатием кнопки F8 при загрузке компьютера), выбрав режим пошаговой загрузки («Step-by-Step Confirmation»), обойти файлы конфигурации AUTOEXEC.BAT и CONFIG.SYS (часто неполадки возникают из-за менеджеров памяти или совершенно лишних DOS-драйверов, например, EMM386 приводит к зависанию ScanDisk при загрузке русской версии Windows), отключить драйвера Windows, а также предотвратить автозапуск всех фоновых программ. Такие программы запускаются не только из меню «Автозагрузка» кнопки «Пуск», но и из реестра: ключи

    • HKEY_LOCAL_MACHINE\Software \Microsoft\Windows\CurrentVersion\Run
    • HKEY_LOCAL_MACHINE\Software \Microsoft\Windows\CurrentVersion\RunServices
    • HKEY_USERS\.DEFAULT\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
    • HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

    и из файла WIN.INI: строки «LOAD» и «RUN» раздела [WINDOWS]. Удобнее всего для этого пользоваться утилитой MSCONFIG.EXE — в «Миллениуме» она умеет отменять даже загрузку VxD-драйверов. Не забудьте и про ещё один файл, из которого могут запускаться некоторые программы — WINSTART.BAT. Выбрать стандартный VGA-видеоадаптер надо на вкладке «Дополнительно» («Advanced») программы настройки конфигурации системы MSCONFIG.EXE (это делается в режиме защиты от сбоев, если система не хочет грузиться нормально). Если проблема возникает при выходе в режим MS-DOS, то проверьте файл DOSSTART.BAT, из которого грузятся DOS-драйвера и программы при переходе в DOS.

    Как это всё выглядит на практике, если говорить немного проще? Например, вы регулярно получаете такой привет от «Виндов»:

    «Программа EXPLORER вызвала ошибку такую-то в модуле таком-то.DLL по адресу такому-то». Сразу же загрузите режим «Safe Mode» и повторите все операции, приводящие к такому «глюку». Если «глюк» не появился, то проблема, скорее всего, вполне решается. Перезагружайте ПК, выбрав теперь режим пошаговой загрузки, и обходите файлы AUTOEXEC.BAT и CONFIG.SYS — опять повторяйте процедуру вызова сбоя, и если всё нормально, то ищите виновника всех проблем в этих файлах. Если же система по-прежнему выдаёт сообщение об ошибке, то вызывайте утилиту MSCONFIG.EXE и отменяйте автозагрузку всех модулей, прописанных в реестре, а заодно и уберите все ярлыки из папки «Автозагрузка» (MSCONFIG умеет делать и это), снова перезагружайте ПК и повторяйте всё ту же процедуру вызова «глюка». Следующий этап — отмена загрузки программ из WINSTART.BAT, WIN.INI. Опять проверяем, не пропал ли сбой. Затем выставляете в том же MSCONFIG.EXE на закладке «Дополнительно» режим VGA — на тот случай, если конфликтует видеокарта. И, наконец, остаётся искать причину всех несчастий в драйверах виртуальных и не совсем виртуальных устройств. При загрузке Windows в пошаговом режиме отмените загрузку «виндовых» драйверов — это VXD-файлы, либо файлы с расширениями «.386», «.DRV», которые грузятся в самом конце. Пропал сбой — отменяйте «глючный» драйвер. В реестре вы найдёте его в качестве значения параметра «StaticVXD» где-то в разделе

    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD

    либо поищите вызов этого файла в SYSTEM.INI. Программа конфигурирования системы MSCONFIG.EXE из состава Windows Me, как я уже говорил, позволяет очень удобно отменять не только всю автозагрузку, но и показывает на одной из своих страниц все VXD-драйвера, в Win98, к сожалению, придётся либо полазать в реестре вручную, либо взять MSCONFIG из «Миллениума».

  26. Необходимо проверить ошибки, возникающие при загрузке ПК и инициализации драйверов по отчёту в файле C:\BOOTLOG.TXT, для чего удобно воспользоваться программами RegRepair 2000 (http://www.easydesksoftware.com/down.htm [11]) или Boot Log Analyser (http://www.vision4.dial.pipex.com/ [12]).
  27. Переустановите Windows. Помните, что при установке «Виндов» поверх предыдущей версии, сохраняются установки в реестре, поэтому, если причина «глюка» в неверных параметрах реестра, то такая переустановка, скорее всего, ничего не исправит. Попробуйте перед переустановкой системы удалить файл VMM32.VXD, в котором упакованы самые основные драйвера, используемые на вашем ПК. Можно также в свойствах системы из режима защиты от сбоев удалить всё оборудование, чтобы Windows заново переустановила все драйвера. Попробуйте запускать установку Windows со следующими параметрами: /d — запрещает использование текущих настроек Windows, хранящихся в файлах конфигурации Win.ini, System.ini и пр.

    /p f — удаляет реестр Windows при переустановке из-под MS-DOS (не забудьте сделать его резервную копию!). Попробуйте разные диски с дистрибутивом ОС — возможно, ваш диск просто повреждён.

  28. Полностью стерев «виндовые» папки C:\WINDOWS, C:\PROGRAM FILES и C:\RECYCLED и настроив конфигурацию MS-DOS (либо переразбив и отформатировав диск), установите Windows «по-голому». Иногда требуется отформатировать диск специальной утилитой от производителя винчестера.

Вот, собственно, и всё — надеюсь, конечно, что вам не придётся прибегать к этой методике, но в любом случае жду ваших советов, дополнений и усовершенствований моей технологии выявления причин «глюков» Windows. Пишите!




Темы