I usually run chkdsk from a bootable CD such as Hiren’s, but today I had a Vista machine with a disk fault, and chkdsk from the CD kept hanging at 1% of phase 4: it got completely stuck, and I had to force the computer to power off.
I thought that the disk must be completely borked, but in fact it did boot into Windows — but very slowly. And when I set Vista’s chkdsk to run on restart, it worked perfectly: it just found bad sectors in one file.
So, the moral is: don’t dismiss the idea of running chkdsk from the faulty disk, even with Vista.