mynick said:
-thanks but group order list and servicegrouporder subkeys only show
groups not individual group member drivers
During the early booting stage the I/O manager looks in each of the
driver registry keys at HKEY_LOCAL_MACHINE\SYSTEM\ControlSetnnn\Services
and sorts out the drivers by their Group and Tag numbers, then it
consults the ServiceGroupOrder and the GroupOrderList to determine in
which order the services should be started. There is no other list or
easy way of knowing the load order of the drivers from any one registry
key, you would have to sort them all and decipher the Tag order sequence
from the binary data at the GroupOrderList, higher or lower tag numbers
don't necessarily mean that one driver in the group will start before or
after another one, each group has its own tag order. Quite possibly
someone might have written a script or application to collect and
decipher the information from the registry but I don't know of any at
this time.
If you want, you can search the
HKEY_LOCAL_MACHINE\SYSTEM\ControlSetnnn\Services keys for the service
group and then sort them out and get a rough starting order. For
example, on my machine these are the first three service groups:
System Reserved
Boot Bus Extender
System Bus Extender
A search for System Reserved finds nothing so I the proceed to search
for the second one, Boot Bus Extender, here I find that the following
drivers belong to this group:
a347bus.sys
ACPI.sys
isapnp.sys
ohci1394.sys
pci.sys
Then I search for the next service group, System Bus Extender, and I find:
dmio.sys
dmload.sys
ftdisk.sys
intelide.sys
pciide.sys
phylock.sys
.... and so on. From this I can tell that ftdisk.sys starts after
pci.sys because the pci.sys service order group is started before the
ftdisk.sys group. Drivers with Tag numbers are started before those
without but otherwise you need to decipher the tag sequence at the
GroupOrderList key to know exactly where they fit within their group.
Pretty tedious stuff! If you can find a script or application to sort
it out for you then things will be pretty easy!
What you can do is look at the registry key for the last driver that is
shown as loaded on your your boot screen and find out to which service
group it belongs. Then find the drivers in that group and the ones in
the next service group and from that information you can whittle down
the list of possible candidates for the next start position.
John