235 lines
6.5 KiB
Groff
235 lines
6.5 KiB
Groff
.\" -*- 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 \-svwnfBX
|
|
]
|
|
[
|
|
.B \-b
|
|
.I block_size
|
|
]
|
|
[
|
|
.B \-c
|
|
.I blocks_at_once
|
|
]
|
|
[
|
|
.B \-d
|
|
.I read_delay_factor
|
|
]
|
|
[
|
|
.B \-e
|
|
.I max_bad_blocks
|
|
]
|
|
[
|
|
.B \-i
|
|
.I input_file
|
|
]
|
|
[
|
|
.B \-o
|
|
.I output_file
|
|
]
|
|
[
|
|
.B \-p
|
|
.I num_passes
|
|
]
|
|
[
|
|
.B \-t
|
|
.I test_pattern
|
|
]
|
|
.I device
|
|
[
|
|
.I last_block
|
|
] [
|
|
.I first_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 first_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.
|
|
.PP
|
|
.B Important note:
|
|
If the output of
|
|
.B badblocks
|
|
is going to be fed to the
|
|
.B e2fsck
|
|
or
|
|
.B mke2fs
|
|
programs, it is important that the block size is properly specified,
|
|
since the block numbers which are generated are very dependent on the
|
|
block size in use by the file system.
|
|
For this reason, it is strongly recommended that
|
|
users
|
|
.B not
|
|
run
|
|
.B badblocks
|
|
directly, but rather use the
|
|
.B \-c
|
|
option of the
|
|
.B e2fsck
|
|
and
|
|
.B mke2fs
|
|
programs.
|
|
.SH OPTIONS
|
|
.TP
|
|
.BI \-b " block_size"
|
|
Specify the size of blocks in bytes. The default is 1024.
|
|
.TP
|
|
.BI \-c " number of blocks"
|
|
is the number of blocks which are tested at a time. The default is 64.
|
|
.TP
|
|
.BI \-d " read delay factor"
|
|
This parameter, if passed and non-zero, will cause bad blocks to sleep
|
|
between reads if there were no errors encountered in the read
|
|
operation; the delay will be calculated as a percentage of the time it
|
|
took for the read operation to be performed. In other words, a value of
|
|
100 will cause each read to be delayed by the amount the previous read
|
|
took, and a value of 200 by twice the amount.
|
|
.TP
|
|
.BI \-e " max bad block count"
|
|
Specify a maximum number of bad blocks before aborting the test. The
|
|
default is 0, meaning the test will continue until the end of the test
|
|
range is reached.
|
|
.TP
|
|
.B \-f
|
|
Normally, badblocks will refuse to do a read/write or a non-destructive
|
|
test on a device which is mounted, since either can cause the system to
|
|
potentially crash and/or damage the file system even if it is mounted
|
|
read-only. This can be overridden using the
|
|
.B \-f
|
|
flag, but should almost never be used --- if you think you're smarter
|
|
than the
|
|
.B badblocks
|
|
program, you almost certainly aren't. The only time when this option
|
|
might be safe to use 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 file system, in a format suitable for use with this option.
|
|
.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
|
|
.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 \-s
|
|
Show the progress of the scan by writing out rough percentage completion
|
|
of the current badblocks pass over the disk. Note that badblocks may do
|
|
multiple test passes over the disk, in particular if the
|
|
.B \-p
|
|
or
|
|
.B \-w
|
|
option is requested by the user.
|
|
.TP
|
|
.BI \-t " test_pattern"
|
|
Specify a test pattern to be read (and written) to disk blocks. The
|
|
.I test_pattern
|
|
may either be a numeric value between 0 and ULONG_MAX-1 inclusive, or the word
|
|
"random", which specifies that the block should be filled with a random
|
|
bit pattern.
|
|
For read/write (\fB-w\fR) and non-destructive (\fB-n\fR) modes,
|
|
one or more test patterns may be specified by specifying the
|
|
.B -t
|
|
option for each test pattern desired. For
|
|
read-only mode only a single pattern may be specified and it may not be
|
|
"random". Read-only testing with a pattern assumes that the
|
|
specified pattern has previously been written to the disk - if not, large
|
|
numbers of blocks will fail verification.
|
|
If multiple patterns
|
|
are specified then all blocks will be tested with one pattern
|
|
before proceeding to the next pattern.
|
|
.TP
|
|
.B \-v
|
|
Verbose mode. Will write the number of read errors, write errors and data-
|
|
corruptions to stderr.
|
|
.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 combined with the
|
|
.B \-n
|
|
option, as they are mutually exclusive.
|
|
.TP
|
|
.B \-B
|
|
Use buffered I/O and do not use Direct I/O, even if it is available.
|
|
.TP
|
|
.B \-X
|
|
Internal flag only to be used by
|
|
.BR e2fsck (8)
|
|
and
|
|
.BR mke2fs (8).
|
|
It bypasses the exclusive mode in-use device safety check.
|
|
.SH WARNING
|
|
Never use the
|
|
.B \-w
|
|
option on a 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.
|
|
.PP
|
|
The
|
|
.B \-e
|
|
option will cause badblocks to output a possibly incomplete list of
|
|
bad blocks. Therefore it is recommended to use it only when one wants
|
|
to know if there are any bad blocks at all on the device, and not when
|
|
the list of bad blocks is wanted.
|
|
.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)
|