Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Microsoft Windows 10 (http://forum.oszone.net/forumdisplay.php?f=118)
-   -   [решено] Виснет служба "Диспетчер настройки устройств" (http://forum.oszone.net/showthread.php?t=353020)

Avatar-Lion 10-02-2023 00:45 3002798

Виснет служба "Диспетчер настройки устройств"
 
Конфиг ПК: Pentium E6700, 2Gb RAM, HDD 250Gb, Win10 "Home" 22H2 (32-bit).

Предыстория: система не грузилась со стоп-кодом INACCESSIBLE_BOOT_DEVICE. Загрузился с LiveCD и увидел, что диск С: превратился в кашу (файловой системы нет). ChkDsk C: /f /r долго думал и в итоге файловую систему починил, но количество удаленных и восстановленных записей было каким-то поистине запредельным. Лог не сохранил, каюсь, да и подумал тогда, что смысла в этом нет, т.к. после таких повреждений система чаще всего умирает в ноль. К моему удивлению, S.M.A.R.T. диска не показал ни одного переназначенного или нестабильного сектора, светился лишь счетчик CRC-ошибок, но судя по тому, что данный атрибут S.M.A.R.T. восстановился до исходного значения, было это очень давно и к нынешней проблеме отношения не имеет. Предыстория проблемы неизвестна, но недавно в городе мигал свет, скорее всего, это последствия того инцидента.

После ChkDsk система по-прежнему не грузилась, стоп-код был все тот же. Попытался откатиться к контрольной точке через среду восстановления, но их не оказалось. Слава богу, это я ставил Windows когда-то на этот комп и тогда же подстелил себе соломки на будущее... Короче, после замены кустов SOFTWARE и SYSTEM из RegBack система успешно загрузилась. Сразу же полез в настройки контрольных точек, но "Защита системы" хоть и работала, но по факту места было занято пару сотен килобайт. Стало быть, контрольных точек реально не было. Уж не знаю, ChkDsk их вынес или юзеры покопались, но факт остается фактом - это уже не первый раз, когда система оказывается без контрольных точек. Ну да ладно... В общем-то, нареканий к работе ОС нет, за исключением одного: "Узел службы: локальная система" грузит одно ядро процессора на 100%. Пробовал ждать около часа, но нагрузка так и не пропала. Устройства из Диспетчера устройств удаляются и устанавливаются нормально, но в Панели управления в окне с принтерами и прочими железками у половины устройств висит иконка с часиками, при этом на удаление и прочие действия нет никакой реакции. Ну, оно как бы и понятно, служба-то висит...

Process Explorer показал, что нагрузка идет от службы DsmSvc (Диспетчер настройки устройств), запускается она как дочерний процесс svchost (скриншот №1). Попытка остановить эту службу ни к чему не привела, окно остановки службы долго висело, после чего вывалилась стандартная ошибка про невозможность остановки службы и т.д. Если отключить службу и перезагрузить комп, то все ОК, нагрузки нет. Если запустить службу после этого вручную, то опять появляется вечная загрузка одного ядра.

Начал копать дальше. Кнопка Stack в Process Explorer показала любопытную картину: ntoskrnl помечен как UnexpectedInterrupt (скриншот №2). DISM /RestoreHealth сказал, что чего-то там успешно восстановил. SFC тоже чего-то успешно восстановил. Повторный запуск SFC поврежденных файлов не находит. Пробовал смотреть размеры связанных библиотек (combase.dll, devicesetupmanager.dll и т.д.) и сравнивать их с размерами файлов-копий в WinSxS, но никаких отличий не обнаружилось, да и вряд ли SFC или DISM пропустили бы какие-то расхождения. Удалил на всякий случай setupapi.dev.log, удалил клаву, обновил список устройств - все ОК, в свежий setupapi.dev.log записалась инфа об успешной установке устройства. Ну это как бы ожидаемо, так-то подключенная клава, мышь, монитор работают нормально, это только Панель управления считает, что идет их установка, раз иконка с часиками висит.

Попробовал использовать Process Monitor, но оказалось, что запуск DsmSvc невозможно отследить, это не имя процесса, ну а записей от основного процесса (svchost) там по понятным причинам выше крыши. Пробовал просто открывать штатный монитор ресурсов в надежде, что он покажет открытые файлы, но после долго ожидания там практически ничего не осталось, только всякие стандартные "Журнал тома", "Основная таблица файлов" и т.п. В журнале системы и приложений ничего тревожного нет, болтается только несколько предупреждений, которые едва ли относятся к проблеме (Ошибка обработки события уведомления из-за недоступности подписчика уведомлений winlogon <GPClient>, Параметры разрешений для конкретного приложения не дают разрешения Локально Запуск для приложения COM-сервера с CLSID Windows.SecurityCenter.WscDataProtection).

В общем, я в тупике. Есть служба, которая жрет ресурсы процессора, но я не знаю как отследить куда она обращается при своем запуске. При этом очевидно, что где-то есть какие-то ошметки поврежденных файлов, из-за которых все стопорится. Очистил на всякий случай каталоги Temp (пользовательский и системный), но это результата не дало. Быть может, есть еще какие-то способы мониторинга служб Windows?

Petya V4sechkin 10-02-2023 19:18 3002859

Avatar-Lion, например, в стеке фигурирует DeviceMetadataRetrievalClient.dll - device metadata упоминается в этой теме (там причины были в блокировании доступа к серверам Microsoft).

Или могут быть повреждены:

Avatar-Lion 10-02-2023 19:37 3002860

О, супер! Очистил полностью папку DeviceMetadataCache, перезагрузился - и всё пришло в норму. Теперь в панели управления красота: у новых устройств пропали иконки с часиками, удаление тоже осуществляется нормально. Спасибо.


Время: 04:50.

Время: 04:50.
© OSzone.net 2001-