Most of the services (if not all) can be controlled via value
Start under registry key
Please note that
CurrentControlSet in aforementioned registry key is link to either
ControlSet002 as described here.
Now the value "Start" can have values from 0 to 4 (sc config for reference):
- 0 - boot - Specifies a device driver that is loaded by the boot loader.
- 1 - system - Specifies a device driver that is started during kernel initialization.
- 2 - auto - Specifies a service that automatically starts each time the computer is restarted and runs even if no one logs on to the computer.
- 3 - demand (manual) - Specifies a service that must be started manually. This is the default value if start= is not specified.
- 4 - disabled - Specifies a service that cannot be started. To start a disabled service, change the start type to some other value.
While going to that mad service disabling spree, first check service start value and mark it down, prepare yourself with alternative booting media (any Windows installation media will do) in case system becomes unbootable due to necessary service disabled.
If shit happens, boot from external media, switch to console (shift+F10 IIRC) > regedit > point to HKEY_LOCAL_MACHINE and "load hive" >
<systemdrive>:\Windows\System32\config\SYSTEM. Now locate under loaded hive
ControlSet001\Services and you can undo previous mistakes with setting
Start values to defaults.
Here is a little batch script to list all services "default" (default until modified by user, which then becomes "default") values under
for /f "tokens=5 delims=\" %%a in ('reg query !KEY! /s /v "start"') do (
for /f "tokens=3" %%b in ('reg query !KEY!\!SERVICE! /v "start" ^| findstr /i "start"') do (
echo !KEY!\!SERVICE! - "Start" %%d
Paste the above code to
defaultservices.bat and run it as
defaultservices.bat > defaultservices.txt to generate text file, which can be utilized later to see service default values.