mkdosfs
create an MS-DOS file system under Linux
see also :
dosfsck - dosfslabel - mkfs
Synopsis
mkdosfs|mkfs.msdos|mkfs.vfat
[ -a ] [ -A ] [ -b
sector-of-backup ] [ -c ] [
-l filename ] [ -C ] [
-f number-of-FATs ] [ -F
FAT-size ] [ -h
number-of-hidden-sectors ] [ -i
volume-id ] [ -I ] [ -m
message-file ] [ -n volume-name ]
[ -r root-dir-entries ] [
-R number-of-reserved-sectors ] [
-s sectors-per-cluster ] [
-S logical-sector-size ] [
-v ] device [ block-count ]
add an example, a script, a trick and tips
examples
no example yet ...
... Feel free to add your own example above to help other Linux-lovers !
description
mkdosfs
is used to create an MS-DOS file system under Linux on a
device (usually a disk partition). device is the
special file corresponding to the device (e.g /dev/hdXX).
block-count is the number of blocks on the device. If
omitted, mkdosfs automatically determines the file
system size.
options
-a
Normally, for any filesystem
except very small ones, mkdosfs will align all the
data structures to cluster size, to make sure that as long
as the partition is properly aligned, so will all the data
structures in the filesystem. This option disables
alignment; this may provide a handful of additional clusters
of storage at the expense of a significant performance
degradation on RAIDs, flash media or large-sector hard
disks.
-A
Use Atari variation of the MS-DOS file system. This is
default if mkdosfs is run on an Atari, then this
option turns off Atari format. There are some differences
when using Atari format: If not directed otherwise by the
user, mkdosfs will always use 2 sectors per cluster,
since GEMDOS doesn’t like other values very much. It
will also obey the maximum number of sectors GEMDOS can
handle. Larger file systems are managed by raising the
logical sector size. Under Atari format, an Atari-compatible
serial number for the file system is generated, and a 12 bit
FAT is used only for file systems that have one of the usual
floppy sizes (720k, 1.2M, 1.44M, 2.88M), a 16 bit FAT
otherwise. This can be overridden with the -F
option. Some PC-specific boot sector fields aren’t
written, and a boot message (option -m) is
ignored.
-b
sector-of-backup
Selects the location of the
backup boot sector for FAT32. Default depends on number of
reserved sectors, but usually is sector 6. The backup must
be within the range of reserved sectors.
-c
Check the device for bad blocks before creating the file
system.
-C
Create the file given as device on the command
line, and write the to-be-created file system to it. This
can be used to create the new file system in a file instead
of on a real device, and to avoid using dd in advance
to create a file of appropriate size. With this option, the
block-count must be given, because otherwise the
intended size of the file system wouldn’t be known.
The file created is a sparse file, which actually only
contains the meta-data areas (boot sector, FATs, and root
directory). The data portions won’t be stored on the
disk, but the file nevertheless will have the correct size.
The resulting file can be copied later to a floppy disk or
other device, or mounted through a loop device.
-f
number-of-FATs
Specify the number of file
allocation tables in the file system. The default is 2.
Currently the Linux MS-DOS file system does not support more
than 2 FATs.
-F
FAT-size
Specifies the type of file
allocation tables used (12, 16 or 32 bit). If nothing is
specified, mkdosfs will automatically select between
12, 16 and 32 bit, whatever fits better for the file system
size.
-h
number-of-hidden-sectors
Select the number of hidden
sectors in the volume. Apparently some digital cameras get
indigestion if you feed them a CF card without such hidden
sectors, this option allows you to satisfy them. Assumes
´0´ if no value is given on the command
line.
-i volume-id
Sets the volume ID of the newly
created file system; volume-id is a 32-bit
hexadecimal number (for example, 2e24ec82). The default is a
number which depends on the file system creation time.
-I
It is typical for fixed disk devices to be partitioned
so, by default, you are not permitted to create a filesystem
across the entire device. mkdosfs will complain and
tell you that it refuses to work. This is different when
using MO disks. One doesn’t always need partitions on
MO disks. The file system can go directly to the whole disk.
Under other OSes this is known as the
’superfloppy’ format.
This switch
will force mkdosfs to work properly.
-l
filename
Read the bad blocks list from
filename.
-m
message-file
Sets the message the user
receives on attempts to boot this file system without having
properly installed an operating system. The message file
must not exceed 418 bytes once line feeds have been
converted to carriage return-line feed combinations, and
tabs have been expanded. If the filename is a hyphen (-),
the text is taken from standard input.
-n
volume-name
Sets the volume name (label) of
the file system. The volume name can be up to 11 characters
long. The default is no label.
-r
root-dir-entries
Select the number of entries
available in the root directory. The default is 112 or 224
for floppies and 512 for hard disks.
-R
number-of-reserved-sectors
Select the number of reserved
sectors. With FAT32 format at least 2 reserved sectors are
needed, the default is 32. Otherwise the default is 1 (only
the boot sector).
-s
sectors-per-cluster
Specify the number of disk
sectors per cluster. Must be a power of 2, i.e. 1, 2, 4, 8,
... 128.
-S
logical-sector-size
Specify the number of bytes per
logical sector. Must be a power of 2 and greater than or
equal to 512, i.e. 512, 1024, 2048, 4096, 8192, 16384, or
32768.
acknowledgments
mkdosfs is based on code from mke2fs (written by
Remy Card - <card[:at:]masi.ibp[:dot:]fr>) which is itself
based on mkfs (written by Linus Torvalds -
<torvalds[:at:]cs.helsinki[:dot:]fi>).
bugs
mkdosfs
can not create boot-able file systems. This isn’t as
easy as you might think at first glance for various reasons
and has been discussed a lot already. mkdosfs simply
will not support it ;)
see also
dosfsck ,
dosfslabel , mkfs
author
Dave Hudson -
<dave[:at:]humbug.demon.co[:dot:]uk>; modified by Peter Anvin
<hpa[:at:]yggdrasil[:dot:]com>. Fixes and additions by Roman
Hodek <roman[:at:]hodek[:dot:]net> for Debian/GNU Linux.