If you can boot from a different drive, it would probably be educational to go through the system logs to see at what point it's getting stuck. If it's possible to display boot-time messages that may also shed some light on things - although if it is something Explorer-related those will doubtless stop too early to be of much use. :/
If there is time pressure, the most pragmatic solution would be to simply restore the system from a backup. You may not have the satisfaction of having identified and resolved the issue, but you will at least have a working system.