![]() |
ПУТЕШЕСТВУЕМ к ядру
ПУТЕШЕСТВИЕ к ядру Windows
Причиной написание етой статье стали "синие экраны" винды. Юзаю я висту от недавно. Когда попытался поставить VertigoServ сразу улетел в бсод. "Мдаааа" - подумал я. И забил на вертиго. Но не тут - то было. Подключая флеш драйв винда опять улетела в бсод.(при загрузке компа) Начало путишествия к ядру Windows Вытянул нафиг мою "пахучую" флэшку из компа, и норм загрузился, увидил родной робочый стол. Ура :)
Прочел о "Состоянии устройства". Оказалось, что : "устройство отсутсвует, работает неправильно, либо на него не установлены все драйверы."
Я быстренько набрал в комманд строке: Код:
sigverifВот и появились наши неподписаные драйвера. решил сохранить их в лог файл(мб пригодяться :D ). (Дополнительно --- Ведение журнала ----- просмотр журнала)
Теперь можна проверить все драйверы без подписи, и выявить дефективные. Поможет нам утилита verifier. Запускаем из цмд Код:
verifierНекст степ: "Автоматичиске выбрать неподписаные драйвера" звучит заманчево. Но этот список не похож на тот, который мы достали из утилиты sigverif. Так что выбираем: "Выберете имя драйверов". Выбираем, сравниваем с логом, который сохранили(вот и пригодился). Перезапустили ПК. ПУТЕШЕСТВИЕ к ядру Опять подключил флэху, и снова БСОД! :( .Сообщение: Цитата:
Код:
verifier /resetОткрываем свойства "моего компютера". далее "дополнительно --- параметры --- загрузка и восстановление" Отключаем режим "выполнить автоматическую перезагрузку", выбрать из списка "дамп памяти ядра". Чтобы поймать нашие "плохие дрова" нужно спровоцировать винду на ищо один бсод. Опять запускаем verifier. но в качестве проверки пределяем "особый пул". (В этом случае драйверам выделяеться определенная область памяти. Если драйвер выходит за его пределы, появляеться бсод, и винда регистрирует этот момент.)
Чтобы прочитать дамп памяти необходима утилита - Debugging tools for windows.(microsoft.com/whdc/devtools/debugging.In-stallx86.mspx). Скачиваем (15мб около) и устанавливаем. Запускаем утилиту WinDbg необходимо скачать символы, которые потребуються чтения дампа ядра. Качать только нужное будем так: (cmd) Код:
SRV*C:\Symbols\*http://msdl.microsoft.com/download/symbolsНужно открыть дамп. Цитата:
Цитата:
Находим строку : Цитата:
Хм. ВинДбг не розказал нам имя драйвера. Пробуем узнать с помощю команды: Код:
!analyze -vЦитата:
Цитата:
Если названия функций в верхних начинаються не с Цитата:
вводим команду: Код:
!threadНаконец-то. Утилита выдала етот список. Быстренько копируем шеснадцатеричное число в комманд.строку, и перед нима добавляем !irp Цитата:
Возвращаемся Опять проверил драйверы устройств, только что обнаруженные с помощю WinDbg, програмой DriveMax. Инсталировав, и запустив эту утилиту, я выяснил, какая версия деф. драйверов используються. оказалось, что драйвер usb накопителя устарел.Пошол прямо на хоумпагу разработчика. Драйвер 2 это вообще особый случай. driveMax его не нашел. гугля разказала что драйвер не относиться к апаратным, а к защите от копирование под названием Starforce. (Stalker наверно помешал моей винде. :D ) обновил драйвер, и всё норм! спс чипу, пережыл тоже что и он. |
| Время: 05:28 |