Personally, I think it's your hard drive. They are sensitive to physical shock and a failing drive can produce seemingly random, intermittent issues with results exactly as you describe.
already ran a check disk and everything seems to be fine
So, chkdsk doesn't necessarily guarantee that the hard drive is OK... I would run a full diagnostic using something that can analyze sensor data, like the diagnostic utility provided by the company which designs the hard drive in your laptop. It may be Western Digital... Hitachi... Toshiba... Samsung.. Seagate etc.. There's a somewhat
aging list of these programs here.
Alternatively, and more simply, I would download and burn the UBCD -- it contains all of these utilities in a simple to burn ISO. You can download
UBCD here. Once you have the ISO, you can burn it with a program like
imgburn.
Once you burn the UBCD to a CD, you'll need to restart your computer and boot to the CD -- not Windows. This is often done by tapping some function key at the BIOS screen (varies based on laptop model/manufacturer). You'll also probably need to turn off AHCI on your BIOS too -- most of these DOS-based programs can't detect HDDs on AHCI controllers unless they are set to "IDE emulation" or "standard" or something along those lines (varies). I'm afraid your Sony laptop may not have this option though... in which case you'll need to scan the HDD in another system or boot to a CD/USB-based operating system that DOES recognize AHCI drives, like a Live Linux boot CD.
Actually, I think UBCD does include
Parted Magic (a live Linux CD which can work with most AHCI controllers). I know Parted Magic has smartmontools which you can use to analyze your drive... but that's a
whole other discussion.
There are programs which can read sensor data and analyze drives while in Windows, but it might be an aggravating proposition if your computer keeps hanging and restarting during the tests. A quick SMART sensor read out might indicate a failing drive right away, though without any lengthy tests.
Just some thoughts.