Как профилировать длительную инициализацию сеанса во время процесса загрузки в Windows 8?

286
Dims

Мой компьютер начал загружаться в течение 10 минут. Он имеет системный диск SSD и загружался в течение 15 секунд ранее.

Можно ли узнать, что он делает за это время? Задержка происходит до появления экрана входа. Я имею в виду то, что я наблюдаю в течение долгого времени, это анимация Windows в виде вращающихся точек. После появления экрана входа компьютер работает быстро. Т.е. мне нужно детализировать то, что происходит ДО экрана входа в систему, а не автозапуск программ более поздних этапов.

Это началось внезапно сегодня. Первый компьютер зависал очень сильно: он гудел при движении мыши. Очень редкий вид зависания. Я сильно перезагрузил его, и он начинает загружаться очень медленно.

Также он больше не может автоматически перезагружаться. Одновременно, при перезагрузке, я вижу мигание экрана, означающее перезагрузку материнской платы (?) Это заставляет меня думать, что это аппаратная проблема.

ОБНОВИТЬ

Инструменты производительности Windows показывают, что медленный процесс происходит на этапе Session Init. Вероятно smss.exe, несет ответственность за это.

enter image description here

Просто очевидно, что «сеанс инициации» занимает огромное время.

ОБНОВЛЕНИЕ 2

Просмотр событий Просмотр событий -> Журналы приложений и служб -> Microsoft -> Windows -> Диагностика - производительность -> Эксплуатация -> Код события 100 <-

Также указывает на то, что сессия init виновна:

BootTsVersion 2  BootStartTime 2015-04-09T22:16:20.819659700Z  BootEndTime 2015-04-09T22:23:40.863859000Z  SystemBootInstance 154  UserBootInstance 150  **BootTime 377549**  **MainPathBootTime 347049**  BootKernelInitTime 39  BootDriverInitTime 517  BootDevicesInitTime 599  BootPrefetchInitTime 0  BootPrefetchBytes 0  BootAutoChkTime 0  **BootSmssInitTime 334923**  BootCriticalServicesInitTime 276  BootUserProfileProcessingTime 3399  BootMachineProfileProcessingTime 639  BootExplorerInitTime 4687  BootNumStartupApps 47  BootPostBootTime 30500  BootIsRebootAfterInstall false  BootRootCauseStepImprovementBits 0  BootRootCauseGradualImprovementBits 0  BootRootCauseStepDegradationBits 0  BootRootCauseGradualDegradationBits 0  BootIsDegradation false  BootIsStepDegradation false  BootIsGradualDegradation false  BootImprovementDelta 0  BootDegradationDelta 0  BootIsRootCauseIdentified false  OSLoaderDuration 600  BootPNPInitStartTimeMS 39  BootPNPInitDuration 1146  OtherKernelInitDuration 795  SystemPNPInitStartTimeMS 1932  SystemPNPInitDuration 350  SessionInitStartTimeMS 2292  Session0InitDuration 1751  Session1InitDuration 181  **SessionInitOtherDuration 332991**  WinLogonStartTimeMS 337216  OtherLogonInitActivityDuration 1108  UserLogonWaitDuration 6582  

ОБНОВЛЕНИЕ 3

Нашел такое же решение, как и здесь: зависание загрузки Windows 8.1 (~ 120 с) в «Session Init»

ОБНОВЛЕНИЕ 4

Спасение с отключением гибернации и последующим включением помогло с медленной загрузкой, но не помогло с зависанием перезагрузки.

0
Это гораздо проще, чем в этой, предположительно, той же теме. Но так как они закрыли эту ветку, я не могу опубликовать метод. Димс, пришлите мне в личку. whs 9 лет назад 0
@ которые не видят возможности отправлять посты здесь :) Dims 9 лет назад 0
Вы правы. Я только что узнал это сам. Я опубликую свое предложение в этой другой теме. whs 9 лет назад 0
"session init" = инициализирует реестр, загружает и запускает устройства и драйверы, которые не помечены как BOOT_START, и запускает процессы подсистемы. если вы регистрировали данные с флагом DRIVERS, ищите драйвер, который загружается медленно. magicandre1981 9 лет назад 0
@ magicandre1981 Итак, как узнать, если это, например, повреждение оборудования SSD или программное повреждение файлов реестра? Dims 9 лет назад 0
это не может быть обнаружено через xperf / xbootmgr / WPRUI. Захватите след перезагрузки и посмотрите, что происходит во время выключения: http://pastebin.com/pFVV8Xt7 magicandre1981 9 лет назад 0

0 ответов на вопрос