The underlying issue, 99% of the times, is that a third-party driver just doesn't work with Windows 10. The overlying issue is that Windows won't tell you which of the f****ers it is, and the supposedly-helpful SetupDiag utility won't, either. Here are general instructions about how to work around the issue.
The main objective is to put the system into a state where only stock Microsoft drivers are loaded, as much as possible.
- msconfig - disable anything third-party in Startup
- Use bcdedit to check if the boot partition is actually the one it's mean to be. If you're handy with editing the BCD, go right ahead and fix. If you're like me, you want to use Macrium Reflect (free) and boot from it, go to Restore -> Fix Windows Boot Problems.
- Run every single Windows Update that's not Silverlight or a language pack.
- If you've disabled Windows Update because of a mysterious BSOD after an August update, know you have to install KB4474419 and KB3133977, reboot, then install the rest.
- Go to Device Manager, hit View Hidden Devices, and murder each and every 3rd-party driver with gusto. You'll have to Google a lot of those "Non-PNP drivers," to find out whether they come from MS or third-parties, stop them from starting (right there in Device Manager in Properties), and then murder the actual software via Add/Remove programs, lest they be reinstalled.
- Always ensure to reboot afterwards and wait a couple minutes before opening Device Manager to see if any of them come back.
- Disable any secondary hard/solid-state drives, leave just the main system drive plugged in. Use a USB pen to run the Win10 upgrade.
- Grab toughts and prayers, counting beads, crosses, garlic, holy water, unholy water, a Bud Light, but I repeat myself.