HowTo: Formatting Linux Filesystem

by on January 30, 2006 · 9 comments· LAST UPDATED December 6, 2014

in , ,

How do I format Linux file system? Can you tell me command names to format and create a Linux file system?

Formatting Linux filesystem is an essential task for sysadmin and may required for many reasons such as installing a new disk on server. If you want to expand file system or you just add a new hard disk drive or create separate partitions for security and performance reasons. Whatever may be your reason(s) all file system creating involves creations of superblock, inode and other filesystem metadata structure. Fortunately, Linux comes with mkfs command to format filesystem. It is used to build a Linux file system on a device, usually a hard disk partition. General syntax of mkfs is as follows:
mkfs -t filetype /dev/DEVICE
OR
mkfs.ext3 /dev/DEVICE
OR
mkfs.ext4 /dev/DEVICE
Tutorial details
DifficultyEasy (rss)
Root privilegesYes
RequirementsNone
Estimated completion time5m

Where,

  • -t filetype : File system type, it can be ext3, ext2, etc4, vfat etc
  • /dev/DEVICE : Your device name i.e. partition /dev/hda1 or /dev/sda1 etc.

An example

Suppose you would like to format /dev/hda5 with ext3 file system.

Warning: The first task is to allocate disk space for Linux. You will need to set up a partitioning scheme for your hard disk using a program called fdisk command.

Step #1 Create the new filesystem with following command (first login in as a root user)

# mkfs.ext3 /dev/sda5
Sample outputs:

mke2fs 1.35 (28-Feb-2004)
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
30120 inodes, 120456 blocks
6022 blocks (5.00%) reserved for the super user
First data block=1
15 block groups
8192 blocks per group, 8192 fragments per group
2008 inodes per group
Superblock backups stored on blocks:
     8193, 24577, 40961, 57345, 73729
Writing inode tables: done
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 38 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.

Step # 2: Create mount point directory for the file system

# mkdir /datadisk1

Step # 3: Mount the new file system

# mount /dev/sda5 /datadisk1

Step # 4: Finally make sure file system /dev/hda5 automatically mounted at /datadisk1 mount point after system reboots. You need to add partition to /etc/fstab file. Use text editor such as vi to add following entry

# vi /etc/fstab

Add/append following entry to file:
/dev/sda5 /datadisk1 ext3 defaults 0 2

Where,

  • /dev/sda5 : File system or parition name
  • /datadisk1 : Mount point
  • ext3 : File system type
  • defaults : Mount options (Read man page of mount command for all options)
  • 0 : Indicates whether you need to include or exclude this filesystem from dump command backup. Zero means this filesystem does not required dump.
  • 2 : It is used by the fsck program to determine the order in which filesystem checks are done at reboot time. The root (/) filesystem should be specified with a #1, and otherfilesystems should have a # 2 value.

Save file and exit to shell prompt. For more information see mkfs(8) page.

TwitterFacebookGoogle+PDF versionFound an error/typo on this page? Help us!

{ 9 comments… read them below or add one }

1 Juan Francisco Giordana June 11, 2007 at 2:11 am

Correction: At the beginning of the post you use /dev/hda5 and at the end /dev/sda5.

Reply

2 nixCraft June 11, 2007 at 7:53 am

Thanks for the heads up. The post bas been updated.

Reply

3 Gagan Brahmi September 11, 2007 at 4:09 pm

Hi,

I don’t want to make this post look wrong, but there can be another command for creating a ext3 file system.

The following is the same:-

mke2fs -j /dev/sda5

Reply

4 daniel August 29, 2009 at 7:48 pm

“mke2fs -j /dev/sda5″ is correct. (id for etx3=83)
I want to know how to creat a qnx filesystem, id=50

Reply

5 ss November 15, 2009 at 11:19 am

i cant understand the format watever u write in dis……………..

Reply

6 TGB September 28, 2011 at 7:42 am

root@s1 [~]# mkfs.ext3 /dev/sdb1
mke2fs 1.39 (29-May-2006)
mkfs.ext3: No such device or address while trying to determine filesystem size

Why?

Reply

7 abdulsalamkp December 7, 2012 at 9:18 am

its very helpful comments. :)

Reply

8 Thijs January 21, 2013 at 9:48 pm

thanks!

Reply

9 drcreazy February 17, 2014 at 8:47 am

Please add info or link to article how to make partitions.

In case if you try make file system on whole device:
sudo mkfs.ext4 /dev/sdb
You get “/dev/sdb is entire device, not just one partition!” message.

In this case you need make at least one partition:
sudo fdisk /dev/sdb

Reply

Leave a Comment

Tagged as: , , , , , , ,

Previous Faq:

Next Faq: