必须将服务启动类型设为“自动”才能实现开机自启,可通过服务管理器图形界面、sc命令行、PowerShell或注册表四种方式配置,其中图形界面最直观,sc和PowerShell需管理员权限,注册表修改仅限紧急修复且风险较高。

要让某个Windows系统服务在每次开机时自动运行,无需手动启动,必须将其启动类型设为“自动”,否则服务将保持停止状态,直到你主动点击“启动”按钮。
通过服务管理器图形界面设置
该方法最直观,适合所有Windows桌面版和服务器版用户,无需记忆命令,也无需管理员权限即可查看,但修改启动类型需管理员确认。
1、按 Win + R 打开“运行”对话框,输入 services.msc,回车打开服务管理器。
2、在列表中找到目标服务(例如 Print Spooler 或 wuauserv),右键→选择“属性”。
3、在“常规”选项卡下,将“启动类型”下拉菜单改为【自动】——这是关键一步,选成“自动(延迟启动)”或“手动”都无法保证服务在开机早期就加载完毕。
4、如果服务当前显示为“已停止”,可立即点击“启动”按钮激活一次;确认无误后点“确定”保存。
用sc命令行快速配置(管理员权限)
适合批量修改、脚本部署或远程维护场景,执行后立即生效,不依赖GUI进程。
方法一:以管理员身份运行CMD或PowerShell → 输入:
sc config "ServiceName" start= auto
注意:ServiceName必须与服务的“服务名称”(非显示名称)完全一致,比如Windows Update的服务名称是 wuauserv,不是“Windows Update”。
方法二:验证是否写入成功 → 输入:
sc qc "ServiceName"
检查输出中“START_TYPE”字段是否为 AUTO_START。若显示 DEMAND_START,说明上一步命令拼写错误或引号缺失。
使用PowerShell一键设置并启动
该方式支持链式操作,一条命令完成设为自动+立即启动,且能直接反馈结果,适合需要即时验证的运维操作。
第一步:以管理员身份运行Windows PowerShell。
第二步:执行:
Set-Service -Name "ServiceName" -StartupType Automatic
第三步:追加启动命令(可选但推荐):
Start-Service -Name "ServiceName"
第四步:确认最终状态:
Get-Service -Name "ServiceName" | Select-Object Name, StartType, Status
输出中 StartType 应为 Automatic,Status 应为 Running —— 如果 Status 是 Stopped,说明该服务依赖未满足或权限不足,需单独排查。
直接修改注册表(仅限紧急修复)
当服务管理器无法打开、sc命令被策略禁用,或系统处于最小化启动环境时,可绕过SCM接口直改注册表。此操作不可逆,误改可能致系统不稳定。
方法1:按 Win + R 输入 regedit,以管理员权限打开注册表编辑器。
方法2:导航至:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ServiceName
方法3:在右侧双击 Start DWORD 值,将其数值数据改为 2 ——这是Windows定义的“自动”启动类型编码,改其他数字(如3=手动、4=禁用)将导致服务无法自启。
【重要提醒】修改前务必右键导出该服务项备份,否则恢复困难。


















