mirror of
https://git.kernel.org/pub/scm/fs/ext2/e2fsprogs.git
synced 2024-11-24 18:43:53 +08:00
a141135451
line, default to -As. (Addresses Debian Bug #153102) badblocks.8.in: Clarify why it's bad to do a non-destructive test on a r/o mounted filesystem. (Addresses Debian Bug #131350)
181 lines
4.9 KiB
Groff
181 lines
4.9 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 \-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.
|
|
.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 is very dependent on the
|
|
block size in use. 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.
|
|
.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 either can cause the system to
|
|
potentially crash and/or damage the filesystem even if it is mounted
|
|
read-only. This can be overriden 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 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 combined 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)
|