자동으로 서비스 시작

시스템 부팅 중에 SCM은 모든 자동 시작 서비스와 해당 서비스가 의존하는 서비스를 시작합니다. 예를 들어 자동 시작 서비스가 요청 시 시작 서비스에 의존하는 경우 요청 시 시작 서비스도 자동으로 시작됩니다.

로드 순서는 다음에 따라 결정됩니다.

  1. 로드 순서 그룹 목록의 그룹 순서. 이 정보는 다음 레지스트리 키의 목록 값에 저장됩니다.

    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\ServiceGroupOrder

    서비스에 대한 로드 순서 그룹을 지정하려면 CreateService 또는 ChangeServiceConfig 함수의 lpLoadOrderGroup 매개 변수를 사용합니다.

  2. 태그 순서 벡터에 지정된 그룹 내의 서비스 순서. 이 정보는 다음 레지스트리 키에 저장됩니다.

    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\GroupOrderList

  3. 각 서비스에 대해 나열된 종속성.

부팅이 완료되면 시스템은 다음 레지스트리 키 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\BootVerificationProgramImagePath 값으로 지정된 부팅 확인 프로그램을 실행합니다.

기본적으로 이 값은 설정되어 있지 않습니다. 시스템은 첫 번째 사용자가 로그온한 후 부팅이 성공했다고 보고합니다. 시스템에 문제가 있는지 확인하고 부팅 상태를 SCM에 보고하는 부팅 검증 프로그램을 NotifyBootConfigStatus 함수를 사용하여 제공할 수 있습니다.

부팅에 성공한 후 시스템은 LKG(last-known-good) 구성에 데이터베이스의 복제본을 저장합니다. 활성 데이터베이스를 변경하면 시스템이 다시 부팅되지 않는 경우 시스템에서 데이터베이스의 이 복사본을 복원할 수 있습니다. 다음은 이 데이터베이스의 레지스트리 키입니다.

HKEY_LOCAL_MACHINE\SYSTEM\ControlSetXXX\Services

여기서 XXXHKEY_LOCAL_MACHINE\System\Select\LastKnownGood 레지스트리 값에 저장된 값입니다.

SERVICE_ERROR_CRITICAL 오류 제어 수준이 있는 자동 시작 서비스가 시작되지 않으면 SCM은 LKG 구성을 사용하여 컴퓨터를 다시 부팅합니다. LKG 구성이 이미 사용 중인 경우 부팅이 실패합니다.

자동 시작 서비스를 지연된 자동 시작 서비스로 구성하려면 SERVICE_CONFIG_DELAYED_AUTO_START_INFO와 함께 ChangeServiceConfig2 함수를 호출하면 됩니다. 이 변경 내용은 다음 시스템 부팅 후에 적용됩니다. 자세한 내용은 SERVICE_DELAYED_AUTO_START_INFO를 참조하세요.