Prueba varias cosas:
1º· Intenta iniciar desde un live cd de linux (por ejemplo Knoppix, no recomiendo ubuntu porque por lo menos a mi en modo live cd no me monta bien las unidades) e intenta acceder al disco duro, a veces deja.
2º· Si lo primero no ha surgido efecto prueba a hacer un chkdsk /r al disco defectuoso desde la consola de recuperación del windows xp (iniciando desde el cd de instalación).
3º· Si tampoco se ha solucionado podrías intentar pasarle un HDDregenerator (pero al ser 300Gb no creo que te haga mucha grácia esperar varios días a que se repare, y aún así hay bastantes probabilidades de que no se repare) o sino intenta lo que hice yo cuando me pasó algo parecido (cambié el disco duro de pc y en uno me lo reconocía como sin formato pero en el otro funcionaba), con el partition magic, por ejemplo, le fuerzas una conversión a FAT32, así perderás todos los archivos de más de 4Gb pero podrás rescatar todos los que ocupen menos de 4Gb.