'\" t
.TH mbadblocks 1 "08Jan22" mtools-4.0.37
.SH Name
mbadblocks - tests a floppy disk, and marks the bad blocks in the FAT
'\" t
.de TQ
.br
.ns
.TP \\$1
..

.tr \(is'
.tr \(if`
.tr \(pd"

.SH Note\ of\ warning
This manpage has been automatically generated from mtools's texinfo
documentation, and may not be entirely accurate or complete.  See the
end of this man page for details.
.PP
.SH Description
.PP
The \fR\&\f(CWmbadblocks\fR command is used to mark some clusters on an
MS-DOS filesystem bad. It has the following syntax:
.PP
\&\fR\&\f(CWmbadblocks\fR [\fR\&\f(CW-s\fR \fIsectorlist\fR|\fR\&\f(CW-c\fR \fIclusterlist\fR|-w] \fIdrive\fR\fR\&\f(CW:\fR
.PP
If no command line flags are supplied, \fR\&\f(CWMbadblocks\fR scans an
MS-DOS filesystem for bad blocks by simply trying to read them and
flag them if read fails. All blocks that are unused are scanned, and
if detected bad are marked as such in the FAT.
.PP
This command is intended to be used right after \fR\&\f(CWmformat\fR.  It is
not intended to salvage data from bad disks.
.PP
.SH Command\ line\ options
.TP
\&\fR\&\f(CWc\ \fIfile\fR\&\f(CW\fR\ 
Use a list of bad clusters, rather than scanning for bad clusters
itself.
.TP
\&\fR\&\f(CWs\ \fIfile\fR\&\f(CW\fR\ 
Use a list of bad sectors (counted from beginning of filesystem),
rather than trying for bad clusters itself.
.TP
\&\fR\&\f(CWw\fR\ 
Write a random pattern to each cluster, then read it back and flag
cluster as bad if mismatch. Only free clusters are tested in such a
way, so any file data is preserved.
.PP
.SH Bugs
\&\fR\&\f(CWMbadblocks\fR should (but doesn't yet :-( ) also try to salvage bad
blocks which are in use by reading them repeatedly, and then mark them
bad.
.PP
.SH See\ Also
Mtools' texinfo doc
.SH Viewing\ the\ texi\ doc
This manpage has been automatically generated from mtools's texinfo
documentation. However, this process is only approximative, and some
items, such as crossreferences, footnotes and indices are lost in this
translation process.  Indeed, these items have no appropriate
representation in the manpage format.  Moreover, not all information has
been translated into the manpage version.  Thus I strongly advise you to
use the original texinfo doc.  See the end of this manpage for
instructions how to view the texinfo doc.
.TP
* \ \ 
To generate a printable copy from the texinfo doc, run the following
commands:
 
.nf
.ft 3
.in +0.3i
    ./configure; make dvi; dvips mtools.dvi
.fi
.in -0.3i
.ft R
.PP
 
\&\fR
.TP
* \ \ 
To generate a html copy,  run:
 
.nf
.ft 3
.in +0.3i
    ./configure; make html
.fi
.in -0.3i
.ft R
.PP
 
\&\fRA premade html can be found at
\&\fR\&\f(CW\(ifhttp://www.gnu.org/software/mtools/manual/mtools.html\(is\fR
.TP
* \ \ 
To generate an info copy (browsable using emacs' info mode), run:
 
.nf
.ft 3
.in +0.3i
    ./configure; make info
.fi
.in -0.3i
.ft R
.PP
 
\&\fR
.PP
The texinfo doc looks most pretty when printed or as html.  Indeed, in
the info version certain examples are difficult to read due to the
quoting conventions used in info.
.PP
