Ok, here is my story. I have 3 disks raid 5, one of the disks made a few surface errors and I didn't know. I tried to repair the corrupted database table in mysql and the machine froze on write. I rebooted with hard reset. It seems the other 2 disks were writing data.
They had exchanged the bad HD so the physical HD's are ok without problems. The logical array in Adaptec 3405 controller shows bad stripes. CHKDSK /f removed some tmp files that were bad. But I have few files that I can not copy on this drive (I/O error) and I guess they are located on the "bad stripes" section of the disk.
The server is production one. I can not change it at the moment, the disk was changed and the files that do not work have no importance to the server.
Now my question is: The NTFS is behaving like if the disks would have surface errors because Adaptec controller marked them as non readable. I know I can rebuild the array but I can not because it is productions server (I will move data to another server, it will take time). The problem is not critical as the bad sector disk is replaced. The other non readable files that are in bad stripe I don't need.
But I asked adaptec if the new files will not have I/O error because the adapter marks them as bad and they told me: NO. It is a dangerous situation now because at any moment database could be writeen to bad stripe (bad block from the OS perspective).
I would only need a tool that makes surface scan and put all the bad blocks (there are 32 the imaging backup program told me) into one "bad" file and the new files will not be able to write there. The disks won't degrade more as the hard drive errors are not there any more, the faulty disk was swapped.
I know when the disks are failing it is not good to remap bad blocks, but my situation is fixed now, I just need to map bad blocks to some atrificial bad.txt file for example that would reside on the disk so nothing is ever tried to be written there.
I hope I was clear enough. I can not find such software, I've found a surface scanner but it does not make a bad file out of it :-( Ok, I will not delete my bad 3 files but there may be other sectors from the bad stripe in controller and I'd like a new file to be made pointing to this sectors so no more damage can occur in writes. I do not need to read those files at all...