One diagnostic test you can try that starts well before you even get to the Windows load screen is Memtest. Sometimes corrupted memory will create the issues you are experiencing. I am not saying this is your problem but it is a good proceedure.
Let it run for a long time. The rule is a minimum of 7 Passes but running it longer won't hurt to do in the least. There are 8 individual tests per PASS and some take longer than others.
If you have any errors then you have corrupted memory that must be replaced. Also, if you have more than one stick of memory then run the test on each stick individually to determin which sticks are bad.