Windows重新启动后,自动服务不会自动启动


25

我有所有更新的Windows 10内置1511。

今天我注意到一些奇怪的行为:

当我重新启动系统后,某些启动类型为自动的服务不会自动启动。

但是我可以手动启动它们,然后一切正常。但是,如果我重新启动系统,则问题再次出现。

如果我手动启动该服务,然后关闭计算机,则在再次打开PC时一切正常。因此,服务会自动启动。仅当我重新启动Windows时,问题才会出现。重新启动后,这些服务不会自动启动。

此问题仅出现在与应用程序相关的某些服务(不是系统服务的服务)上。这些服务不依赖于任何其他服务。

我能做什么 ?

谢谢 !


也许您可以举一些此类服务无法启动的示例。没有任何细节,很难猜测问题可能出在哪里。
dxiv

4
如果让您感觉更好,那么您并不是唯一的人。我有完全一样的问题。服务是32位的。自定义软件已经安装了很长时间。这样就打开了WOW64设置。我可以手动启动服务,但是自从Windows 7升级到Windows 10以来,操作系统从未尝试启动服务。它们的跟踪文件什么都没有显示,并且事件日志没有显示启动它们的尝试,也没有任何问题。这非常令人沮丧。自动延迟是一个糟糕的选择,但我想现在就这样...
Brian B


对于我来说,遇到此问题时,将服务的“属性>登录”中的“此帐户”更改为“ MyUser@MyDomain.xxx.yy”形式的“ MyDomain \ MyUser”形式的网络名称,即可解决此问题,虽然我没有解释为什么。
MBWise

Answers:


11

目前唯一可行的解​​决方案是将这些服务的启动类型从“自动”更改为“自动延迟”。我不知道这是否是最好的解决方案,但这是目前唯一可行的解​​决方案。


如果您对regedit感到满意,我发现只要该服务具有键DelayedAutostart(DWORD),它就会启动。因此,我添加了此值,但将其值设置为0,因为我不希望它延迟。示例:HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ <yourServiceName> \ DelayedAutostart
Brian B

我还在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秒的时间来启动并向服务控制管理器报告就绪。

通过编辑或创建ServicesPipeTimeout DWORD值,可以覆盖服务控制管理器的超时时间,从而使服务有更多时间启动并向服务报告就绪。

参考案例:

报告服务器错误1053:服务没有及时响应启动或控制请求

https://social.technet.microsoft.com/Forums/windows/zh-CN/b57ee42d-42ef-44a4-9670-be9088dbf9d4/reporting-server-error-1053-the-service-did-not-respond-to-一次开始或控制请求?forum = sqlreportingservices

祝你好运 这是修复的来源


2

您可以通过以下命令将启动从“自动触发”修改为“自动”:sc triggerinfo w32time delete

现在,该服务可以在重新启动后自动启动


试图理解:是Windows的这个新的愚蠢的“功能”,还是很久以前存在的?原来我的关键业务服务器没有与ntp服务器同步,因为Windows时间服务突然将其启动类型从“自动”更改为“自动(触发启动)”,当然,任何计划任务同步时间的尝试都失败了。
阿纳托利·阿列克谢夫

1

好的,Windows可以在不需要这些服务时停止它们,或者在执行任何操作后指示停止该服务。某些服务依赖于其他服务,并且只有在第一个调用它们时才会启动。

错误也可能导致服务过早停止。您可以转到事件记录器,查看是否存在与这些服务有关的错误。如果其后有“(触发启动)”,则通常不需要这些服务,或者仅在需要时才启动这些服务,例如生物识别服务。

您还可以在此处找到有关服务如何工作的更多信息。

除非您注意到您的PC无法正常工作,否则它应该不是问题。


3
抱歉,朋友,但也许您不明白我在说什么。这些服务具有“自动启动”类型,而不是系统服务。它们是在安装某些应用程序之后安装的。运行得很好。如果我关闭Windows并打开,这些服务将自动启动,并且一切正常。但是,如果我重新启动Windows,则会出现问题。重新启动后,这些服务不会自动启动,并且与它们相关的应用程序无法正常工作。我可以手动启动,并且一切正常,直到我再次启动并再次出现问题。
Alex

嗯,我想您真的应该看一下事件记录器,看看服务是否产生某种错误。因此,您可以打开它并在重新启动PC的时间范围内查找消息。如果他们由于错误而过早停止,则可以在该位置找到该错误的描述或代码,我们可以更好地了解真正的问题是什么。
axys93

1
否,事件记录器没有错误。没有日志描述过早停止。该服务只是无法启动。看来,如果我重新启动Windows 10,系统只会忽略这些服务的“自动启动”类型。
Alex

1
@alex您的链接引用了technet上讨论线程,请注意,事件日志中有一个条目指示该服务无法启动("The SQL Server (MSSQLSERVER) service failed to start ..".)。这与您的主张大不相同The service doesn't fail to start。冒着重复的危险,您的问题现在无法回答,没有任何详细信息。
dxiv '16

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 '16

1

我有同样的问题。重新启动计算机后,服务没有自动重新启动。原因是Windows 10关闭按钮并不意味着(与Windows 7不同)关闭,但是如果“设置电源按钮”配置是这样,则可以视为待机状态。

在这种情况下,如果服务被停止,它们将保持不变。如果已启动,它们将继续运行而无需重新启动(无需初始化)。让·玛丽


您如何得出这个结论?你能提供任何资料吗?
Mark

1

如果您可以自己更改服务可执行文件,则对我们而言已解决的问题是:

在项目文件中,将“首选32位”标志更改为 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文件,然后该文件应在Release属性组中包含<Prefer32Bit> false </ Prefer32Bit>。
Michael van der Horst,

0

试试这个:

运行以下命令以定义适合您的环境的触发事件。在此示例中,该命令确定是否将IP地址分配给主机,然后启动或停止服务。

sc triggerinfo w32time启动/网络停止/网络关闭

w32Time是您的服务名称

或尝试这个

https://support.microsoft.com/zh-CN/kb/922918


请仔细阅读问题。您的答案没有回答原始问题。
DavidPostill

遇到类似的延迟启动也不是很有效,但触发信息会有所帮助。
amritanshu


0

如果仍有问题,请执行以下操作:NSClient version 0.5从默认服务状态中删除触发器检测。我们必须手动添加它:

*your_command* check_service -a "filter=is_trigger=0" *other_arguments* 

0

请参阅MBWise的评论:

对于我来说,遇到此问题时,将服务的“属性>登录”中的“此帐户”更改为“ MyUser@MyDomain.xxx.yy”形式的“ MyDomain \ MyUser”形式的网络名称,即可解决此问题,虽然我没有解释为什么。– MBWise 18年3月14日在13:07

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.