Messages in this thread | | | Date | Tue, 19 Oct 2004 13:44:32 -0400 | From | Ross Biro <> | Subject | Re: Dma problems with Promise IDE controller |
| |
On Tue, 19 Oct 2004 18:23:07 +0100, Johan Groth <jgroth@dsl.pipex.com> wrote: > Ross Biro wrote: > [snip] > > > > > The drive still has a bad sector. You are having trouble because the > > error recover in the Linux ide code is not the same as Windows and > > most drive vendors care about Windows, not the ATA-Spec. On top of > > that Linux switches out of DMA mode once it hits a bad sector, so the > > drive will be very slow from the on. > > > > The only way you are going to fix the problem is if your drive has > > some spare sectors still available, and you do a write with out a read > > to the bad sector. > > Ok, I pretty sure it has spare sectors. How do I write to that sector > without a read and how do I find which sector is bad?
That part is easy. It's in your error message. 156064 is the bad sector. I would use dd if=/dev/zero of=/dev/hd???? bs=512 seek=????? count=1 to write the sector, but before I did that, I would be very sure of my sector number. The best way I can think of to do that is to turn off read aheda for that device and attempt to read one sector at a time until you find the bad one. Then reboot, double check, reboot again, and finally write that sector out. Then you'll need to do an fsck to fix the file system. You will have lost some data, but it may not be clare what file(s) have been damaged.
If you are very confident in your backups, you could just dd if=/dev/zero of=/dev/hd???? bs=something big and wipe the whole drive. That will remapp all of the bad sectors, then just mke2fs the device and start over.
Becareful doing any of the above, if you do it wrong, you lose data. Even if you do it write, you lose some data, just not as much.
Ross - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |