If some of the Service Manager services (mostly the SDK and Configuration services) do not start and you get a timeout error then try this:
1. Click Start > Run, then type regedit
2. Locate, and then right-click the following registry location: LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control
3. Point to New, and then click DWORD Value. In the right pane of Registry Editor, notice that New Value #1 (the name of a new registry entry) is selected for editing.
4. Type ServicesPipeTimeout to replace New Value #1, and then press ENTER.
5. Right-click the ServicesPipeTimeout registry entry that you created in step 3, and then click Modify. The Edit DWORD Value dialog box appears.
6. In the Value data text box, type 86400000 as decimal value, and then click OK ( It is the timeout period (in milliseconds) that you want to set for the service. Setting time-out period to 86400000 will set it to 24 hours (86400000 milliseconds)
7. Restart the computer.
Hopefully the SCSM services will now have enough time for starting.