This happens when I accidentally plugged into an erroneous socket at the library at City College. The socket light was flashing green LED, causing my laptop power indicator to flash as well. At first I thought it was due to my old faulty batter, but I realized later it wasn't the case.
To solve this, the best solution is to have the file Windows\System32\Config\Software replaced, as it is corrupted. It appears to work for many.
I however, did more than that because I couldn't find a clean copy of the Software file. XP had it in the Windows\Repair folder. Others may have the file in Windows\tmp, etc. After doing chkdsk c: /r, which fixed a few other problems, took about 30 -50 mins (it even fixed the Software.old file which I renamed from Software), I found that the clean copy of Software for Vista resides in Windows\System32\Config\RegBack. Thanks to winhlp.com. Their process is rather long, but I think it was unnecessary in my case.
Their process:
Windows Vista/7:
1. Open your corrupted Windows drive. For example: C:\
2. Open "WINDOWS" folder & go to "System32" folder
3. Open "config" folder.
4. Open "RegBack" folder.
5. Use Copy on the hive file called 'SYSTEM'.
6. Get Back to "Config" Folder.
7. Rename the current hive file called 'SYSTEM' to for example: 'SYSTEM.Backup'. Rename 'system.sav' also , if it exists, for example, to: 'system.sav.backup'.
8. Paste the copied hive file called 'SYSTEM' into the 'config' folder.
9. Boot your Windows normally now on your PC.
10. Just re-install your drivers now & it's done.