Restarted my laptop yesterday morning and it could not start Windows. Here's how I fixed it.
I tried booting into safe mode but it got stuck at loading "Classpnp.sys".
I put my Windows 7 DVD in the drive and booted from the DVD. After it installed it's files and I got to the install screen I selected repair in the lower left corner. It ran saying it was searching for installs even though it listed my install. I finally had to power it off after two hours because it wasn't getting anywhere.
It was clear I wasn't going to get anywhere on my laptop so I took the hard drive out and attached it externally to another computer. The drive showed up OK so I ran "CHKDSK" on it. When "CHKDSK" finished I put the drive back into my laptop.
Back on my laptop I booted from the DVD and ran repair. This time it was able to find my install! It took about a half hour to run but eventually the repair finished.
I booted into Windows and I was able to log in. The start-up was really slow and not getting anywhere fast so I powered off the laptop and started Windows in safe mode.
The laptop booted into safe mode just fine. I opened a command prompt as administrator and ran "sfc /scannow". It finished and the message said that there were some files it was not able to repair.
I restarted the laptop and booted into Windows. This time it started up just fine! I checked the hard drive and noticed I had almost double the free space that I had when I last looked at it a couple of days ago. Obviously there are some files were corrupted. So far everything is working OK but I do realize that this hard drive cannot be trusted and I need to get a new hard drive.