At vert first, try to invoke BIOS, and observe that, if the HDD is shown there! Generally it is under IDE Devices tag (but may vary different computer model). Basically, it auto detects the HDD. but sometimes, it may be done by manual detection. If u don’t see the HDD either auto / manual detection, then most probably, the HDD is damaged or bad sectors r there. That may cause I/O error.
Another way, it might be that, there is a MBR problem. If MBR is corrupted, then following messages encounter…. “Error loading operating system” or “Missing operating system” or
“Invalid partition table”. Then if possible, insert Windows’98 CD (I recommended 98, because, it works fine, but it doesn’t mean that, u can’t fix mbr with windows xp / vista/ 7 cd/dvd) and follow the steps…. Go to command prompt by pressing CD support with command prompt.
Enter the command “fdisk /mbr” without quotes when the disk has loaded. It has loaded when the system displays the text “A:>.” This command will reconstruct the Master Boot Record.
Restart computer and again check if the BIOS recognizes the HDD.
If all of the above not work, then detach the HDD and try to attach with another XP computer and see if XP recognizes it or not. If XP does not identifies the HDD, then I am pretty sure, the HDD is gone.
I was experienced the same problems, that, even BIOS identifies HDD but OS refused to load on it. I have tested both on Windows 98, XP, 7, vista and Linux OS. All were refused to load OS, while the BIOS identifies my HDD. Later I discovered that, there was an I/O error.
Hope it may help u !