MKFS(8) System Administration MKFS(8)

# [NAME](#NAME)

mkfs - build a Linux filesystem

# [SYNOPSIS](#SYNOPSIS)

**mkfs** \[options] \[**-t** *type*] \[*fs-options*] *device* \[*size*]

# [DESCRIPTION](#DESCRIPTION)

**This mkfs frontend is deprecated in favour of filesystem specific mkfs.&lt;type&gt; utils.**

**mkfs** is used to build a Linux filesystem on a device, usually a hard disk partition. The *device* argument is either the device name (e.g., */dev/hda1*, */dev/sdb2*), or a regular file that shall contain the filesystem. The *size* argument is the number of blocks to be used for the filesystem.

The exit status returned by **mkfs** is 0 on success and 1 on failure.

In actuality, **mkfs** is simply a front-end for the various filesystem builders (**mkfs.fstype**) available under Linux. The filesystem-specific builder is searched for via your **PATH** environment setting only. Please see the filesystem-specific builder manual pages for further details.

# [OPTIONS](#OPTIONS)

**-t**, **--type** *type*

Specify the *type* of filesystem to be built. If not specified, the default filesystem type (currently ext2) is used.

*fs-options*

Filesystem-specific options to be passed to the real filesystem builder.

**-V**, **--verbose**

Produce verbose output, including all filesystem-specific commands that are executed. Specifying this option more than once inhibits execution of any filesystem-specific commands. This is really only useful for testing.

**-h**, **--help**

Display help text and exit.

**-V**, **--version**

Display version and exit. (Option **-V** will display version information only when it is the only parameter, otherwise it will work as **--verbose**.)

# [BUGS](#BUGS)

All generic options must precede and not be combined with filesystem-specific options. Some filesystem-specific programs do not automatically detect the device size and require the *size* parameter to be specified.

# [AUTHORS](#AUTHORS)

*David Engel* &lt;david@ods.com&gt;, *Fred N. van Kempen* &lt;waltje@uwalt.nl.mugnet.org&gt;, *Ron Sommeling* &lt;sommel@sci.kun.nl&gt;.

The manual page was shamelessly adapted from Remy Card’s version for the ext2 filesystem.

# [SEE ALSO](#SEE_ALSO)

[**fs**(5)](/man/os/util-linux/fs.5), [**badblocks**(8)](/man/os/util-linux/badblocks.8), [**fsck**(8)](/man/os/util-linux/fsck.8), [**mkdosfs**(8)](/man/os/util-linux/mkdosfs.8), [**mke2fs**(8)](/man/os/util-linux/mke2fs.8), [**mkfs.bfs**(8)](/man/os/util-linux/mkfs.bfs.8), [**mkfs.ext2**(8)](/man/os/util-linux/mkfs.ext2.8), [**mkfs.ext3**(8)](/man/os/util-linux/mkfs.ext3.8), [**mkfs.ext4**(8)](/man/os/util-linux/mkfs.ext4.8), [**mkfs.minix**(8)](/man/os/util-linux/mkfs.minix.8), [**mkfs.msdos**(8)](/man/os/util-linux/mkfs.msdos.8), [**mkfs.vfat**(8)](/man/os/util-linux/mkfs.vfat.8), [**mkfs.xfs**(8)](/man/os/util-linux/mkfs.xfs.8)

# [REPORTING BUGS](#REPORTING_BUGS)

For bug reports, use the *issue tracker* &lt;https://github.com/util-linux/util-linux/issues&gt;.

# [AVAILABILITY](#AVAILABILITY)

The **mkfs** command is part of the util-linux package which can be downloaded from *Linux Kernel Archive* &lt;https://www.kernel.org/pub/linux/utils/util-linux/&gt;.

2026-09-25 util-linux 2.42.4

---

Document: mkfs(8) from util-linux 2.42.4-r0 (Chainguard OS)
