One good thing (2 actually) whenever you get BSOD's or hard resets is to run SFC and DISM commands to check for possible system file corruption. SFC does a relatively quick check of your system files for corruption and attempts to fix them. DISM checks online with Microsoft and compares your system files with their system files for the same version of windows and repairs any that are corrupt.
They are very simple to run:
SFC (System File Checker):
Simply open Command Prompt (as admin) and enter "sfc /scannow" without the "'s. It will run for a while and let you now if there any corrupt files and if it was able to repair them. If it does show any corrupt files (even if it says they were repaired) I would run the DISM commands
DISM (Deployment Image Servicing and Management tool):
Again open Command Prompt (as admin) and enter "DISM /Online /Cleanup-Image /Checkhealth" or "DISM /Online /Cleanup-Image /ScanHealth" without the "'s. If either of these commands notify you of corrupt files you then run the restore command..."DISM /Online /Cleanup-Image /RestoreHealth".
Another suggestion would be to uninstall/reinstall your video drivers as those can also become corrupt.
CMOS battery should have nothing to do with it as that basically saves you date/time settings and BIOS settings. Once you're in Windows you could, THEORETICALLY (please don't try), remove the battery and not have any issues until you reboot and find all BIOS settings are back to default.
Hope this helps