Embora a execução da Services.msc
GUI ofereça a capacidade de definir manualmente um tipo de início de serviço do Windows como Automático, Automático (início atrasado), Manual ou Desativado, a configuração dos serviços é armazenada em uma árvore de registro que pode ser configurada por meio do shell de comando e do editor de registro .
Ao usar sc config
ou regedit
, as opções para tipo de início de serviço são 0
, 1
, 2
, 3
, e 4
, que correspondem a Boot
, System
, Automatic
, Manual
, e Disabled
. Boot e System agora são opções configuráveis. Alterar os dados do valor inicial de um serviço arbitrário 0
faz com que Services.msc reflita "Boot" na coluna Tipo de inicialização (embora a tentativa de editar esse tipo de inicialização de serviço por meio da GUI forneça apenas as quatro opções regulares).
Parece que Boot e System são opções adicionais úteis, mas aparentemente poucos ou nenhum dos serviços padrão do Windows aproveitam isso - nem mesmo os componentes do Windows que parecem bastante integrais, como Power, Windows Defender Advanced Threat Protection ou Cryptographic Services.
Então, minhas perguntas são:
- É seguro configurar os serviços para iniciar
Boot
ouSystem
se deseja que eles sejam executados ainda mais cedo queAutomatic
os serviços? - Isso causará instabilidade no sistema? (E se a resposta for "depende", indique alguma documentação que forneça uma justificativa e, idealmente, que possa ser usada para determinar quais serviços, se houver, são seguros e estáveis para fazer isso.)
- Há algum motivo específico pelo qual não é recomendado usar essas opções de início?
- Existe alguma documentação real da Microsoft sobre a finalidade/uso dessas opções de início? (Não encontrei nenhum até agora.)
O Service Control Manager (SCM) - services.exe, é responsável por gerenciar os serviços do Windows. Neste contexto, os serviços incluem serviços de modo de usuário (.exe) e drivers de modo kernel (.sys).
Os serviços de modo de usuário também podem ser implementados como DLLs, mas precisam ser hospedados por um processo ".exe", que é o caso de muitos serviços hospedados por svchost.exe.
O banco de dados de serviços é armazenado na seguinte chave de registro:
Para registrar um novo serviço no SCM ou controlar um serviço, diversas APIs estão disponíveis. Consulte https://learn.microsoft.com/en-us/windows/win32/api/winsvc/
Se você olhar a documentação para configurar um serviço, usando a API ChangeServiceConfigW , que incluiria a configuração do tipo de início, vemos:
Portanto, esses tipos de início (0 e 1) são para drivers, não para serviços de modo de usuário. O snap-in Services.msc do MMC exibe apenas serviços de modo de usuário, não drivers.
Eu espero que isso ajude.