Here is a list of repair alternatives, starting from the easiest :-
1. Run Chkdsk, go to Start > All Programs > Accessories and right-click Command Prompt, then ‘Run as Administrator’. Type chkdsk /f /r (note the spaces) and press Enter.
2. Run System Restore from a date before you started having problems, go to Start > All Programs > Accessories > System Tools and right-click System Restore and choose a date before you started having problems.
3. Run the System File Checker. This can repair many corrupted system files. It will also identify in the log file any corrupted files it could not repair click here
Go to Start > All Programs > Accessories and right-click Command Prompt, then ‘Run as Administrator’. Type sfc /scannow (note the space) and press Enter. This may take some time and you may have to put the Vista DVD in the drive. You can analyse the SFC log file, here click here
4. Copy system files from your Vista DVD that SFC (3 above) identified as corrupt and that it could not repair click here
5. Run a Vista startup repair. This can repair more than just startup issues click here
6. Do a Vista upgrade repair reinstall. This gives you a new OS without disturbing settings, files, folders, other programs, etc. click here