Большинство сервисов (если не все) могут управляться через значение в Start
разделе реестра. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\<service name>
Обратите внимание, что CurrentControlSet
в вышеупомянутом разделе реестра есть ссылка на один ControlSet001
или ControlSet002
как описано здесь .
Теперь значение «Start» может иметь значения от 0 до 4 ( sc config для справки ):
- 0 - boot - указывает драйвер устройства, который загружается загрузчиком.
- 1 - система - указывает драйвер устройства, который запускается во время инициализации ядра.
- 2 - авто - указывает службу, которая автоматически запускается при каждом перезапуске компьютера и запускается, даже если никто не входит в систему.
- 3 - спрос (вручную) - указывает службу, которую необходимо запустить вручную. Это значение по умолчанию, если start = не указано.
- 4 - отключено - указывает службу, которая не может быть запущена. Чтобы запустить отключенную службу, измените тип запуска на другое значение.
Идя к этому безумному сервису, отключающему веселье, сначала проверьте начальное значение службы и отметьте его, подготовьте себя с альтернативными загрузочными носителями (подойдет любой установочный носитель Windows) на случай, если система не загрузится из-за отключения необходимой службы.
Если это дерьмо, загрузитесь с внешнего носителя, переключитесь на консоль (shift + F10 IIRC)> regedit>, укажите на HKEY_LOCAL_MACHINE и «загрузите куст»> <systemdrive>:\Windows\System32\config\SYSTEM
. Теперь найдите под загруженным кустом, ControlSet001\Services
и вы можете отменить предыдущие ошибки, установив Start
значения по умолчанию.
Вот небольшой пакетный скрипт для перечисления всех сервисов «по умолчанию» (по умолчанию, пока пользователь не изменит их, который затем станет «по умолчанию») в значениях 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
Вставьте приведенный выше код defaultservices.bat
и запустите его, defaultservices.bat > defaultservices.txt
чтобы сгенерировать текстовый файл, который можно использовать позже, чтобы увидеть значения по умолчанию для службы.