mirror of
https://git.kernel.org/pub/scm/fs/ext2/e2fsprogs.git
synced 2024-11-28 04:23:45 +08:00
c16e610c51
Disambiguate the use of "-F" (force) flag for mke2fs to avoid dangerous situations. The use of -F is needed for regular backing files and for filesystems on whole block devices. It should NOT be confused with mke2fs on an apparently-mounted or in-use filesystem. Signed-off-by: Andreas Dilger <adilger@clusterfs.com> Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
503 lines
13 KiB
Groff
503 lines
13 KiB
Groff
.\" -*- nroff -*-
|
|
.\" Copyright 1993, 1994, 1995 by Theodore Ts'o. All Rights Reserved.
|
|
.\" This file may be copied under the terms of the GNU Public License.
|
|
.\"
|
|
.TH MKE2FS 8 "@E2FSPROGS_MONTH@ @E2FSPROGS_YEAR@" "E2fsprogs version @E2FSPROGS_VERSION@"
|
|
.SH NAME
|
|
mke2fs \- create an ext2/ext3 filesystem
|
|
.SH SYNOPSIS
|
|
.B mke2fs
|
|
[
|
|
.B \-c
|
|
|
|
|
.B \-l
|
|
.I filename
|
|
]
|
|
[
|
|
.B \-b
|
|
.I block-size
|
|
]
|
|
[
|
|
.B \-f
|
|
.I fragment-size
|
|
]
|
|
[
|
|
.B \-g
|
|
.I blocks-per-group
|
|
]
|
|
[
|
|
.B \-i
|
|
.I bytes-per-inode
|
|
]
|
|
[
|
|
.B \-I
|
|
.I inode-size
|
|
]
|
|
[
|
|
.B \-j
|
|
]
|
|
[
|
|
.B \-J
|
|
.I journal-options
|
|
]
|
|
[
|
|
.B \-N
|
|
.I number-of-inodes
|
|
]
|
|
[
|
|
.B -n
|
|
]
|
|
[
|
|
.B \-m
|
|
.I reserved-blocks-percentage
|
|
]
|
|
[
|
|
.B \-o
|
|
.I creator-os
|
|
]
|
|
[
|
|
.B \-O
|
|
.IR feature [,...]
|
|
]
|
|
[
|
|
.B \-q
|
|
]
|
|
[
|
|
.B \-r
|
|
.I fs-revision-level
|
|
]
|
|
[
|
|
.B \-E
|
|
.I extended-options
|
|
]
|
|
[
|
|
.B \-v
|
|
]
|
|
[
|
|
.B \-F
|
|
]
|
|
[
|
|
.B \-L
|
|
.I volume-label
|
|
]
|
|
[
|
|
.B \-M
|
|
.I last-mounted-directory
|
|
]
|
|
[
|
|
.B \-S
|
|
]
|
|
[
|
|
.B \-T
|
|
.I filesystem-type
|
|
]
|
|
[
|
|
.B \-V
|
|
]
|
|
.I device
|
|
[
|
|
.I blocks-count
|
|
]
|
|
@JDEV@.sp
|
|
@JDEV@.B "mke2fs \-O journal_dev"
|
|
@JDEV@[
|
|
@JDEV@.B \-b
|
|
@JDEV@.I block-size
|
|
@JDEV@]
|
|
.\" No external-journal specific journal options yet (size is ignored)
|
|
.\" @JDEV@[
|
|
.\" @JDEV@.B \-J
|
|
.\" @JDEV@.I journal-options
|
|
.\" @JDEV@]
|
|
@JDEV@[
|
|
@JDEV@.B \-L
|
|
@JDEV@.I volume-label
|
|
@JDEV@]
|
|
@JDEV@[
|
|
@JDEV@.B \-n
|
|
@JDEV@]
|
|
@JDEV@[
|
|
@JDEV@.B \-q
|
|
@JDEV@]
|
|
@JDEV@[
|
|
@JDEV@.B \-v
|
|
@JDEV@]
|
|
@JDEV@.I external-journal
|
|
@JDEV@[
|
|
@JDEV@.I blocks-count
|
|
@JDEV@]
|
|
.SH DESCRIPTION
|
|
.B mke2fs
|
|
is used to create an ext2/ext3 filesystem (usually in a disk partition).
|
|
.I device
|
|
is the special file corresponding to the device (e.g
|
|
.IR /dev/hdXX ).
|
|
.I blocks-count
|
|
is the number of blocks on the device. If omitted,
|
|
.B mke2fs
|
|
automagically figures the file system size. If called as
|
|
.B mkfs.ext3
|
|
a journal is created as if the
|
|
.B \-j
|
|
option was specified.
|
|
.SH OPTIONS
|
|
.TP
|
|
.BI \-b " block-size"
|
|
Specify the size of blocks in bytes. Valid block size vales are 1024,
|
|
2048 and 4096 bytes per block. If omitted,
|
|
.B mke2fs
|
|
block-size is heuristically determined by the file system size and
|
|
the expected usage of the filesystem (see the
|
|
.B \-T
|
|
option). If
|
|
.I block-size
|
|
is negative, then
|
|
.B mke2fs
|
|
will use heuristics to determine the
|
|
appropriate block size, with the constraint that the block size will be
|
|
at least
|
|
.I block-size
|
|
bytes. This is useful for certain hardware devices which require that
|
|
the blocksize be a multiple of 2k.
|
|
.TP
|
|
.B \-c
|
|
Check the device for bad blocks before creating the file system. If
|
|
this option is specified twice, then a slower, read-write
|
|
test is used instead of a fast read-only test.
|
|
.TP
|
|
.BI \-E " extended-options"
|
|
Set extended options for the filesystem. Extended options are comma
|
|
separated, and may take an argument using the equals ('=') sign. The
|
|
.B -E
|
|
option used to be
|
|
.B -R
|
|
in earlier versions of
|
|
.BR mke2fs .
|
|
The
|
|
.B -R
|
|
option is still accepted for backwards compatibility. The
|
|
following extended options are supported:
|
|
.RS 1.2i
|
|
.TP
|
|
.BI stride= stripe-size
|
|
Configure the filesystem for a RAID array with
|
|
.I stripe-size
|
|
filesystem blocks per stripe.
|
|
.TP
|
|
.BI resize= max-online-resize
|
|
Reserve enough space so that the block group descriptor table can grow
|
|
to support a filesystem that has max-online-resize blocks.
|
|
.RE
|
|
.TP
|
|
.BI \-f " fragment-size"
|
|
Specify the size of fragments in bytes.
|
|
.TP
|
|
.B \-F
|
|
Force
|
|
.B mke2fs
|
|
to create a filesystem, even if the specified device is not a partition
|
|
on a block special device, or if other parameters do not make sense.
|
|
In order to force
|
|
.B mke2fs
|
|
to create a filesystem even if the filesystem appears to be in use
|
|
or is mounted (a truly dangerous thing to do), this option must be
|
|
specified twice.
|
|
.TP
|
|
.BI \-g " blocks-per-group"
|
|
Specify the number of blocks in a block group. There is generally no
|
|
reason the user to ever set this parameter, as the default is optimal
|
|
for the filesystem. (For administrators who are creating
|
|
filesystems on RAID arrays, it is preferable to use the
|
|
.I stride
|
|
RAID parameter as part of the
|
|
.B \-R
|
|
option rather than manipulating the number of blocks per group.)
|
|
This option is generally used by developers who
|
|
are developing test cases.
|
|
.TP
|
|
.BI \-i " bytes-per-inode"
|
|
Specify the bytes/inode ratio.
|
|
.B mke2fs
|
|
creates an inode for every
|
|
.I bytes-per-inode
|
|
bytes of space on the disk. The larger the
|
|
.I bytes-per-inode
|
|
ratio, the fewer inodes will be created. This value generally shouldn't
|
|
be smaller than the blocksize of the filesystem, since then too many
|
|
inodes will be made. Be warned that is not possible to expand the number
|
|
of inodes on a filesystem after it is created, so be careful deciding the
|
|
correct value for this parameter.
|
|
.TP
|
|
.BI \-I " inode-size"
|
|
Specify the size of each inode in bytes.
|
|
.B mke2fs
|
|
creates 128-byte inodes by default. In kernels after 2.6.10 and some
|
|
earlier vendor kernels it is possible to utilize larger inodes to store
|
|
extended attributes for improved performance. The
|
|
.I inode-size
|
|
value must be a power of two larger or equal to 128. The larger the
|
|
.I inode-size
|
|
the more space the inode table will consume, and this reduces the usable
|
|
space in the filesystem and can also negatively impact performance. Using
|
|
the default value is always safe, though it may be desirable to use 256-byte
|
|
inodes if full backward compatibility is not a concern. Extended attributes
|
|
stored in large inodes are not visible with older kernels, and such
|
|
filesystems will not be mountable with 2.4 kernels at all. It is not
|
|
possible to change this value after the filesystem is created.
|
|
.TP
|
|
.B \-j
|
|
Create the filesystem with an ext3 journal. If the
|
|
.B \-J
|
|
option is not specified, the default journal parameters will be used to
|
|
create an appropriately sized journal (given the size of the filesystem)
|
|
stored within the filesystem. Note that you must be using a kernel
|
|
which has ext3 support in order to actually make use of the journal.
|
|
.TP
|
|
.BI \-J " journal-options"
|
|
Create the ext3 journal using options specified on the command-line.
|
|
Journal options are comma
|
|
separated, and may take an argument using the equals ('=') sign.
|
|
The following journal options are supported:
|
|
.RS 1.2i
|
|
.TP
|
|
.BI size= journal-size
|
|
Create an internal journal (i.e., stored inside the filesystem) of size
|
|
.I journal-size
|
|
megabytes.
|
|
The size of the journal must be at least 1024 filesystem blocks
|
|
(i.e., 1MB if using 1k blocks, 4MB if using 4k blocks, etc.)
|
|
and may be no more than 102,400 filesystem blocks.
|
|
@JDEV@.TP
|
|
@JDEV@.BI device= external-journal
|
|
@JDEV@Attach the filesystem to the journal block device located on
|
|
@JDEV@.IR external-journal .
|
|
@JDEV@The external
|
|
@JDEV@journal must already have been created using the command
|
|
@JDEV@.IP
|
|
@JDEV@.B mke2fs -O journal_dev
|
|
@JDEV@.I external-journal
|
|
@JDEV@.IP
|
|
@JDEV@Note that
|
|
@JDEV@.I external-journal
|
|
@JDEV@must have been created with the
|
|
@JDEV@same block size as the new filesystem.
|
|
@JDEV@In addition, while there is support for attaching
|
|
@JDEV@multiple filesystems to a single external journal,
|
|
@JDEV@the Linux kernel and
|
|
@JDEV@.BR e2fsck (8)
|
|
@JDEV@do not currently support shared external journals yet.
|
|
@JDEV@.IP
|
|
@JDEV@Instead of specifying a device name directly,
|
|
@JDEV@.I external-journal
|
|
@JDEV@can also be specified by either
|
|
@JDEV@.BI LABEL= label
|
|
@JDEV@or
|
|
@JDEV@.BI UUID= UUID
|
|
@JDEV@to locate the external journal by either the volume label or UUID
|
|
@JDEV@stored in the ext2 superblock at the start of the journal. Use
|
|
@JDEV@.BR dumpe2fs (8)
|
|
@JDEV@to display a journal device's volume label and UUID. See also the
|
|
@JDEV@.B -L
|
|
@JDEV@option of
|
|
@JDEV@.BR tune2fs (8).
|
|
.RE
|
|
@JDEV@.IP
|
|
@JDEV@Only one of the
|
|
@JDEV@.BR size " or " device
|
|
@JDEV@options can be given for a filesystem.
|
|
.TP
|
|
.BI \-l " filename"
|
|
Read the bad blocks list from
|
|
.IR filename .
|
|
Note that the block numbers in the bad block list must be generated
|
|
using the same block size as used by mke2fs. As a result, the
|
|
.B \-c
|
|
option to
|
|
.B mke2fs
|
|
is a much simpler and less error-prone method of checking a disk for bad
|
|
blocks before formatting it, as
|
|
.B mke2fs
|
|
will automatically pass the correct parameters to the
|
|
.B badblocks
|
|
program.
|
|
.TP
|
|
.BI \-L " new-volume-label"
|
|
Set the volume label for the filesystem to
|
|
.IR new-volume-label .
|
|
The maximum length of the
|
|
volume label is 16 bytes.
|
|
.TP
|
|
.BI \-m " reserved-blocks-percentage"
|
|
Specify the percentage of the filesystem blocks reserved for
|
|
the super-user. This avoids fragmentation, and allows root-owned
|
|
daemons, such as
|
|
.BR syslogd (8),
|
|
to continue to function correctly after non-privileged processes are
|
|
prevented from writing to the filesystem. The default percentage
|
|
is 5%.
|
|
.TP
|
|
.B \-M
|
|
Set the last mounted directory for the filesystem. This might be useful
|
|
for the sake of utilities that key off of the last mounted directory to
|
|
determine where the filesystem should be mounted.
|
|
.TP
|
|
.B \-n
|
|
causes mke2fs to not actually create a filesystem, but display what it
|
|
would do if it were to create a filesystem. This can be used to
|
|
determine the location of the backup superblocks for a particular
|
|
filesystem, so long as the mke2fs parameters that were passed when the
|
|
filesystem was originally created are used again. (With the
|
|
.B \-n
|
|
option added, of course!)
|
|
.TP
|
|
.BI \-N " number-of-inodes"
|
|
overrides the default calculation of the number of inodes that should be
|
|
reserved for the filesystem (which is based on the number of blocks and
|
|
the
|
|
.I bytes-per-inode
|
|
ratio). This allows the user to specify the number
|
|
of desired inodes directly.
|
|
.TP
|
|
.BI \-o " creator-os"
|
|
Manually override the default value of the "creator os" field of the
|
|
filesystem. Normally the creator field is set by default to the native OS
|
|
of the
|
|
.B mke2fs
|
|
executable.
|
|
.TP
|
|
.B "\-O \fIfeature\fR[,...]"
|
|
Create filesystem with given features (filesystem options), overriding
|
|
the default filesystem options. The default features which are
|
|
enabled by default are specified by the
|
|
.I base_features
|
|
relation, either in the
|
|
.I [libdefaults]
|
|
section in the
|
|
.B /etc/mke2fs.conf
|
|
configuration file, or in the subsection of the
|
|
.I [fs_types]
|
|
section for the filesystem type as specified by the
|
|
.B -T
|
|
option. The filesystem type-specific configuration setting found in
|
|
the
|
|
.I [fs_types]
|
|
section will override the global default found in
|
|
.IR [libdefaults] .
|
|
.sp
|
|
The filesystem feature set will be further edited
|
|
using either the feature set specification specified by this option,
|
|
or if this option is not specified, by the
|
|
.I default_features
|
|
relation for the filesystem type being created, or in the
|
|
.I [libdefaults]
|
|
section of the configuration file.
|
|
.sp
|
|
The filesystem feature set is comprised of a list of features, separated
|
|
by commas, that are to be enabled. To disable a feature, simply
|
|
prefix the feature name with a caret ('^') character. The
|
|
pseudo-filesystem feature "none" will clear all filesystem features.
|
|
.RS 1.2i
|
|
.TP
|
|
.B dir_index
|
|
Use hashed b-trees to speed up lookups in large directories.
|
|
.TP
|
|
.B filetype
|
|
Store file type information in directory entries.
|
|
.TP
|
|
.B has_journal
|
|
Create an ext3 journal (as if using the
|
|
.B \-j
|
|
option).
|
|
@JDEV@.TP
|
|
@JDEV@.B journal_dev
|
|
@JDEV@Create an external ext3 journal on the given device
|
|
@JDEV@instead of a regular ext2 filesystem.
|
|
@JDEV@Note that
|
|
@JDEV@.I external-journal
|
|
@JDEV@must be created with the same
|
|
@JDEV@block size as the filesystems that will be using it.
|
|
.TP
|
|
.B resize_inode
|
|
Reserve space so the block group descriptor table may grow in the future.
|
|
Useful for online resizing using
|
|
.BR resize2fs .
|
|
By default
|
|
.B mke2fs
|
|
will attempt to reserve enough space so that the
|
|
filesystem may grow to 1024 times its initial size. This can be changed
|
|
using
|
|
.B resize
|
|
extended option.
|
|
.TP
|
|
.B sparse_super
|
|
Create a filesystem with fewer superblock backup copies
|
|
(saves space on large filesystems).
|
|
.RE
|
|
.TP
|
|
.B \-q
|
|
Quiet execution. Useful if
|
|
.B mke2fs
|
|
is run in a script.
|
|
.TP
|
|
.BI \-r " revision"
|
|
Set the filesystem revision for the new filesystem. Note that 1.2
|
|
kernels only support revision 0 filesystems. The default is to
|
|
create revision 1 filesystems.
|
|
.TP
|
|
.B \-S
|
|
Write superblock and group descriptors only. This is useful if all of
|
|
the superblock and backup superblocks are corrupted, and a last-ditch
|
|
recovery method is desired. It causes
|
|
.B mke2fs
|
|
to reinitialize the
|
|
superblock and group descriptors, while not touching the inode table
|
|
and the block and inode bitmaps. The
|
|
.B e2fsck
|
|
program should be run immediately after this option is used, and there
|
|
is no guarantee that any data will be salvageable. It is critical to
|
|
specify the correct filesystem blocksize when using this option,
|
|
or there is no chance of recovery.
|
|
.\" .TP
|
|
.\" .BI \-t " test"
|
|
.\" Check the device for bad blocks before creating the file system
|
|
.\" using the specified test.
|
|
.TP
|
|
.BI \-T " fs-type"
|
|
Specify how the filesystem is going to be used, so that
|
|
.B mke2fs
|
|
can choose optimal filesystem parameters for that use. The filesystem
|
|
types that are can be supported are defined in the configuration file
|
|
.BR /etc/mke2fs.conf (5).
|
|
The default configuration file contains definitions for the filesystem
|
|
types: small, floppy, news, largefile, and largefile4.
|
|
.TP
|
|
.B \-v
|
|
Verbose execution.
|
|
.TP
|
|
.B \-V
|
|
Print the version number of
|
|
.B mke2fs
|
|
and exit.
|
|
.SH AUTHOR
|
|
This version of
|
|
.B mke2fs
|
|
has been written by Theodore Ts'o <tytso@mit.edu>.
|
|
.SH BUGS
|
|
.B mke2fs
|
|
accepts the
|
|
.B \-f
|
|
option but currently ignores it because the second
|
|
extended file system does not support fragments yet.
|
|
.br
|
|
There may be other ones. Please, report them to the author.
|
|
.SH AVAILABILITY
|
|
.B mke2fs
|
|
is part of the e2fsprogs package and is available from
|
|
http://e2fsprogs.sourceforge.net.
|
|
.SH SEE ALSO
|
|
.BR mke2fs.conf (5),
|
|
.BR badblocks (8),
|
|
.BR dumpe2fs (8),
|
|
.BR e2fsck (8),
|
|
.BR tune2fs (8)
|