Have you tried checkdisk with both options : automatically fix file systems errors and scan for and attempt recovery of bas sectors ?
It works fine with me in boot mode (xp sp3). However, it is necessary to run first a chkdsk operation within windows. If not, then pat will stop...
Separate names with a comma.