Windows takes minutes to reach the desktop
The boot trace records exactly which service, driver or Group Policy extension is costing the time — there is no need to guess.
What you see
Long delays at the spinning dots, at "Please wait", or stuck on Applying computer settings. The machine is fine once it is up.
What is actually wrong
A service waiting on a network resource, a mapped drive or GPO timing out, a slow driver initialising, or Fast Startup masking the real shutdown time.
Codes and articles
The fix
Read the boot performance events
Any slow boot. Windows has been measuring this all along.
Read the boot duration events. Event 100 gives the total; 101 to 110 name what was slow.
Get-WinEvent -LogName 'Microsoft-Windows-Diagnostics-Performance/Operational' -MaxEvents 40 | Where-Object { $_.Id -ge 100 -and $_.Id -le 110 } | Format-List TimeCreated, Id, MessageEvent 101 is a slow application, 102 a slow driver, 103 a slow service, 106 a slow background process. The message names the culprit and the milliseconds it cost.
If it hangs on Applying computer settings, time the Group Policy extensions.
Get-WinEvent -LogName 'Microsoft-Windows-GroupPolicy/Operational' -MaxEvents 60 | Where-Object Id -in 5326,8000,8001 | Format-Table TimeCreated, Id, Message -AutoSizeCheck for drive mappings or scripts pointing at a server that no longer exists.
Get-SmbMapping | Format-Table LocalPath, RemotePath, Status -AutoSizegpresult /h C:\temp\gpo.html
Look at what starts automatically and how long the delayed ones take.
Get-Service | Where-Object StartType -eq 'Automatic' | Format-Table Name, DisplayName, Status -AutoSizeSet a non-essential slow service to Automatic (Delayed Start) rather than disabling it.
Set-Service -Name 'SomeService' -StartupType AutomaticDelayedStartDelayed start moves it out of the critical path without removing the functionality, which is usually the right trade.
Get-WinEvent -LogName 'Microsoft-Windows-Diagnostics-Performance/Operational' -MaxEvents 5 | Where-Object Id -eq 100 | Format-List TimeCreated, MessageWhere this stops. This write-up was written and checked by hand. It says what each step changes, how to confirm it worked and how to reverse it, and anything destructive is flagged before you reach it. If it does not match what your machine is doing, search the Support Centre for the exact code or message — and when something needs a person, get in touch.