Автоматические службы не запускаются автоматически после перезапуска Windows

25

У меня Windows 10 построен 1511 со всеми обновлениями.

Сегодня я заметил странное поведение:

после перезагрузки системы некоторые службы с типом запуска «Автоматически» не запускаются автоматически.

Но я могу запустить их вручную, и после этого все в порядке. Но если я сделаю перезагрузку системы, проблема появится снова.

Если я запускаю службу вручную и после завершения работы все в порядке, когда я снова включаю компьютер. Таким образом, сервисы запускаются автоматически, как и должно быть. Проблема появляется только при перезагрузке Windows. После перезапуска эти службы не запускаются автоматически.

Эта проблема возникает только для некоторых служб, которые связаны с приложениями (не те, которые являются системными службами). Эти услуги не зависят от других услуг.

Что я могу сделать ?

Спасибо !

Алекс
источник
Может быть, вы могли бы привести примеры таких служб, которые не запускаются. Трудно догадаться, в чем проблема, без каких-либо подробностей.
DXIV
4
Если тебе от этого становится лучше, ты не единственный. У меня точно такая же проблема. Услуги являются 32-битными. Пользовательское программное обеспечение установлено довольно давно. Итак, настройка WOW64 включена, включена. Я могу запустить службы вручную, но с момента обновления с Windows 7 до Windows 10 ОС не предпринимает никаких попыток запустить службы. Их файлы трассировки ничего не показывают, а журнал событий не показывает ни попыток их запуска, ни каких-либо проблем с ними. Это очень расстраивает. Автоматическая задержка - паршивая опция, но я думаю, что пока это все ...
Брайан Б.
Смотрите также здесь: stackoverflow.com/questions/33238665/…
RenniePet
Для меня, когда возникла эта проблема, изменение «Эта учетная запись» в «Свойствах> Вход в систему» ​​для службы на имя сети в форме «MyDomain \ MyUser» из «MyUser@MyDomain.xxx.yy» решило проблему, хотя у меня нет объяснения почему.
MBWise

Ответы:

11

Единственное решение, которое работает на данный момент, - это изменить тип запуска этих сервисов с автоматического на задержанный. Я не знаю, является ли это лучшим решением, но пока это единственное, что работает.

Алекс
источник
Если вас устраивает regedit, я обнаружил, что, пока у службы есть ключ DelayedAutostart (DWORD), он будет запускаться. Поэтому я добавил это, но установил значение 0, так как я не хотел, чтобы оно было отложено. Пример: HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ <yourServiceName> \ DelayedAutostart
Брайан Б
Я также нашел тему в Microsoft technet , social.technet.microsoft.com/Forums/windows/en-US/… В этом потоке OP говорит, что вы также можете использовать «перезапуск при сбое» в качестве обходного пути.
RenniePet
6

Мой предыдущий ответ не решил нашу проблему. В конце концов, мы исправили это, установив более длительное время для служб. Попробуйте это решение:

Перейдите в Пуск> Выполнить> и введите regedit

Перейдите к: HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control

Выбрав управляющую папку, щелкните правой кнопкой мыши на панели справа и выберите новое значение DWORD.

Назовите новый DWORD: ServicesPipeTimeout

Щелкните правой кнопкой мыши ServicesPipeTimeout и выберите команду «Изменить».

Нажмите «Десятичная дробь», введите «180000» и нажмите «ОК».

Перезагрузите компьютер

Причина:

Диспетчер управления службами Microsoft Windows контролирует состояние (то есть запущен, остановлен, приостановлен и т. Д.) Всех установленных служб Windows. По умолчанию диспетчер управления службами ожидает ответа службы в течение 30 000 миллисекунд (30 секунд). Тем не менее, определенные конфигурации, технические ограничения или проблемы с производительностью могут привести к тому, что запуск службы и подготовка отчета о работе в диспетчере управления службами займет более 30 секунд.

Путем редактирования или создания значения DWORD ServicesPipeTimeout период ожидания Service Control Manager может быть переопределен, что дает службе больше времени для запуска и подготовки отчета для службы.

Контрольный случай:

Ошибка сервера отчетов 1053: служба не ответила на запрос запуска или управления своевременно

https://social.technet.microsoft.com/Forums/windows/en-US/b57ee42d-42ef-44a4-9670-be9088dbf9d4/reporting-server-error-1053-the-service-did-not-respond-to- заместитель запуска или-контроль-запрос-в-своевременный? форума = sqlreportingservices

Удачи Это источник исправления

Майкл ван дер Хорст
источник
2

Вы можете изменить запуск с «Автоматический запуск» на «Автоматический» с помощью команды: sc triggerinfo w32time delete

Теперь сервис может запускаться автоматически после перезагрузки

Ахмед Халед
источник
Пытаясь понять: это новая идиотская «особенность» Windows или она существовала давно? Оказалось, что мои критически важные для бизнеса серверы не синхронизировались с ntp-сервером, потому что служба времени Windows внезапно изменила тип запуска с автоматического на автоматический запуск (запуск триггера) и, конечно, любая попытка запланированной задачи синхронизировать время не удалась.
Анатолий Алексеев
1

Что ж, Windows может остановить эти службы, если они не нужны или если есть инструкция, чтобы остановить службу после того, что она делает. Некоторые сервисы зависят от других сервисов, и они будут запускаться только при первом вызове.

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

Вы также можете найти дополнительную информацию о том, как работает сервис здесь .

Если вы не замечаете, что ваш компьютер не работает должным образом, это действительно не должно быть проблемой.

axys93
источник
3
Извини, друг, но, возможно, ты не понял, о чем я говорю. Эти службы имеют тип автоматического запуска и не являются системными службами. Они устанавливаются после установки некоторых приложений. Работают очень хорошо. Если я закрываю окна и включаю, эти службы запускаются автоматически, и все работает нормально. Но проблема появляется, если я перезагружаю окна. После перезапуска эти сервисы не запускаются автоматически, а связанные с ними приложения не работают. Я могу запустить вручную, и все работает нормально, пока я не сделаю еще один перезапуск и проблема не появится снова.
Алекс
Хм, я думаю, вы действительно должны взглянуть на регистратор событий, чтобы увидеть, генерирует ли сервис какие-то ошибки. Таким образом, вы можете открыть его и искать сообщения рядом с тем временем, когда вы перезагрузили компьютер. Если они преждевременно останавливаются из-за ошибки, там можно найти описание или код этой ошибки, и мы сможем лучше понять, в чем заключается настоящая проблема.
axys93
1
Нет, нет ошибок в Event Logger. Там нет журнала, которые описывают преждевременную остановку. Сервис просто не запускается. Кажется, что если я перезагружаю Windows 10, система просто игнорирует тип Автоматического запуска этих Сервисов.
Алекс
1
@alex Ваша ссылка ссылается на ветку обсуждения на technet , где отмечается, что в журнале событий есть запись, указывающая, что службе не удалось запуститься ( "The SQL Server (MSSQLSERVER) service failed to start ..".). Это сильно отличается от вашего требования The service doesn't fail to start. С риском повторения, ваш вопрос остается без ответа, как есть сейчас, без каких-либо подробностей.
августа
1
@alex Это не моя ссылка. Вы даже читали ссылку, которую вы разместили? Второй абзац говорит, The issue is reported on below MSDN thread https://social.technet.microsoft.com/Forums/sqlserver/en-US/bb5f2199-f283-4249-a029-53978d637148/sql-service-stops-working-after-windows-10-upgrade?forum=sqldatabaseengineчто именно там я и процитировал. В любом случае, на данный момент я оставлю это другим, чтобы они могли догадаться, в чем проблема, без какой-либо помощи с вашей стороны.
DXIV
1

У меня такая же проблема. Службы не перезапускались автоматически после перезапуска машины. Причина в том, что кнопка выключения Windows 10 не означает (в отличие от Windows 7) выключение, но может рассматриваться как резервная, если конфигурация «Установить кнопки питания» является такой.

В этом случае, если службы были остановлены, они остаются таковыми. Если они были запущены, они продолжают работать без перезапуска (без инициализации). Жан-Мари

ЖАН-МАРИ
источник
Как вы к этому пришли? Можете ли вы предоставить какой-либо источник?
Марк
1

Что это исправило для нас, если вы можете изменить исполняемый файл службы самостоятельно:

В файле проекта измените 32-битный флаг Prefer на false , затем переустановите службу.

Проверьте свой сервис с CorFlags.exe . 32BITREQ и 32BITPREF должны быть 0.

Version   : v4.0.30319
CLR Header: 2.5
PE        : PE32
CorFlags  : 0x1
ILONLY    : 1
32BITREQ  : 0
32BITPREF : 0
Signed    : 0
Майкл ван дер Хорст
источник
Знаете ли вы, как установить флаг предпочтения в Visual Studio 2010?
Нил Вайхер
Нет, не могу, но вы можете проверить ваш файл csproj, он должен содержать <Prefer32Bit> false </ Prefer32Bit> в вашей группе свойств Release.
Майкл ван дер Хорст
0

Попробуйте с этим:

Выполните следующую команду, чтобы определить событие триггера, соответствующее вашей среде. В этом примере команда определяет, назначен ли IP-адрес хосту, а затем запускает или останавливает службу.

sc triggerinfo w32 время запуска / сеть в сети / сеть отключена

где w32Time - название вашей службы

или попробуйте это

https://support.microsoft.com/en-us/kb/922918

Фернандо Диас Толедано
источник
Пожалуйста, внимательно прочитайте вопрос. Ваш ответ не отвечает на оригинальный вопрос.
Дэвид Постилл
столкновение с чем-то подобным отложенным запуском также не так эффективно, как улучшение, помогает информация о триггере.
Амританшу
0

Попробуйте с помощью следующей команды:

sc config "SVCNAME" start= delayed-auto
BattleTested
источник
0

Если у кого-то все еще есть проблема об этом: NSClient version 0.5удалено обнаружение триггера из состояния сервиса по умолчанию. Мы должны добавить это вручную:

*your_command* check_service -a "filter=is_trigger=0" *other_arguments* 
лудо
источник
0

Смотрите комментарий от MBWise:

Для меня, когда возникла эта проблема, изменение «Эта учетная запись» в «Свойствах> Вход в систему» ​​для службы на имя сети в форме «MyDomain \ MyUser» из «MyUser@MyDomain.xxx.yy» решило проблему, хотя у меня нет объяснения почему. - MBWise 14 марта '18 в 13:07

neflow
источник