Black screen of death delay before login

About a week ago i started getting a delay in my PC booting. I get a black screen of death (black screen with move able cursor) for about 30 seconds between the starting windows screen and the login screen. I have tried many things to fix this (short of doing a repair install of windows) and the problem has still not been fixed.

I also tried to do a boot trace using the windows performance toolkit however that broke windows and i had to revert to the last known good configuration.

The best i can do in terms of analysis is this event viewer report (event ID 100) from my last boot.

The boot duration was about 25 seconds a few weeks ago. It is now 71 seconds.

Log Name: Microsoft-Windows-Diagnostics-Performance/Operational
Source: Microsoft-Windows-Diagnostics-Performance
Date: 13/02/2014 12:07:21 PM
Event ID: 100
Task Category: Boot Performance Monitoring
Level: Warning
Keywords: Event Log
User: LOCAL SERVICE
Computer: Forger-PC
Description:
Windows has started up:
Boot Duration : 71992ms
IsDegradation : false
Incident Time (UTC) : ‎2014‎-‎02‎-‎13T01:04:46.702800400Z
Event Xml:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
<System>
<Provider Name="Microsoft-Windows-Diagnostics-Performance" Guid="{CFC18EC0-96B1-4EBA-961B-622CAEE05B0A}" />
<EventID>100</EventID>
<Version>2</Version>
<Level>3</Level>
<Task>4002</Task>
<Opcode>34</Opcode>
<Keywords>0x8000000000010000</Keywords>
<TimeCreated SystemTime="2014-02-13T01:07:21.724262900Z" />
<EventRecordID>6274</EventRecordID>
<Correlation ActivityID="{044BEC68-F800-0005-26C8-5D965728CF01}" />
<Execution ProcessID="1860" ThreadID="1956" />
<Channel>Microsoft-Windows-Diagnostics-Performance/Operational</Channel>
<Computer>Forger-PC</Computer>
<Security UserID="S-1-5-19" />
</System>
<EventData>
<Data Name="BootTsVersion">2</Data>
<Data Name="BootStartTime">2014-02-13T01:04:46.702800400Z</Data>
<Data Name="BootEndTime">2014-02-13T01:07:19.807153200Z</Data>
<Data Name="SystemBootInstance">624</Data>
<Data Name="UserBootInstance">597</Data>
<Data Name="BootTime">71992</Data>
<Data Name="MainPathBootTime">53692</Data>
<Data Name="BootKernelInitTime">18</Data>
<Data Name="BootDriverInitTime">354</Data>
<Data Name="BootDevicesInitTime">5263</Data>
<Data Name="BootPrefetchInitTime">0</Data>
<Data Name="BootPrefetchBytes">0</Data>
<Data Name="BootAutoChkTime">0</Data>
<Data Name="BootSmssInitTime">3464</Data>
<Data Name="BootCriticalServicesInitTime">40297</Data>
<Data Name="BootUserProfileProcessingTime">263</Data>
<Data Name="BootMachineProfileProcessingTime">0</Data>
<Data Name="BootExplorerInitTime">2722</Data>
<Data Name="BootNumStartupApps">14</Data>
<Data Name="BootPostBootTime">18300</Data>
<Data Name="BootIsRebootAfterInstall">false</Data>
<Data Name="BootRootCauseStepImprovementBits">0</Data>
<Data Name="BootRootCauseGradualImprovementBits">0</Data>
<Data Name="BootRootCauseStepDegradationBits">0</Data>
<Data Name="BootRootCauseGradualDegradationBits">0</Data>
<Data Name="BootIsDegradation">false</Data>
<Data Name="BootIsStepDegradation">false</Data>
<Data Name="BootIsGradualDegradation">false</Data>
<Data Name="BootImprovementDelta">0</Data>
<Data Name="BootDegradationDelta">0</Data>
<Data Name="BootIsRootCauseIdentified">false</Data>
<Data Name="OSLoaderDuration">880</Data>
<Data Name="BootPNPInitStartTimeMS">18</Data>
<Data Name="BootPNPInitDuration">5314</Data>
<Data Name="OtherKernelInitDuration">300</Data>
<Data Name="SystemPNPInitStartTimeMS">5611</Data>
<Data Name="SystemPNPInitDuration">302</Data>
<Data Name="SessionInitStartTimeMS">5917</Data>
<Data Name="Session0InitDuration">1771</Data>
<Data Name="Session1InitDuration">641</Data>
<Data Name="SessionInitOtherDuration">1051</Data>
<Data Name="WinLogonStartTimeMS">9382</Data>
<Data Name="OtherLogonInitActivityDuration">41324</Data>
<Data Name="UserLogonWaitDuration">10471</Data>
</EventData>
</Event>

 

Here is a report from a few weeks ago to compare:

Log Name: Microsoft-Windows-Diagnostics-Performance/Operational
Source: Microsoft-Windows-Diagnostics-Performance
Date: 30/01/2014 12:15:10 AM
Event ID: 100
Task Category: Boot Performance Monitoring
Level: Warning
Keywords: Event Log
User: LOCAL SERVICE
Computer: Forger-PC
Description:
Windows has started up:
Boot Duration : 25023ms
IsDegradation : false
Incident Time (UTC) : ‎2014‎-‎01‎-‎29T13:10:55.640400300Z
Event Xml:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
<System>
<Provider Name="Microsoft-Windows-Diagnostics-Performance" Guid="{CFC18EC0-96B1-4EBA-961B-622CAEE05B0A}" />
<EventID>100</EventID>
<Version>2</Version>
<Level>3</Level>
<Task>4002</Task>
<Opcode>34</Opcode>
<Keywords>0x8000000000010000</Keywords>
<TimeCreated SystemTime="2014-01-29T13:15:10.027157500Z" />
<EventRecordID>5925</EventRecordID>
<Correlation ActivityID="{0290DC60-F800-0004-24D1-478BF31CCF01}" />
<Execution ProcessID="2076" ThreadID="2940" />
<Channel>Microsoft-Windows-Diagnostics-Performance/Operational</Channel>
<Computer>Forger-PC</Computer>
<Security UserID="S-1-5-19" />
</System>
<EventData>
<Data Name="BootTsVersion">2</Data>
<Data Name="BootStartTime">2014-01-29T13:10:55.640400300Z</Data>
<Data Name="BootEndTime">2014-01-29T13:15:07.512013700Z</Data>
<Data Name="SystemBootInstance">565</Data>
<Data Name="UserBootInstance">542</Data>
<Data Name="BootTime">25023</Data>
<Data Name="MainPathBootTime">10023</Data>
<Data Name="BootKernelInitTime">17</Data>
<Data Name="BootDriverInitTime">701</Data>
<Data Name="BootDevicesInitTime">4377</Data>
<Data Name="BootPrefetchInitTime">0</Data>
<Data Name="BootPrefetchBytes">0</Data>
<Data Name="BootAutoChkTime">0</Data>
<Data Name="BootSmssInitTime">3554</Data>
<Data Name="BootCriticalServicesInitTime">292</Data>
<Data Name="BootUserProfileProcessingTime">123</Data>
<Data Name="BootMachineProfileProcessingTime">0</Data>
<Data Name="BootExplorerInitTime">489</Data>
<Data Name="BootNumStartupApps">19</Data>
<Data Name="BootPostBootTime">15000</Data>
<Data Name="BootIsRebootAfterInstall">false</Data>
<Data Name="BootRootCauseStepImprovementBits">0</Data>
<Data Name="BootRootCauseGradualImprovementBits">0</Data>
<Data Name="BootRootCauseStepDegradationBits">0</Data>
<Data Name="BootRootCauseGradualDegradationBits">0</Data>
<Data Name="BootIsDegradation">false</Data>
<Data Name="BootIsStepDegradation">false</Data>
<Data Name="BootIsGradualDegradation">false</Data>
<Data Name="BootImprovementDelta">0</Data>
<Data Name="BootDegradationDelta">0</Data>
<Data Name="BootIsRootCauseIdentified">false</Data>
<Data Name="OSLoaderDuration">483</Data>
<Data Name="BootPNPInitStartTimeMS">17</Data>
<Data Name="BootPNPInitDuration">4428</Data>
<Data Name="OtherKernelInitDuration">353</Data>
<Data Name="SystemPNPInitStartTimeMS">4776</Data>
<Data Name="SystemPNPInitDuration">650</Data>
<Data Name="SessionInitStartTimeMS">5432</Data>
<Data Name="Session0InitDuration">1670</Data>
<Data Name="Session1InitDuration">619</Data>
<Data Name="SessionInitOtherDuration">1264</Data>
<Data Name="WinLogonStartTimeMS">8986</Data>
<Data Name="OtherLogonInitActivityDuration">424</Data>
<Data Name="UserLogonWaitDuration">150900</Data>
</EventData>
</Event>

(It may be easier to copy the text to notepad for analysis)

Check your GPU driver. This used to happen to me occasionally when it became out of date. It would take forever for the log in screen to appear. 

Usually an update fixed it. 

I already did a driver upgrade and it did not work so maybe I'll try a full uninstall then reinstall of the drivers

Ok that didn't work any other suggestions?

Have you installed ANY new (Software, Drivers, Windows Updates) in the last week or so ? It sounds like something is hanging at startup, most likely a service, you could try running MSConfig and disabling all startup items and then enabling them a couple at a time to see if that helps find where the problem is.

Already tried that but I suppose I could give it another go