Here's the situation...

The Vista defrag 'analysis' catches a HDD surface problem and hangs during defrag. My Iolo Professional detects it also and tells me that it can't perform a defrag due to a fault in the disk.

Here's what chapping my ass, though...

I perform a CHKDSK during startup (scheduled, obviously), and it works it's way through 80% of the final stage of the check (free space) and then it jumps to 100% suddenly and restarts my computer.

I can only assume that it's a physical problem with the HDD, but why is CHKDSK not isolating it and fixing/ignoring it?

Did I miss a memo or something?

Here's the genesis of the problem...

I was trying to upgrade to Vista Ultimate and the upgrade ultimately failed due to the absence of my Winlogin/on (i forget which it was). Not corruption...just absence. Yet when I rolled the upgrade back, everything works fine. WTF?

Any ideas?