"input/output error" could be exactly that, errors trying to read a dying HD. Are there filesystem/disk driver parameters you can tune, to favor retries over diagnostics?
I do also want to mention that i got the same "input/output error", most uninformatively so, when the Puppy Linux live CD I was using didnt have a driver for the early SATA HD (which i was assuming was IDE, oops), and i tried to run dd if=/dev/zero of=/dev/hda . Also it is my understanding that (sigh) MS-Windows filesystem leans more toward retries and less toward warning about drive errors, as compared to Linux filesystem. /Randall