A maioria dos serviços (se não todos) pode ser controlada pelo valor Start
na chave de registro HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\<service name>
Observe que CurrentControlSet
na chave de registro mencionada anteriormente é o link para ControlSet001
ou ControlSet002
, conforme descrito aqui .
Agora, o valor "Iniciar" pode ter valores de 0 a 4 ( configuração sc para referência ):
- 0 - boot - Especifica um driver de dispositivo que é carregado pelo carregador de boot.
- 1 - system - Especifica um driver de dispositivo que é iniciado durante a inicialização do kernel.
- 2 - auto - Especifica um serviço que inicia automaticamente sempre que o computador é reiniciado e é executado mesmo se ninguém fizer logon no computador.
- 3 - demanda (manual) - Especifica um serviço que deve ser iniciado manualmente. Este é o valor padrão se start = não for especificado.
- 4 - disabled - Especifica um serviço que não pode ser iniciado. Para iniciar um serviço desativado, altere o tipo de início para algum outro valor.
Enquanto vai para o serviço louco desabilitar a spree, primeiro verifique o valor inicial do serviço e marque-o, prepare-se com mídia de inicialização alternativa (qualquer mídia de instalação do Windows servirá) caso o sistema não seja inicializado devido ao serviço necessário desativado.
Se a merda acontecer, inicialize a partir de mídia externa, mude para console (shift + F10 IIRC) > regedit > aponte para HKEY_LOCAL_MACHINE e "carregar ramo de recortes" > %código%. Agora, localize na seção hive <systemdrive>:\Windows\System32\config\SYSTEM
carregada e você poderá desfazer os erros anteriores ao definir os valores ControlSet001\Services
para os padrões.
Aqui está um pequeno script em lote para listar todos os serviços "padrão" (padrão até ser modificado pelo usuário, que se torna "padrão") em Start
:
@echo off
setlocal enabledelayedexpansion
set KEY=HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services
for /f "tokens=5 delims=\" %%a in ('reg query !KEY! /s /v "start"') do (
set SERVICE=%%a
for /f "tokens=3" %%b in ('reg query !KEY!\!SERVICE! /v "start" ^| findstr /i "start"') do (
echo !KEY!\!SERVICE! - "Start" %%d
)
)
endlocal
Cole o código acima em HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services
e execute-o como defaultservices.bat
para gerar o arquivo de texto, que pode ser utilizado posteriormente para ver os valores padrão do serviço.