La mayor parte de los servicios (si no todos) pueden ser controlados a través de valor Start
bajo clave de registro HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\<service name>
nota por favor de que CurrentControlSet
en la clave de registro antes mencionado es un enlace a cualquiera ControlSet001
o ControlSet002
como se describe aquí .
Ahora el valor "Inicio" puede tener valores de 0 a 4 ( sc config para referencia ):
- 0 - arranque: especifica un controlador de dispositivo que carga el cargador de arranque.
- 1 - sistema: especifica un controlador de dispositivo que se inicia durante la inicialización del núcleo.
- 2 - automático: especifica un servicio que se inicia automáticamente cada vez que se reinicia la computadora y se ejecuta incluso si nadie inicia sesión en la computadora.
- 3 - demanda (manual): especifica un servicio que debe iniciarse manualmente. Este es el valor predeterminado si start = no se especifica.
- 4: deshabilitado: especifica un servicio que no se puede iniciar. Para iniciar un servicio deshabilitado, cambie el tipo de inicio a otro valor.
Mientras va a esa juerga de deshabilitación del servicio loco, primero verifique el valor de inicio del servicio y márquelo, prepárese con medios de arranque alternativos (cualquier medio de instalación de Windows lo hará) en caso de que el sistema no se pueda iniciar debido al servicio necesario deshabilitado.
Si sucede una mierda, arranque desde un medio externo, cambie a la consola (shift + F10 IIRC)> regedit> apunte a HKEY_LOCAL_MACHINE y "cargue la sección"> <systemdrive>:\Windows\System32\config\SYSTEM
. Ahora ubique debajo de la colmena cargada ControlSet001\Services
y puede deshacer errores anteriores al establecer Start
valores predeterminados.
Aquí hay un pequeño script por lotes para enumerar todos los servicios "predeterminados" (predeterminados hasta que el usuario los modifique, que luego se convierten en valores "predeterminados") en HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services
:
@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
Pegue el código anterior defaultservices.bat
y ejecútelo defaultservices.bat > defaultservices.txt
para generar un archivo de texto, que puede utilizarse más adelante para ver los valores predeterminados del servicio.