It must have a problem that throws it into the area that loads fewer drivers. It may need a settings change so go from Start to Run then type msconf and hit Enter then click the BOOT.INI tab. If there's a tick in /SAFEBOOT, remove it, click apply and OK your way out. Restart the computer.
If that tick is not present, go from Start to Run again and this time, type chkdsk c: /r and hit Enter. That should trigger Checkdisk to start but it won't run immediately. It will offer the chance to run it at the next restart so do that and see what it finds when it restarts after completing the disk check.