15 лет назад 22 апреля 2004 в 18:46 86

При появлении серьезных сбоев в Windows XP многие пользователи предпочитают “ампутацию”: форматирование диска и полную переустановку ОС. Но что делать, если в системе есть важные программы, переустановка которых либо невозможна, либо обойдется слишком дорого? В этом случае потребуется глубокая диагностика Windows.

У каждого типа сбоя Windows XP – свои причины, а потому для устранения большинства глюков невозможно выработать какой-то универсальный метод лечения. Конфигурация каждой операционной системы, программного обеспечения, драйверов и оборудования уникальна, и чаще всего выяснить причину сбоя можно, только тщательно препарировав железные и программные внутренности конкретного компьютера.

Если сбой не сопровождает ОС с момента ее установки, а появился в какой-то определенный момент (после установки очередной программы или драйвера, изменения настроек Windows, сбоя питания), то избавиться от него легко: достаточно удалить проблемное приложение либо восстановить реестр или даже все содержимое жесткого диска из резервной копии. Помогут в этом не только стандартная System Restore, но и более интересные программы, например Norton Ghost (www.symantec.com), Ashampoo Uninstaller (www.ashampoo.com), WinRescue XP (www.superwin.com).

Разумеется, это возможно, если вы не брезговали профилактикой и регулярно пользовались подобными программами. Если же нет возможности ни восстановить систему “малой кровью”, ни полностью ее переустановить, причину сбоя придется искать самостоятельно.

ПРЕДВАРИТЕЛЬНЫЙ ЭТАП
– Перед началом диагностики сделайте резервную копию реестра, конфигурационных файлов или всей системы, чтобы в результате экспериментов не столкнуться с еще более серьезными проблемами. Обязательно запоминайте все свои дальнейшие действия, чтобы в случае неполадок их можно было легко отменить.

– Удалите все временные файлы. Очистите кэш браузера, Корзину, Журнал, папку Program Files\Internet Explorer\Plugins с плагинами IE (для их восстановления сделайте резервные копии), папки, из которых производится автозапуск скриптов MS Office (типа Documents and Settings\ПОЛЬЗОВАТЕЛЬ\Application Data\Microsoft\Excel\XLSTART, Documents and Settings\ПОЛЬЗОВАТЕЛЬ\Application Data\Microsoft\Word\STARTUP). Удалите шаблон normal.dot, используемый MS Office. Очистите папки Windows\Downloaded Program Files, Documents and Settings\ПОЛЬЗОВАТЕЛЬ\NetHood, Documents and Settings\ПОЛЬЗОВАТЕЛЬ\PrintHood, Documents and Settings\ПОЛЬЗОВАТЕЛЬ\Recent. Удалите файлы autorun.inf со всех локальных дисков.

– Проверьте систему несколькими свежими антивирусами и программой Ad-Aware (www.lavasoft.de). Просканируйте жесткий диск утилитами типа ScanDisk, Norton DiskDoctor (с обязательным включением тестирования записи). Проверьте системные файлы с помощью утилиты System File Checker (команда sfc /scannow) и восстановите поврежденные библиотеки из дистрибутива Windows или Service Pack.

– Обновите систему: помимо последнего сервис-пака (если он уже установлен, переустановите) установите все свежие заплатки на сайте Windows Update (windowsupdate.microsoft.com; учтите только, что некоторые патчи сами могут быть источником проблем). Обновите (переустановите) Internet Explorer (www.microsoft.com/windows/ie/download/default.htm) и виртуальную машину Java от Microsoft (www.microsoft.com/java/vm/dl_vm40.htm).

Обновите DirectX, используя для этого redist-дистрибутив (объем около 25-30 Мб, а в названии файла присутствует слово redist: DX90b_Redist.exe). Иногда полезно сначала удалить Internet Explorer или DirectX, а потом поставить его заново – для этого можно использовать утилиту XPLite (www.litepc.com).

ПОИСК ГОТОВОГО РЕШЕНИЯ
– Тщательно изучите документацию к сбойной программе или плате расширения – быть может, в ней имеются специальные указания, касающиеся данной неполадки. Посетите сайт разработчика сбойной программы или устройства – возможно, служба техподдержки производителя знает о проблеме и предлагает загрузить соответствующий патч.

– Если сбой сопровождается сообщениями об ошибках (например, ошибками STOP на синем экране), запишите их точное содержание и зайдите на сайт технической поддержки Microsoft (search.support.microsoft.com/kb/c.asp) либо на его русскоязычный аналог (www.microsoft.com/rus/support/kbrus.htm; русскоязычная база гораздо меньшего объема). На основе сообщения об ошибке необходимо сформулировать запрос для поисковой системы (для максимальной эффективности поиска попробуйте формулировать запрос несколькими разными способами).

Если в базе Microsoft нет сведений о вашем сбое, запустите специализированную утилиту поиска в интернете, например Copernic (www.copernic.com) или Search Plus (srchplus.chat.ru), и попытайтесь найти в Сети и в технических конференциях UseNet материалы по схожим проблемам (можно воспользоваться и поисковиками типа Yandex, Yahoo! или Google).

Учтите только, что если в вашей системе включен режим автоматической перезагрузки при сбоях, то сообщение “синего экрана смерти” отображаться не будет. Поэтому в меню Control Panel > System > Advanced > Startup and Recovery > Settings (“Панель управления” > “Система” > “Дополнительно” > “Загрузка и восстановление” > “Параметры”) заранее снимите флаг Automatically restart.

Для получения максимальной информации о сбое обратитесь также к системному журналу ошибок – Event Log (“Управление компьютером” > “Просмотр событий” / Computer Management > Event Viewer). Документация по большинству кодов событий Event ID присутствует на сайтах www.microsoft.com/windows2000/techinfo/messages/default.asp и www.eventid.net. Кое-что можно выжать из системного дебаггера Dr.Watson, который можно вызвать из окна программы System Information.

– Включите в Windows XP режим отправки сообщений об ошибках в Microsoft: Control Panel > System > Advanced > Error reporting (“Панель управления” > “Система” > “Дополнительно” > “Отчет об ошибках”). Вы будете смеяться, но отмечены случаи, когда после отправки разработчикам сведений о сбое пользователю приходил ответ с конкретным решением проблемы.

– Загляните на сайты, посвященные всенародной борьбе со сбоями Windows, например на www.techadvice.com, www.jsiinc.com/reghack.htm, www.mdgx.com, www.aumha.org, labmice.techtarget.com/troubleshooting/generalguides.htm – на них вы найдете ссылки на статьи, посвященные устранению многих распространенных сбоев.

– Посетите популярные веб-конференции и конференции UseNet, посвященные операционным системам, программному обеспечению и компьютерному оборудованию. Предельно подробно сформулировав описание сбоя своей системы (и не забыв указать ее версию!), указав точное содержание сообщения об ошибке и описав конфигурацию своей системы, попробуйте попросить помощи у других пользователей – возможно, кто-то уже сталкивался с аналогичной проблемой и либо знает ее решение, либо может подсказать направление дальнейших поисков.

ПРОВЕРКА НАСТРОЕК
– В Панели управления проверьте все настройки системы и оборудования – установите все параметры в положение “По умолчанию”. В частности, отмените ограничения размера файла подкачки, проверьте, достаточно ли места на диске, а в настройках переменных окружения временно укажите более короткий путь к папке TEMP (например, C:\TEMP). Даже в настройках клавиатуры установите по умолчанию английский язык. Проконтролируйте все установки в опциях используемых приложений.

– Верните в исходное состояние настройки в реестре и в конфигурационных файлах user.ini и system.ini, сделанные с помощью утилит-твикеров. Проверьте установки в файлах autoexec.nt, config.nt, _default.pif. Запустите поиск в реестре по слову Policies и удалите все параметры в найденных разделах (кроме отвечающих за политики электропитания разделов PowerCfg, а также раздела HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\TemplatePolicies, содержащего шаблоны политик безопасности IE): возможно, сбой – всего лишь следствие ограничения прав пользователя. Тщательно проверьте текущие настройки политик безопасности в “Редакторе групповых политик” (Group Policy Editor) (запустить его можно, выполнив команду gpedit.msc).

– Верните в исходное – Default – состояние настройки в BIOS. Поэкспериментируйте с разными опциями CMOS Setup: отключите режим DMA для дисков, измените тайминги памяти, отключите все интегрированные устройства, включите “дыру” в районе 15-го мегабайта памяти. Отключите (или, наоборот, включите) в CMOS Setup все, что касается управления питанием, в том числе ACPI. Таким же образом поэкспериментируйте с параметром PnP OS Installed и USB Legacy Support. Обновите BIOS. И откажитесь от разгона: разгон – главный враг Windows XP!

СИСТЕМА И ПРОГРАММЫ
– Запустите Утилиту настройки системы (System Configuration Utility; запустить ее можно, выполнив команду msconfig.exe) и отключите все программы из автозагрузки. Попробуйте также поэкспериментировать с режимом Selective Startup – возможно, некорректная запись затаилась в system.ini или win.ini, другом рудиментарном конфигурационном файле. С помощью Утилиты настройки системы можно проверить и системные сервисы – например, сравнив список запущенных сервисов с другим ПК, на котором подобного сбоя не наблюдается.

Хорошее описание назначения сервисов Windows XP, которое поможет узнать изначальный и рекомендованный статус их настройки в разных версиях Windows, вы найдете по адресу www.blackviper.com. Попробуйте отключить ненужные сервисы, например WEB Client. Проверьте зависимости сервисов, используя оснастку “Сервисы”.

– Попытайтесь вспомнить, после каких действий появился сбой. Удалите несколько программ и драйверов, которые устанавливались последними: возможно, какая-то из них вызывает сбой системы или конфликтует с другими программами и оборудованием, вызывая их сбои. Удалите все программы, которые были созданы более двух лет назад и с тех пор не обновлялись. Удалите антивирусы и другой тесно интегрирующийся с системой софт. Обязательно используйте специализированный деинсталлятор типа Ashampoo Uninstaller и при установке, и при удалении программ – только так можно полностью очистить систему от всех следов удаляемой программы или драйвера!

Кроме того, анализ лога деинсталлятора позволит вам узнать, какие файлы на диске и какие параметры в реестре изменялись при установке программы – нередко для устранения сбоя достаточно исправить неверно измененный параметр в реестре. При переустановке программ и драйверов попробуйте не только самую свежую версию (обратите внимание, что к некоторым программам регулярно выходят патчи-обновления), но и более старую – нередко она оказывается более стабильной. Попробуйте переустановить сбойное приложение в другую директорию с более коротким именем.

– Для устаревших программ попробуйте установить специальный режим совместимости. Для этого в свойствах исполняемого файла программы на вкладке “Совместимость” (Compatibility) в пункте “Запускать программу в режиме совместимости” (Run in emulation mode) выберите режим совместимости с другой версией Windows. Кроме того, используйте набор утилит Application Compatibility Toolkit (www.microsoft.com/windows/appcompatibility/default.mspx), предназначенный для значительного расширения возможностей и ручной настройки этого режима.

– Попробуйте запустить сбойное приложение под учетной записью администратора. Если программа работает только под ней, то из-под учетной записи администратора найдите в ветви реестра HKEY_LOCAL_MACHINE\SOFTWARE раздел с настройками нужной программы и щелкните по нему правой кнопкой мыши. Выберите в появившемся меню команду “Разрешения” (Permissions) и установите полный доступ на эту ветвь реестра для пользователя или группы пользователей, которым разрешается с ней работать. Помимо этого найдите в ветви HKEY_CURRENT_USER раздел, соответствующий сбойной программе, и экспортируйте его в reg-файл. Теперь войдите в систему под именем обычного пользователя и импортируйте этот reg-файл обратно в реестр. Иногда избавиться от подобного сбоя можно, удалив свою учетную запись (и весь профиль пользователя) и затем создав ее заново.

Попробуйте найти и исправить ошибки в реестре с помощью программы типа Norton WinDoctor. Найденные ошибки следует исправлять только в ручном режиме, анализируя каждую из них. Для этого просмотрите в редакторе реестра ту ветвь, о которой сигнализирует WinDoctor: по названиям файлов, параметров или по прописанным путям несложно установить приложение, породившее ошибку. Попробуйте использовать и другие диагностические утилиты, например, такие как DirectX Diagnostic Tool из состава Windows, она проверит файлы DirectX, драйверы, настройки некоторых устройств. Ряд простых сбоев устраняет программа Tweak UI (для этого в ней предусмотрена вкладка Repair).

– Некоторые проблемы Windows XP можно устранить, восстановив главную загрузочную запись жесткого диска (MBR) командой fdisk /mbr после запуска ПК с дискеты Windows 98 (это нужно для последующей перезаписи идентификатора диска) либо командами консоли восстановления fixboot и fixmbr. Загрузите ПК с дискеты Windows 98/Me с поддержкой NTFS (для этого используйте программу NTFS for DOS Pro) или диска ERD Commander (www.winternals.com) и удалите файл pagefile.sys.

Вообще, ERD Commander – прекрасная программа, являющаяся своего рода LiveCD для Windows XP. Она позволяет пользователю устранить множество проблем и получить доступ к настройкам ОС, даже если сама Windows не загружается в режиме защиты от сбоев. Проверьте наличие ошибок в boot.ini и текущие права доступа к файлам и папкам: у группы пользователей System и Administrators должны быть полные права доступа к корневой директории системного диска и к файлу виртуальной памяти pagefile.sys.

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

В этом помогут утилиты от компании SysInternals (www.sysinternals.com): Registry Monitor – анализ обращений к реестру; File Monitor – мониторинг обращений к файлам; DllView – информация о библиотеках, используемых текущими процессами; OpenList – сведения обо всех открытых файлах; PortMon – обращения к портам; TCPView – информация о соединениях по протоколу TCP. Отображение информации обо всех запущенных программах лучше всего удается программе TaskInfo (www.iarsn.com). Она же покажет, сколько ресурсов центрального процессора потребляет каждое приложение.

А выяснить причину затора, возникающего при загрузке, можно с помощью известной диагностической утилиты BootVis (www.microsoft.com/whdc/hwdev/platform/performance/fastboot/BootVis.mspx, однако Microsoft ее больше не распространяет, поэтому пользуйтесь поиском). Проверьте систему комплексным диагностически-информационным пакетом SiSoft Sandra (www.sisoftware.demon.co.uk/sandra) или AIDA32 (www.aida32.hu/aida32.php).

– Удалите лишние шрифты, отключите все счетчики производительности, удостоверьтесь, что на диске отсутствуют папки и файлы с очень длинными именами или расширениями (220 знаков и более). Не используйте в работе с программами очень длинные параметры командной строки (220 знаков и более).

ОБОРУДОВАНИЕ
– Обновите все драйверы устройств (или удалите и поставьте заново драйверы проблемного устройства, а также драйвер устройства, к которому оно подключено), в особенности драйверы чипсета: Intel Chipset Software Installation Utility и Intel Application Accelerator (support.intel.com/support/chipsets/driver.htm) либо VIA-4-in-1 (www.viaarena.com/?PageID=66, плюс прочие драйверы и патчи от VIA, такие как VIA IRQ Routing Miniport Driver, VIA IDE Miniport driver и другие, в зависимости от конфигурации системы). Проверьте наличие специальных патчей и обновлений на сайтах производителей оборудования, а главное – материнской платы.

– Проверьте исправность оборудования, правильность установки перемычек, протестируйте его с помощью таких утилит, как Memory Test (www.aha.ru/~alegr/download/memtest.htm) или CPU Stability Test (www.saunalahti.fi/jv16/download.html). Проверьте все, вплоть до батарейки, напряжения блока питания и качества крепления материнской платы – случайных замыканий или ненадежных контактов не должно быть нигде!

Временно замените все модули памяти – именно она является тем устройством, которое сбоит чаще всего. Если это невозможно, попробуйте ограничить ее объем, например, первыми 64 Мб. В Windows XP для этого удобно использовать Утилиту настройки системы: параметр MAXMEM в файле boot.ini. Попробуйте более мощный блок питания – как ни странно, нехватка мощности очень часто является причиной сбоев Windows.

– Проверьте температуру и работоспособность устройств охлаждения всех компонентов системы, даже чипсета (на радиатор чипсета можно даже установить специальный вентилятор). Заземлите ПК, установите сетевой фильтр или источник бесперебойного питания. Проверьте качество телефонного кабеля, сетевого кабеля, электрической разводки.

– Удалите все дополнительные устройства из ПК (кроме жесткого диска и видеокарты, хотя иногда помогает и замена последней). Затем в режиме защиты от сбоев, используя диалог “Свойства системы” (System Properties), удалите их драйверы и посмотрите – не исчез ли сбой. Если исчез, то по очереди устанавливайте устройства обратно, каждый раз повторяя процедуру, обычно приводящую к появлению сообщения об ошибке: возможно, имеет место какой-то аппаратный конфликт, и таким способом либо вы выявите его источник, либо система заново распределит ресурсы и сама его устранит.

– Установите проблемное устройство в другой PCI-слот, в свойствах системы и утилите System Information (Program Files\Common Files\Microsoft Shared\MSInfo\msinfo32.exe) убедитесь в отсутствии конфликтов. Очень хороша для получения сведений о системе программа SiSoftware Sandra (www.sisoftware.demon.co.uk/sandra). Если ACPI отключен, попробуйте переназначить вручную конфликтующие прерывания (а возможно, и другие ресурсы, например каналы DMA или диапазоны I/O). Попробуйте заменить проблемное устройство на точно такое же или на устройство другой марки. Для дисков попробуйте другой шлейф: вместо 80-жильного – 40-жильный и наоборот.

Проверьте правильность установки перемычек Master/Slave, переставьте диск на другой шлейф, установите для него в CMOS Setup режим автоопределения, либо задайте его параметры явным образом, либо установите для него NONE. Не подключайте на один шлейф с проблемным диском другие устройства.

– Загляните в свойства проблемного устройства – возможно, там имеются настройки, использование которых устранит сбой (например, для диска отключите или включите режим DMA). Если компьютер не загружается, то доступ к этим меню попытайтесь получить в режиме защиты от сбоев (Safe Mode).

– В случае проблем с драйверами загрузите ПК в режиме защиты от сбоев, в “Диспетчере устройств” удалите проблемное устройство (а также все несуществующие устройства, даже джойстики) и после загрузки ОС в обычном режиме установите самый свежий драйвер. Впрочем, иногда более старый драйвер оказывается более стабильным, так что попробуйте разные версии. Учтите, что иногда сбой можно устранить, полностью выключив ПК и включив его вновь спустя несколько минут.

Если сбой имеет какое-то отношение к сети, то в “Свойствах сети” удалите все сетевые компоненты и после перезагрузки поставьте все необходимое заново. Удалите все принтеры (если с ними есть проблемы) и после перезагрузки переустановите их драйверы. Удалите все драйверы, не сертифицированные для Windows XP (проверить подписи системных файлов поможет утилита File Signature Verification, вызываемая из окна программы System Information). Если драйвер установился неудачно, либо используйте загрузку последней удачной конфигурации (загрузочное меню Windows вызывается нажатием пробела в самом начале загрузки системы), либо в свойствах системы сделайте откат к предыдущей версии драйвера.

ДЕЛО ПЛОХО
– Попробуйте переустановить Windows поверх предыдущей инсталляции. Все файлы восстановят свои исходные версии. (Учтите, что основные установки в реестре сохранятся. Так что если причина сбоя кроется в неверных параметрах реестра, такая переустановка, возможно, ничего не исправит.) В ряде случаев можно перед установкой из режима защиты от сбоев в диалоге “Свойства системы” (System Properties) удалить все оборудование, чтобы Windows заново переустановила все драйверы. Попробуйте также разные диски с дистрибутивом ОС – возможно, исходный диск поврежден.

– Полностью стерев папки Windows, Program Files, System Volume Information и Recycler (либо переразбив и отформатировав диск), установите Windows “по-голому”. Возможно, более работоспособной окажется Windows 2000 или Windows 98. Иногда требуется отформатировать диск специальной утилитой от производителя винчестера для полного его обнуления. В ряде случаев, например после некорректной работы программ типа Partition Magic, для устранения сбоя необходимо разбить диск заново с помощью стандартного fdisk.

ФИНИШ
– Обратитесь к специалистам или… попытайте счастья с Linux.