| .\" -*- nroff -*- |
| .TH BADBLOCKS 8 "@E2FSPROGS_MONTH@ @E2FSPROGS_YEAR@" "E2fsprogs version @E2FSPROGS_VERSION@" |
| .SH NAME |
| badblocks \- search a device for bad blocks |
| .SH SYNOPSIS |
| .B badblocks |
| [ |
| .B \-svwnf |
| ] |
| [ |
| .B \-b |
| .I block-size |
| ] |
| [ |
| .B \-c |
| .I blocks_at_once |
| ] |
| [ |
| .B \-i |
| .I input_file |
| ] |
| [ |
| .B \-o |
| .I output_file |
| ] |
| [ |
| .B \-p |
| .I num_passes |
| ] |
| .I device |
| [ |
| .I last-block |
| ] [ |
| .I start-block |
| ] |
| .SH DESCRIPTION |
| .B badblocks |
| is used to search for bad blocks on a device (usually a disk partition). |
| .I device |
| is the special file corresponding to the device (e.g |
| .IR /dev/hdc1 ). |
| .I last-block |
| is the last block to be checked; if it is not specified, the last block |
| on the device is used as a default. |
| .I start-block |
| is an optional parameter specifying the starting block number |
| for the test, which allows the testing to start in the middle of the |
| disk. If it is not specified the first block on the disk is used as a default. |
| .SH OPTIONS |
| .TP |
| .BI \-b " block-size" |
| Specify the size of blocks in bytes. |
| .TP |
| .BI \-c " number of blocks" |
| is the number of blocks which are tested at a time. The default is 16. |
| Increasing this number will increase the efficiency of |
| .B badblocks |
| but also will increase its memory usage. |
| .B Badblocks |
| needs memory proportional to the number of blocks tested at once, in |
| read-only mode, proportional to twice that number in read-write mode, |
| and proportional to three times that number in non-destructive read-write |
| mode. If you set the number-of-blocks parameter to too high a value, |
| .B badblocks |
| will exit almost immediately with an out-of-memory error "while allocating |
| buffers". If you set it too low, however, for a non-destructive-write-mode |
| test, then it's possble for questionable blocks on an unreliable |
| hard drive to be hidden by the effects of the hard disk track buffer. |
| .TP |
| .B \-f |
| Normally, badblocks will refuse to do a read/write or a non-destructive |
| test on a device which is mounted, since this can cause the system to |
| potentially crash. This can be overriden using the |
| .B \- |
| flag, but this should not be done under normal circumstances. The only time |
| when this option might be safe is if the /etc/mtab file is incorrect, and |
| the device really isn't mounted. |
| .TP |
| .BI \-i " input_file" |
| Read a list of already existing known bad blocks. |
| .B Badblocks |
| will skip testing these blocks since they are known to be bad. If |
| .I input_file |
| is specified as "-", the list will be read from the standard input. |
| Blocks listed in this list will be omitted from the list of |
| .I new |
| bad blocks produced on the standard output or in the output file. |
| The |
| .B \-b |
| option of |
| .BR dumpe2fs (8) |
| can be used to retrieve the list of blocks currently marked bad on |
| an existing filesystem, in a format suitable for use with this option. |
| .TP |
| .BI \-o " output_file" |
| Write the list of bad blocks to the specified file. Without this option, |
| .B badblocks |
| displays the list on its standard output. The format of this file is suitable |
| for use by the |
| . |
| .B \-l |
| option in |
| .BR e2fsck (8) |
| or |
| .BR mke2fs (8). |
| .TP |
| .BI \-p " num_passes" |
| Repeat scanning the disk until there are no new blocks discovered in |
| num_passes consecutive scans of the disk. |
| Default is 0, meaning |
| .B badblocks |
| will exit after the first pass. |
| .TP |
| .B \-n |
| Use non-destructive read-write mode. By default only a non-destructive |
| read-only test is done. This option must not be combined with the |
| .B \-w |
| option, as they are mutually exclusive. |
| .TP |
| .B \-s |
| Show the progress of the scan by writing out the block numbers as they |
| are checked. |
| .TP |
| .B \-v |
| Verbose mode. |
| .TP |
| .B \-w |
| Use write-mode test. With this option, |
| .B badblocks |
| scans for bad blocks by writing some patterns (0xaa, 0x55, 0xff, 0x00) on |
| every block of the device, reading every block and comparing the contents. |
| This option may not be compiled with the |
| .B \-n |
| option, as they are mutually exclusive. |
| .SH WARNING |
| Never use the |
| .B \-w |
| option on an device containing an existing file system. |
| This option erases data! If you want to do write-mode testing on |
| an existing file system, use the |
| .B \-n |
| option instead. It is slower, but it will preserve your data. |
| .SH AUTHOR |
| .B badblocks |
| was written by Remy Card <Remy.Card@linux.org>. Current maintainer is |
| Theodore Ts'o <tytso@alum.mit.edu>. Non-destructive read/write test |
| implemented by David Beattie <dbeattie@softhome.net>. |
| .SH AVAILABILITY |
| .B badblocks |
| is part of the e2fsprogs package and is available from |
| http://e2fsprogs.sourceforge.net. |
| .SH SEE ALSO |
| .BR e2fsck (8), |
| .BR mke2fs (8) |