mkfs.ext2 Command in Linux

Introduction

In this comprehensive guide, you will explore the usage of the mkfs.ext2 command for creating an ext2 file system on a designated partition. The ext2 file system, a cornerstone of Linux system administration, stands as a time-tested and prevalent choice within the Linux operating system. This tutorial will provide instruction on generating ext2 file systems with tailored parameters, encompassing block size and inode allocation. The lab will also provide the fundamentals of the mkfs.ext2 command, covering its syntax and commonly used options. This exercise aims to enhance your expertise in essential disk and file system utilities, which are indispensable for effective systemadmin responsibilities within a Linux environment.

Introduction to the mkfs.ext2 Command

This section introduces the mkfs.ext2 command, a vital tool for any systemadmin, essential for creating ext2 file systems on specified partitions. Recognized as one of the earliest and most commonly employed file systems in Linux, ext2 plays a crucial role in data management.

The mkfs.ext2 command's primary function is formatting partitions or block devices utilizing the ext2 file system. Ext2 is a journaling file system, a feature that ensures data integrity by maintaining a record of all modifications, offering superior resilience against system failures or power outages compared to non-journaling systems.

To instantiate an ext2 file system, employ the following command structure:

sudo mkfs.ext2 /dev/sdb1

Executing this command will establish an ext2 file system on the designated /dev/sdb1 partition.

Example output:

mke2fs 1.46.5 (30-Dec-2021)
Creating filesystem with 2621440 1k-blocks and 655360 inodes
Filesystem UUID: 5e7c1c2f-0c7a-4f3e-b9d6-a9d4d5e8b7a0
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632

Allocating group tables: done
Writing inode tables: done
Creating journal (16384 blocks): done
Writing superblocks and filesystem accounting information: done

The mkfs.ext2 command offers a suite of options allowing customization of the file system. Options include setting block size, determining the number of inodes, and assigning a file system label. Consult the man mkfs.ext2 page for a comprehensive list of available options and their functions.

Creating an ext2 File System on a Partition

This step-by-step guide details the process of creating an ext2 file system on a specified partition using the mkfs.ext2 command, a key skill for any aspiring systemadmin.

Begin by creating a new partition on your virtual disk, for which you can utilize the fdisk command:

sudo fdisk /dev/sdb

Follow the instructions to create a new partition. Once the partition is successfully created, proceed to format it with the ext2 file system using the mkfs.ext2 command:

sudo mkfs.ext2 /dev/sdb1

This action will establish an ext2 file system on the /dev/sdb1 partition. Enhance your control over the file system by employing additional options with the mkfs.ext2 command to modify parameters such as block size, number of inodes, and file system label.

Example output:

mke2fs 1.46.5 (30-Dec-2021)
Creating filesystem with 2621440 1k-blocks and 655360 inodes
Filesystem UUID: 5e7c1c2f-0c7a-4f3e-b9d6-a9d4d5e8b7a0
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632

Allocating group tables: done
Writing inode tables: done
Creating journal (16384 blocks): done
Writing superblocks and filesystem accounting information: done

Following successful formatting, mount the ext2 file system to a desired directory to begin utilization.

Formatting an ext2 File System with Custom Parameters

This section delves into the customization of ext2 file systems through the mkfs.ext2 command, allowing for fine-grained control over file system attributes. A valuable tool for any systemadmin.

The mkfs.ext2 command offers a multitude of options to customize the file system creation. Key options include:

  • -b or --block-size: Determines the block size of the file system. The default is 1024 bytes.
  • -i or --inode-ratio: Establishes the ratio of inodes to blocks. The default value is 16384.
  • -L or --label: Defines the file system label for easier identification.
  • -m or --reserved-blocks-percentage: Sets the percentage of file system blocks reserved for the root user. The default allocation is 5%.

Here's an example demonstrating the creation of an ext2 file system with a block size of 4096 bytes, an inode ratio of 8192, and the label "my_ext2_fs":

sudo mkfs.ext2 -b 4096 -i 8192 -L my_ext2_fs /dev/sdb1

Example output:

mke2fs 1.46.5 (30-Dec-2021)
Creating filesystem with 2621440 4k blocks and 655360 inodes
Filesystem UUID: 5e7c1c2f-0c7a-4f3e-b9d6-a9d4d5e8b7a0
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632

Allocating group tables: done
Writing inode tables: done
Creating journal (16384 blocks): done
Writing superblocks and filesystem accounting information: done

Confirm the customized file system parameters by utilizing the tune2fs command:

sudo tune2fs -l /dev/sdb1

This will output the configured file system parameters, including block size, inode ratio, and the assigned file system label.

Summary

This lab provided an in-depth exploration of the mkfs.ext2 command, a fundamental tool for creating ext2 file systems on partitions. The ext2 file system remains a relevant and widely adopted choice within the Linux operating system. You gained practical knowledge on creating ext2 file systems and the art of customizing them through a variety of command options.

400+ Linux Commands