none
Boot order of Windows Services

    Question

  • Good afternoon.
    Where can I get information about the boot order of Windows services?
    You can tell the order the services go up? There is an article that talks about that?

    Bruno Santos MCP, MCDST, MCSA, MCTS, MCITP O difícil é aprender a ler, o restante está escrito.
    Monday, August 15, 2011 5:56 PM

Answers

  • Hi Bruno,

     

    For your information, Services / Device drivers load in the following order (for example, in Windows Server 2003):

     

    Device drivers tagged BOOT_START are started first by the OS loader. (e.g.  file system drivers)

    Next, Device drivers tagged SYSTEM_START are started during OS initialization (e.g.  network file systems or PnP device drivers)

    AUTO_START services/drivers load next. These are the ones that are started by the Service Control Manager.

     

    [For services that are not part of any group, SCM tries to start them Alphabetically by the ServiceName as listed in HKLM\System\CCS\Services. However be aware that we make no guarantees of the start order for such services]

     

    During system boot, the SCM starts all auto-start services and the services on which they depend. For example, if an auto-start service depends on a demand-start service, the demand-start service is also started automatically.

     

    The load order is determined by the following:

     

    The order of groups in the load ordering group list. This information is stored in the ServiceGroupOrder value in the following registry key:

    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control

     

    To specify the load ordering group for a service, use the lpLoadOrderGroup parameter of the CreateService or ChangeServiceConfig function.

     

    The order of services within a group specified in the tags order vector. This information is stored in the GroupOrderList value in the following registry key:

    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control

     

    The dependencies listed for each service.

     

    When the boot is complete, the system executes the boot verification program specified by the BootVerificationProgram value of the following registry key: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control.

     

    By default, this value is not set. The system simply reports that the boot was successful after the first user has logged on. You can supply a boot verification program that checks the system for problems and reports the boot status to the SCM using the NotifyBootConfigStatus function.

     

    After a successful boot, the system saves a clone of the database in the last-known-good (LKG) configuration. The system can restore this copy of the database if changes made to the active database cause the system reboot to fail. The following is the registry key for this database:

     

    HKEY_LOCAL_MACHINE\SYSTEM\ControlSetXXX\Services

     

    where XXX is the value saved in the following registry value: HKEY_LOCAL_MACHINE\System\Select\LastKnownGood.

     

    If an auto-start service with a SERVICE_ERROR_CRITICAL error control level fails to start, the SCM reboots the computer using the LKG configuration. If the LKG configuration is already being used, the boot fails.

     

    Please refer to the following link: Automatically Starting Services

    http://msdn.microsoft.com/en-us/library/ms681957(VS.85).aspx

     

    Please also check the following link:

     

    Troubleshooting the Startup Process

    http://technet.microsoft.com/en-us/library/bb457123.aspx

     

    Best Regards,

     

    Nina

    Forum Support

    Please remember to mark the replies as answers if they help and unmark them if they provide no help. If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com.


    Please remember to click “Mark as Answer” on the post that helps you, and to click “Unmark as Answer” if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread.
    Thursday, August 18, 2011 5:13 AM
    Moderator

All replies

  • Some general info here.

    http://www.blackviper.com/2009/10/13/black-vipers-windows-server-2008-r2-service-configurations/#more-3147

     

     

     

     


    Regards, Dave Patrick ....
    Microsoft Certified Professional
    Microsoft MVP [Windows]
    Monday, August 15, 2011 6:07 PM
  • Good afternoon Dave. Thanks for your reply.
     In fact I look for some official documentation from Microsoft that lists the boot order of Windows services.
     I read an article which says that you can delay the startup of a service. I need that type of document. I searched the Internet and not found.


    Bruno Santos MCP, MCDST, MCSA, MCTS, MCITP O difícil é aprender a ler, o restante está escrito.
    Monday, August 15, 2011 7:28 PM
  • Something here may help.

    How to delay loading of specific services
    http://support.microsoft.com/kb/193888

    How To Control Device Driver Load Order
    http://support.microsoft.com/kb/115486

    Managing System Services
    http://download.microsoft.com/download/f/3/9/f3900e1e-a45c-45a4-b716-740e553e1f62/SPTCF_SYS.doc


    http://technet.microsoft.com/en-us/library/bb742605.aspx

     

     

     

     


    Regards, Dave Patrick ....
    Microsoft Certified Professional
    Microsoft MVP [Windows]
    Monday, August 15, 2011 8:39 PM
  • Hi Bruno,

     

    For your information, Services / Device drivers load in the following order (for example, in Windows Server 2003):

     

    Device drivers tagged BOOT_START are started first by the OS loader. (e.g.  file system drivers)

    Next, Device drivers tagged SYSTEM_START are started during OS initialization (e.g.  network file systems or PnP device drivers)

    AUTO_START services/drivers load next. These are the ones that are started by the Service Control Manager.

     

    [For services that are not part of any group, SCM tries to start them Alphabetically by the ServiceName as listed in HKLM\System\CCS\Services. However be aware that we make no guarantees of the start order for such services]

     

    During system boot, the SCM starts all auto-start services and the services on which they depend. For example, if an auto-start service depends on a demand-start service, the demand-start service is also started automatically.

     

    The load order is determined by the following:

     

    The order of groups in the load ordering group list. This information is stored in the ServiceGroupOrder value in the following registry key:

    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control

     

    To specify the load ordering group for a service, use the lpLoadOrderGroup parameter of the CreateService or ChangeServiceConfig function.

     

    The order of services within a group specified in the tags order vector. This information is stored in the GroupOrderList value in the following registry key:

    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control

     

    The dependencies listed for each service.

     

    When the boot is complete, the system executes the boot verification program specified by the BootVerificationProgram value of the following registry key: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control.

     

    By default, this value is not set. The system simply reports that the boot was successful after the first user has logged on. You can supply a boot verification program that checks the system for problems and reports the boot status to the SCM using the NotifyBootConfigStatus function.

     

    After a successful boot, the system saves a clone of the database in the last-known-good (LKG) configuration. The system can restore this copy of the database if changes made to the active database cause the system reboot to fail. The following is the registry key for this database:

     

    HKEY_LOCAL_MACHINE\SYSTEM\ControlSetXXX\Services

     

    where XXX is the value saved in the following registry value: HKEY_LOCAL_MACHINE\System\Select\LastKnownGood.

     

    If an auto-start service with a SERVICE_ERROR_CRITICAL error control level fails to start, the SCM reboots the computer using the LKG configuration. If the LKG configuration is already being used, the boot fails.

     

    Please refer to the following link: Automatically Starting Services

    http://msdn.microsoft.com/en-us/library/ms681957(VS.85).aspx

     

    Please also check the following link:

     

    Troubleshooting the Startup Process

    http://technet.microsoft.com/en-us/library/bb457123.aspx

     

    Best Regards,

     

    Nina

    Forum Support

    Please remember to mark the replies as answers if they help and unmark them if they provide no help. If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com.


    Please remember to click “Mark as Answer” on the post that helps you, and to click “Unmark as Answer” if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread.
    Thursday, August 18, 2011 5:13 AM
    Moderator
  • Hi Bruno,

     

    Any update on this issue? If there is anything that I can do for you, please feel free to let me know.

     

    Thanks.

    Nina


    Please remember to click “Mark as Answer” on the post that helps you, and to click “Unmark as Answer” if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread.
    Monday, August 22, 2011 8:44 AM
    Moderator
  • Thank's for the help!!!
    Bruno Santos MCP, MCDST, MCSA, MCTS, MCITP O difícil é aprender a ler, o restante está escrito.
    Wednesday, August 31, 2011 2:16 PM