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:
-
Check UUID/Type:
lsblk -f # or sudo blkid /dev/sdb1 -
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 viamkfs.btrfs.vfat/exfat: Cross-platform USB drives.