the exact number to use in the seek - how is this arrived at - is it a block number directly from the badblocks output? Is it calculated from those block numbers?
- To make the harddrive transparently map out the badblock with a spare good sector you will have to simply write zeros to the bad block using the dd command as root. Remember that with this command you have to work with the same block size as your filesystem and the block as to be relative to the partition the filesystem is on and NOT the harddrive as a whole:
- dd if=/dev/zero of=/dev/sdxy bs=4096 count=1 seek=2269012
and this piece: " NOT the harddrive as a whole:"
Easiest way is to rerun badblocks from the specific partition found to have problems and with the same blocksize as your filesystem uses. Then you shouldn't need to adjust the block numbers.
badblocks -b 4096 /dev/sda1
Btrfs section may need updating
My btrfs scrub gave the following warning:
BTRFS warning (device sda1): i/o error at logical 3147743232 on dev /dev/sda1, physical 4229873664, root 5, inode 1209, offset 200704, length 4096, links 1 (path: some/poor/file)
This is MaBeef, the guy who originally created this article. I'm back under a new username (Ksd) because I lost my login credentials for my original user.
I had originally written this article years ago as sort of a dump of all of my notes from trying to troubleshoot a harddrive I thought was dying (turned out to be a bad PSU). I was meaning to eventually clean up it and add to it but then lost track due to health problems I was having so I want to apologize for abandoning my own article. I am very glad to see it's still here and that people have found it useful enough to update. Everyone has done a great job of cleaning it up and the new BTRFS section looks very useful.