Объять необъятное никто не может .
В этой статье нет ответов на все вопросы , но есть советы по
исправлению неполадок . Материал я постараюсь подать максимально
просто и ясно . Но сначала я пофилософствую про ошибки ( выделено
знаком == ) . Мои мысли на этот счёт можно пропустить и читать
дальше .
========================================================
Вообще неисправность это отклонение от нормы . Получается , что
ситуация может быть нормальной и ненормальной . Но это будет
относительно вас и вашей системы . Для кого-то скрытие вкладки
или отключение меню будет ненормальным явлением , но для другого
- вполне закономерным . Кроме того , бывают ситуации , когда
намеренно что-то рушится . И это нормально . У меня не вызовет
удивление незагружаемая система , если заранее снести полпапки (
вызовет удивление , если она наоборот запустится ) . Выходит ,
любой баг - это нормально .
В тесте на
знание Windows №1 я задал вопрос , что будет если удалить
kernel32.dll . Думаю , многие не знают что это такое вообще . Но
некоторые знают , что это системная библиотека и при её
отсутствии система не загрузится ( будет циклически
перезагружаться ) . Выходит правильный ответ - циклическая
перезагрузка (кажется ответ №3 ) . Но только единицы поймут , что
разница между удалением и отсутствием есть (!) и для системных
файлов она велика ! Служба защиты файлов просто восстановит
копию библиотеки . Правильный ответ - ничего не произойдёт :
загрузка пойдёт дальше .
На этом и свои размышления прерву .
========================================================
Итак приступим .
Шаг 1 - сбор исчерпывающей информации о проблеме : после чего
появилась , собственно что представляет и с чем связана ( что
затронуло или чем было затронуто ).
Желательно знать код , описание бага , суть изменений перед его
появлением , к какому компоненту он принадлежит и как этот
компонент работает - это , пожалуй , самое сложное , зато самое
нужное . Шаг 2 - проведение анализа всей информации .
Тут играет большое значение опыт . Если проводник не запускается при логировании , можно подумать , что это :
- вирусы
- установлено не то значение в параметре Shell
- файл испорчен
- заблокрирован запуск
- ....
Проверяем компьютер на вирусы ( разными программами ) , ничего не
находим . Проверяем значение Shell и видим "explorer" ,
восстанавливаем файл на заведомо "нормальную" версию ,
разблокировываем запуск программ , ищем в реестре всё по
explorer ( подозрительного ничего нет ) и , в результате - ничего .
Проводник всё равно не запускается при входе в систему .
Но если ситуацию проанализировать ( проводник не запускается
только при входе в учётную запись , значит проблема не в файле
, а в параметрах ) и иметь опыт ( значение параметра Shell
"explorer" неправильное , должно быть "explorer.exe" , а если бы
даже было и так , то догадаться залезть в PATH ) , то легко
всё исправить . Шаг 3 - выработка решения.
Это шаг зависит от правильности первых двух . Хотя тут уже
нужен опыт . Пример : все программы "подвисают " ( запускаются
нормально , но работают медленно , хотя нагрузки на систему нет
) . Можно безуспешно проверять память ( то есть наоборот успешно
, и себе и вам пожелаю :) ) , переустаналивать программы ( но
все переустановишь ? ) , изучать журал на наличие сообщений типа
"Библотека N переместила в памяти библиотеку M" , восстанавливать
библиотеки и наконец решится переустановить систему от безысходности .
А можно поставить эксперимент - понаблюдать за работой программы
. Понять , что подвисает она при создании потока и знать , кто
отвечает за потоки ( csrss ) . Залезть в реестр и для значения
Windows раздела Subsystems подправить параметр MaxRequestThreads -
поставить в 16 .
Вот так иногда бывает . Шаг 4 - поиск способов , методов исправления .
Переустановка системы - вещь крайняя , иногда вообще недопустимая .
В 99% проблему можно исправить .
Допустим , испорчен раздел .exe и exefile и никакая программа не
запускается . Командная строка ( а вместе с ней и консольная
утилита reg ) отключена или заблокирована в реестре , сам
редактор тоже не запускается . Попытка исправить через добавление
reg-файл проваливается : для добавления всё равно нужен редактор
. Уловка с редактированием реестра через inf-файл тоже
проваливается - испорчен ( заблокирован ) rundll32.dll .
Казалось бы всё . Дальше некуда . Но даже в такой ситуации
можно найти выход - .exe и exefile отвечают за запуск Win32-
приложений . Но досовский формат com ( в смысле не format.com , а
тип исполняемого файла ) всё таки работает ! Вы можете возразить
, мол com программа не отредактирует реестр . Да это так . Но
нам не нужно , чтобы она редактировала реестр , главное - чтобы
она запускалась . Составляем reg-файл или у кого-то просим ,
копируем regedit.exe в regedit.com и даём команду regedit.com /s
exe.reg ( можно просто запустить и в нём подправить ) .
Просто , но со вкусом ;)