Skip to content

mkfs Command Cheat Sheet

mkfs (make filesystem) is used to build a Linux filesystem on a device, usually a hard disk partition. It is actually a wrapper for filesystem-specific builders like mkfs.ext4, mkfs.xfs, etc.

⚠️ DATA LOSS WARNING: Running this on a partition destroys all data on it.


Synopsis

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

Common Filesystems

EXT4 (Linux Standard)

sudo mkfs.ext4 /dev/sdb1

XFS (High Performance)

sudo mkfs.xfs /dev/sdb1

VFAT (Universal Compatibility)

Readable by Windows, Mac, Linux. Good for USB keys.

sudo mkfs.vfat /dev/sdb1

NTFS (Windows)

Requires ntfs-3g.

sudo mkfs.ntfs /dev/sdb1

Basic Options

Set Label (-L)

Assign a volume label name.

sudo mkfs.ext4 -L "BACKUP_DRIVE" /dev/sdb1

Check for Bad Blocks (-c)

Checks the device for bad blocks before building (Slow!).

sudo mkfs.ext4 -c /dev/sdb1

Dry Run (-n)

Shows what it would do without actually formatting.

sudo mkfs.ext4 -n /dev/sdb1

Advanced: Tweak ext4

Reserved Blocks (-m)

By default, ext4 reserves 5% of space for root. For a 4TB drive, that's 200GB wasted! Set it to 0% (for data drives) or 1%.

sudo mkfs.ext4 -m 0 /dev/sdb1

Inodes

If you plan to store millions of tiny files, you might need more inodes.

sudo mkfs.ext4 -N 10000000 /dev/sdb1

Verification

After formatting:

  1. Check UUID/Type:

    lsblk -f
    # or
    sudo blkid /dev/sdb1
    

  2. Mount it:

    sudo mount /dev/sdb1 /mnt
    


Notes

  • Which fs to choose?
    • ext4: Safe, reliable default for almost everything.
    • xfs: Excellent for large parallel operations/servers.
    • btrfs: Advanced (snapshots, checksums), usually used via mkfs.btrfs.
    • vfat/exfat: Cross-platform USB drives.