Показать полную графическую версию : Реально ли устроить мониторинг загрузки ОС из-под другой ОС?
Avatar-Lion
13-05-2015, 18:11
Попал мне в руки очередной ноутбук с убитой ОС (черный экран смерти). И возник у меня вопрос: а как в таких случаях можно включить мониторинг запуска системы? Чтобы понять на каком именно этапе все останавливается. Пока что в голову пришло только следующее: снять образ с HDD и разлить потом этот образ на виртуальную машину. По идее, виртуальные машины обходятся драйверами из состава Windows 7, так что загрузиться она должна. И в тот момент, когда дело дойдет до черного экрана - поставить виртуальную машину на паузу и сделать дамп памяти. Можно ли потом будет его чем-то открыть и посмотреть какой файл не найден \ поврежден? Просто удручает сама ситуация, что при наличии черного экрана смерти вернуть систему к жизни удается редко, т.к. абсолютно никаких (!) инструментов для отслеживания хода загрузки поврежденной системы Майкрософт не предусмотрела.
ruslan...
13-05-2015, 18:53
Можно ли потом будет его чем-то открыть и посмотреть какой файл не найден \ поврежден? »
Если получится создать дамп, подкрепите, попробуем посмотреть.
Avatar-Lion
13-05-2015, 23:03
Сделал Snapshot в VMware, потом конвертировал в dmp-формат. Дамп почему-то весит 2Гб (по объёму памяти виртуальной машины), хотя я сильно сомневаюсь, что там вся память забита. В общем, сжал по максимуму через WinRAR, получилось ~200Мб. http://178.173.19.2:1987/Additional/memory-Virtual-PC.rar - посмотрите. Если что-нибудь удастся полезное узнать, то сообщите, пожалуйста.
P.S. Если что, перед снятием образа с реального компьютера был chkdsk сделан, sfc /scannow тоже сделан - всё пучком, ошибок нет, но ОС не грузится.
ruslan...
14-05-2015, 01:07
Avatar-Lion,
Неполадки с железом.
Учитывая, что дамп, как не крути указывает на \SystemRoot\system32\DRIVERS\intelppm.sys
BUCKET_ID: 0x80_intelppm!C1Halt+3
То скорее всего неисправность процессора.
Если учесть, что процессор качественный - Intel(R) Core(TM) i7 CPU 970 @ 3.20GHz,
но разогнанный:
Expected Frequency: 3200
Actual Frequency: 3612
Overclock Ratio: 1.12
Остается зайти в BIOS, сбросить настройки по умолчанию,
перезагрузиться в BIOS и определить разогнан процессор или этот эффект дает неисправность.
Заодно просмотрите температуры и вольтаж.
Avatar-Lion
14-05-2015, 10:18
ruslan..., Э-э... Вы, видимо, не прочитали то, что я выше писал... Дамп снят с виртуальной машины. Виртуальная машина развернута на моей рабочей станции (полный конфиг см. в профиле у меня, но i7-970 там действительно есть). Но на исходном ноутбуке (откуда снимался образ дохлой Винды) вообще другой процессор (тоже Intel, но какой-то мобильный Pentium, если ничего не путаю). Так что да, вполне возможно, что после переноса дохлой системы (с клиентского ноутбука) на виртуальную машину (работающую на моем компе) что-то не дозагрузилось или не доустановилось. Я ведь только IDE-драйвер включил в реестре, дабы избежать стоп-кода 7В при старте дохлой ОС на виртуалке. Все прочие драйвера грузятся так же, как они грузились на ноуте. Сейчас на всякий случай скопировал intelppm.sys на ноут с другого компа, но ОС по-прежнему не грузится...
ruslan...
14-05-2015, 11:27
Avatar-Lion,
Ну что же, другого ничего я в дампе не увидел. Возможно кто-то еще, что-то скажет.
Сейчас на всякий случай скопировал intelppm.sys на ноут с другого компа »
Это не поможет. Если дамп объективен, то проблема железная.
Avatar-Lion
14-05-2015, 11:31
ruslan..., Насчет дампа у меня никакой уверенности нет. В конце концов, я вообще не представляю в какой момент надо ставить виртуальную машину на паузу и делать снимок. Винда ведь никак не показывает что она "застопорилась" и что надо вот сейчас делать дамп...
Кстати, в похожей (http://forum.oszone.net/post-2282604-28.html) теме у человека были дампы с самого lsass.exe. У меня ничего похожего нет. Почему у него система делала дампы? Можно ли это как-то принудительно включить, чтобы узнать на каком именно файле загрузка прекращается?
ruslan...
14-05-2015, 11:46
Насчет дампа у меня никакой уверенности нет. »
Дамп указывает действительно на железные проблемы с сноской на intelppm.sys .
Но легко сказать: "Замените процессор".
Поэтому я копнул глубже, здесь видимо сказался процесс создания дампа, раз указал на Ваш процессор.
У меня ничего похожего нет. Почему у него система делала дампы? »
Petya V4sechkin же сказал: " Вам невероятно, сказочно повезло найти эти дампы :) "
Поищите, возможно где-то в системе создаются эти дампы.
Avatar-Lion
14-05-2015, 12:02
ruslan..., Я поиск по всему харду запускал по .dmp - ничего, только всякий хлам от браузера и Аваста. А вообще, кстати, по какому принципу система (возьмем за основу обычную здоровую Винду) может создать дамп для конкретного файла? Что для этого надо сделать?
ruslan...
14-05-2015, 12:06
может создать дамп для конкретного файла? Что для этого надо сделать? »
Включение записи дампов памяти (http://forum.oszone.net/thread-93436.html)
Avatar-Lion
14-05-2015, 20:42
На клиентском ноутбуке пришлось переустановить Windows, т.к. третий день уже пошёл, а это не есть хорошо. Но зато осталась дохлая Винда на виртуальной машине... В общем, я включил в реестре возможность для ручного вызова BSOD, загрузился и после появления курсора на черном экране подождал примерно полминуты. Виртуальная машина стоит на SSD, поэтому этого времени ей точно должно было хватить для того, чтобы в память загрузилось всё, что только могло загрузиться. Затем нажал Ctrl + 2 x Scroll Lock. Получил BSOD со стоп-кодом E2, который таки записал мне memory.dmp: http://178.173.19.2:1987/Additional/MEMORY-BSOD-E2.rar
P.S. Сам я уже ни на что особо не надеюсь, т.к. у меня попросту не осталось больше идей как еще можно вытащить информацию о неполадках из системы с черным экраном смерти. Если и этот дамп ничего толкового не покажет, придётся-таки смириться с тем фактом, что есть нерешаемые проблемы...
ruslan...
14-05-2015, 21:39
Avatar-Lion,
Дамп указывает на \SystemRoot\system32\drivers\i8042prt.sys
Если не ошибаюсь порт PS/2, клавиатура или мышь.
83969b80 8f3ac160 000000e2 00000000 00000000 nt!KeBugCheckEx+0x1e
83969bb0 8f3ac768 00cffd30 969bf0c6 00000000 i8042prt!I8xProcessCrashDump+0x251
83969bfc 8387ae4d 86b39500 86cffc78 83969c28 i8042prt!I8042KeyboardInterruptService+0x2ce
83969bfc 9009a5d6 86b39500 86cffc78 83969c28 nt!KiInterruptDispatch+0x6d
83969c98 838c0916 86f1b4d8 83976380 8396cc00 intelppm!C1Halt+0x4
83969d20 838b83cd 00000000 0000000e 00000000 nt!PoIdle+0x524
83969d24 00000000 0000000e 00000000 00000000 nt!KiIdleLoop+0xd
Но с помощью i8042prt, вы наверное вызвали ошибку.
Если учесть это, то в глаза мне бросается только это:
0xffffffff`83969c2c 0xffffffff`9009a5d6 intelppm!C1Halt+0x4
0xffffffff`83969c40 0xffffffff`8387b788 nt!__InterlockedDecrement+0x0
0xffffffff`83969c58 0xffffffff`9001d9ce USBPORT!USBPORT_Xdpc_Worker+0x173
0xffffffff`83969c70 0xffffffff`8396e600 nt!KiInitialPCR+0x1a00
Копните в сторону USB драйверов \SystemRoot\system32\DRIVERS\USBPORT.SYS
Avatar-Lion
15-05-2015, 00:07
ruslan...,
Удалил USBPORT.SYS - ничего не изменилось. Кстати, у меня такой вопрос: раз нельзя отследить активность lsass.exe на дохлой системе, то как тогда узнать какие библиотеки загружает lsass.exe? Я пробовал на своей рабочей ОС через Process Explorer смотреть, но он показал, что с lsass.exe в памяти связаны лишь lsasrv.dll и ntdll.dll. Наверняка же lsass.exe куда больше должен компонентов грузить в память при старте. Как этот список загружаемых файлов тогда узнать можно? Помню, во времена Windows XP я пользовался утилиткой BootVis (или как-то так) для отслеживания времени загрузки ОС, но она не умела вроде смотреть кто и что грузит. Чем можно такой список на здоровой Windows 7 составить?
ruslan...
15-05-2015, 00:15
Avatar-Lion,
По моему мы зайдем далеко и не туда :)
У меня такое предложение.
Косвенно понятно, что дело в системных драйверах.
Попробуйте по - экспериментировать. Возможно и поможет. Терять-то уже по моему нечего.
Только запоминайте где проводили изменения на случай возврата.
Как поменять материнскую плату - без переустановки Windows 7 (http://kampc-help.ru/index.php/stati/optimizatsiia/zamena-materinskoy-platy.html)
Avatar-Lion
15-05-2015, 00:19
ruslan..., Почему не туда? Мне кажется, это логично: узнать какие файлы подгружает lsass.exe на типичном компьютере и скопировать их в дохлую ОС. Неужели и на здоровой системе это невозможно???
По поводу вашей ссылки: это тут не причем. Дохлая ОС на виртуальной машине грузится до курсора, а значит, драйвер на виртуальный SATA-контроллер работает нормально, иначе бы я получил стандартный стоп 7В. Или вы предлагаете вынести вообще все драйвера из system32\DRIVERS?
ruslan...
15-05-2015, 00:27
узнать какие файлы подгружает lsass.exe на типичном компьютере и скопировать их в дохлую ОС. »
Но Вы же написали, что проверка целостности прошла успешно ? Дело ведь может быть в реестре, не в файлах.
Или вы предлагаете вынести вообще все драйвера из system32\DRIVERS? »
Да ... не знаю, что предлагаю, но что-то в этом духе, тем более, что упоминается intelppm. Не понятно от Вашей системы или от убитой.
Не берусь утверждать и не знаю точно, может стоит в поисковиках поискать... чисто теоритически... возможно ли "ручками" прописать в реестре ранний запуск Procmon'а с его умением логгировать этап загрузки ОС. Тут конечно следует уточнить пишет ли Свой RAW он в памяти или же на диск и возможно ли его смаппить/считать в не оконченном виде. При удачном расскладе в Ваших руках окажутся и логи доступа к реестру/ФС.
Avatar-Lion
15-05-2015, 10:45
ruslan..., Да, проверка целостности прошла успешно. Вернее, сначала он жаловался на некоторые файлы, их я ручками перенес с другого компа и повторная проверка уже показала, что все ОК. С реестром еще проще: скопировал все кусты из RegBack. По поводу драйверов: хорошо, вечером попробую грохнуть все файлы в той папке.
NickM, Я про это сразу подумал. К сожалению, все известные мне методы запуска приложений происходят ПОСЛЕ входа в систему. А тут проблема вся в том, что именно ДО входа надо записать. Тем более что я Process Monitor не до такой степени знаю, чтобы всё автоматизировать. Я попробовал сейчас на здоровой системе включить отслеживание загрузки. Это надо его запустить, поставить галочку, затем комп перезапустить. После загрузки нужно его снова запустить, ответить на пару вопросов - и только тогда он сделает лог. Я понятия не имею какие ключи могут отвечать за автоматизацию таких действий. Если они вообще существуют...
Вообще, конечно, интересно как Майкрософт сама тестирует свои системы. Вряд ли же они с первого раза пишут идеальный код. Следовательно, каким-то образом возможно делать лог загрузки ОС, в том числе не загружающейся. Но они таких инструментов в свободный доступ почему-то не выкладывают.
Попробовал, кстати, заменить на дохлой Винде файлы lsasrv.dll, lsasrv.dll и ntdll.dll - Винда сдохла окончательно, свалившись при старте в специфический синий экран: STOP-код c0000145.
---
Запустил отслеживание загрузки на здоровой Винде. До того, как будет запущен userinit.exe, lsass.exe читает следующие библиотеки (Windows 7 "Ultimate" 32-bit, может, пригодится кому-нибудь):
C:\Windows\System32\sspisrv.dll
C:\Windows\System32\lsasrv.dll
C:\Windows\System32\samsrv.dll
C:\Windows\System32\cryptdll.dll
C:\Windows\System32\msasn1.dll
C:\Windows\System32\wevtapi.dll
C:\Windows\System32\rpcrt4.dll
C:\Windows\System32\cngaudit.dll
C:\Windows\System32\authz.dll
C:\Windows\System32\ncrypt.dll
C:\Windows\System32\bcrypt.dll
C:\Windows\System32\advapi32.dll
C:\Windows\System32\msprivs.dll
C:\Windows\System32\netjoin.dll
C:\Windows\System32\negoexts.dll
C:\Windows\System32\kerberos.dll
C:\Windows\System32\cryptsp.dll
C:\Windows\System32\ws2_32.dll
C:\Windows\System32\nsi.dll
C:\Windows\System32\mswsock.dll
C:\Windows\System32\wship6.dll
C:\Windows\System32\msv1_0.dll
C:\Windows\System32\netlogon.dll
C:\Windows\System32\dnsapi.dll
C:\Windows\System32\logoncli.dll
C:\Windows\System32\schannel.dll
C:\Windows\System32\crypt32.dll
C:\Windows\System32\wdigest.dll
C:\Windows\System32\rsaenh.dll
C:\Windows\System32\TSpkg.dll
C:\Windows\System32\pku2u.dll
C:\Windows\System32\bcryptprimitives.dll
C:\Windows\System32\efslsaext.dll
C:\Windows\System32\credssp.dll
C:\Windows\System32\scecli.dll
Список представлен не в алфавитном порядке, а именно в том виде, в каком он был указан в логе Process Monitor. Узнать бы еще что из этих файлов SFC считает нужными, дабы сразу исключить их из списка подозреваемых... Хотя согласно этой утилите (http://www.itsamples.com/system-files-lister.html) они все защищены.
а случаем там сторонний крипторовайдер в системе не установлен?
Avatar-Lion
15-05-2015, 12:18
NickM, Без понятия. Но ноутбук домашний, пользуется им пенсионерка, так что вряд ли.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.
Available in ZeroNet 1osznRoVratMCN3bFoFpR2pSV5c9z6sTC