Checking for disk errors with badblocks
Keywords: sag

Next: Fighting fragmentation Up: Filesystems Previous: Checking filesystem integrity with

## Checking for disk errors with `badblocks`

It can be a good idea to periodically check for bad blocks. This is done with the `badblocks` command. It outputs a list of the numbers of all bad blocks it can find. This list can be fed to `fsck` to be recorded in the filesystem data structures so that the operating system won't try to use the bad blocks for storing data. The following example will show how this could be done.

> ``$` badblocks /dev/fd0H1440 1440 > bad-blocks
> `$` fsck -t ext2 -l bad-blocks /dev/fd0H1440
> `Parallelizing fsck version 0.5a (5-Apr-94)`
> `e2fsck 0.5a, 5-Apr-94 for EXT2 FS 0.5, 94/03/10`
> `Pass 1: Checking inodes, blocks, and sizes`
> `Pass 2: Checking directory structure`
> `Pass 3: Checking directory connectivity`
> `Pass 4: Check reference counts.`
> `Pass 5: Checking group summary information.`
> ``
> `/dev/fd0H1440: ***** FILE SYSTEM WAS MODIFIED *****`
> `/dev/fd0H1440: 11/360 files, 63/1440 blocks`
> `$``

If badblocks reports a block that was already used, `e2fsck` will try to move the block to another place. If the block was really bad, not just marginal, the contents of the file may be corrupted.