Do you know when this problem began? Try a System Restore to a point in time BEFORE the problem began. Here's the procedure: http://www.howtogeek.com/howto/windows-vista/using-windows-vista-system-restore/. Be sure to check the box to show more than 5 days of restore points. If the first attempt fails, then try an earlier point or two. NOTE: You will have to re-install any software and updates you installed between now and the restore point, but you can use Windows Update for the updates.
If the System Restore doesn't work, do a Startup Repair by booting to the genuine Windows Vista Installation Disk (or one you can borrow from ANYONE) or from a Recovery Disk. Here's the procedure: http://www.bleepingcomputer.com/tutorials/tutorial148.html. To boot to the CD you may need to change the BIOS to make the CD-drive first in the boot sequence. To do that, wait for the screen that tells you the F key to push to access the boot menu or boot setup. Push it quickly. Make the changes, save your work, and exit. Put the CD in the drive and reboot. When prompted, push any key to boot from the CD.
If you don't have either disk, you can make a bootable Recovery Disk using http://neosmart.net/blog/2008/windows-vista-recovery-disc-download/ along with burning software like: http://www.snapfiles.com/get/active-isoburner.html and, of course, a blank CD.
If that doesn't work, try to boot into safe mode (repeatedly click the F8 key while booting and go to safe mode with networking - or from the Command Prompt on the disk). Then let's check some of your system files:
Go to Start / All Programs / Accessories / Command prompt and right click on command prompt and click run as Administrator (skip this step if using the disk).
Type sfc /scannow and enter and let it run. It will scan and try to fix some of your system files. Hopefully it will complete with no corruption it could not repair (if there is such corruption post back here or try to analyze it to find the problem file(s) using http://support.microsoft.com/kb/928228.
While in Command Prompt, type chkdsk /f /r and enter and let it run. It will scan and try to fix any corruption or bad sectors on your hard drive and mostly remove that as a cause.
If that doesn't work, then please post any repeating error messages from the Event Viewer concerning startup (Start / Control Panel / Administrative Tools / Event Viewer - from the Command prompt type eventvwr and enter). Here's how to use Event Viewer: http://www.bleepingcomputer.com/forums/topic40108.html.
Hopefully one of these procedures will resolve your problem or at least give us a better idea of what the problem might be. If not, post back and we'll try something else. Post back in any case so we'll know how it turned out.
Good luck!
Lorien - One - MCSE/MCSA/Network+/A+