I've never used ProcMon before and it looks complex! Is there anything obvious I should be looking for?
I usually suggest just trying to find out if there are any diagnostics being generated. E.g. make sure that File Access events are being shown and then create a filter for Operation Is WriteFile. Use the Count... tool to show all the unique Path
fields involved.
Otherwise, just using Process & Thread events might be a good place to start. You could really cut that view down by using a filter like Operation Begins with Process Then look at the Process Exit event to see if it gives you a clue
about why it is ending. But especially if you see a Process Exit for explorer.exe you would know that that was unexpected and then turn off the filters to try to understand why it happened. Etc.
TM shows no applications running on the black screen users. I tried to use TM to start explorer.exe and whilst it accepts the command, nothing happens right away.
Which view of TM are you using? Sounds like you may need to use More Details to get into the Details tab. It also sounds like you should be sorting by CPU% descending to find out if there is something that is running out of control.
Looks like explorer.exe is taking hours to load.
But why? E.g. is it crashing in a loop and eventually somehow getting out of that? Is something else looping at first, taking up all the CPU% and then eventually ending its rogue ride? See if there are any clues in Event Viewer for this
time period too.
The fact that it works in safe mode suggests you should be analyzing the differences or doing clean-boot troubleshooting. Unfortunately you would not be able to use ProcMon during a safe boot but you could use it while simulating
one with as clean-boot testing. Another SysInternals tool which would be very helpful for you is AutoRuns. E.g. compare the two lists of tasks which would be started in each mode. Then find the minimal change in your
normal boot necessary to achieve the same results in both.
Good luck