Hi, I've tried most of the things mentioned in this thread but stumbled across a strange fix, which was basically putting an SD card in the reader. It doesn't have to be bootable (it's just full of photos), my laptop wasn't even trying to boot so I'm not sure why this works but it's consistently working with an SD card inserted and won't startup without it.
Hope that helps someone else, and maybe someone could suggest an idea for why this might work because I can't think of one!