Invalid Partition after Power Outage

So we just had a brief little power outage here, but it seems it might have come at an inopportune time. I was booting up my computer and it had gotten to the stage where the desktop was loaded but it was still loading all the background stuff. When the power came back on, the computer boots seemingly normally to the black windows XP logo screen (XP home sp3, btw) and then after a while gets a momentary blue screen and reboots. No version of safe mode or any of those options leads to a successful boot (although in safe mode there’s no screen o’ death, it just reboots).

I tried loading the recovery console, but it doesn’t recognize the C:, and fixmbr didn’t work (it gave the “invalid partition” warning and I also tried it later). Next I tried doing a recovery installation, but when it gets to the choose-a-partition screen it says C: is an invalid partition. I also have a 60 GB partition on the same disk which it recognizes as a valid NTFS partition.

Next I loaded up a liveCD version of Ubuntu, and I am able to see and use all my files on the C: just fine and GParted says that it’s a normal NTFS partition and is flagged as the boot partition.

So any ideas how to get windows back going without losing all my information? (I suppose I could always just pick up a new hard drive and move everything over in Ubuntu and then reformat, but let’s call that plan B.)

It’s a homebuilt 3ghz dual core E8400 P4 running XP home SP3. The HD in question (the only one installed in the machine) is a 320g western digital ATA WD3200JD, with a 260 GB partition and a 60 GB one, both formatted in NTFS and both working fine in windows earlier. I also replaced the power supply a couple weeks ago (thanks again for the help!), but I think that’s just bad luck.

what about chkdsk /r at recovery console?

Re recovering the OS I’ve had pretty poor luck over time getting hosed XP partitions to come back fat and happy. I’ve wasted incalculable hours on various attempted fixes and then almost always wound up just formatting and re-installing. If Linux will let you see your data dump it to a thumb drive or external drive then format the drive and re-install. Spending 2-4 hours on this beats entire days lost trying to recover a bunch of busted clusters, and in the end all you have is tons of garbage files anyway and an unstable system.

Nuke it from space.

If you can’t access the C drive from recovery console I would say your best bet would be to try find someone with a copy of Spinrite that they will let you borrow.

If that isn’t an option I would say your best course of action would be to back everything up to a flash drive or external HDD using Ubuntu then use GParted to format the drive and re-install Windows from scratch.

Well, so running chkdsk /r got it back working, but I am still getting occasional freezes right after windows starts and occasional “your computer wasn’t shut down properly” errors (after it was shut down properly-- oddly never when I have to reset it after it freezes).

So I think I might go ahead and grab a new hard drive (the old one’s constantly teetering on full anyways). Is there any reason to move the old data to the new drive and reformat the old, or do you think it’d be okay to just reinstall windows on the new drive and keep using the old data on the old drive?