Thank you all for your help. I tried all that was suggested but what actually solved it was:
- I reset my BIOS to optimized defaults
- I did an in-place upgrade
I'm guessing that the in-place upgrade is what fixed it. It removed all the custom drivers and installed default Microsoft drivers.
I have not done anything to my system since this and it's working perfectly.
When I did the in-place upgrade the first time I did install some drivers using driver booster which is normally really good. Can't get it right 100% of the time.