---
name: "mkfs"
section: "8"
platform: "linux"
package: "util-linux"
version: "2.42.4-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/mkfs"
---

# mkfs(8)

build a Linux filesystem

## NAME

mkfs - build a Linux filesystem

## SYNOPSIS

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

## DESCRIPTION

**This mkfs frontend is deprecated in favour of filesystem specific mkfs.\<type\> 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

- **-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

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

*David Engel* \<david@ods.com\>, *Fred N. van Kempen* \<waltje@uwalt.nl.mugnet.org\>, *Ron Sommeling* \<sommel@sci.kun.nl\>.

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

## SEE ALSO

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

## REPORTING BUGS

For bug reports, use the *issue tracker* \<https://github.com/util-linux/util-linux/issues\>.

## AVAILABILITY

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