Hi, creating and deleting partitions in Linux generally done in command line interface which makes some user confused. Here I will look it more detail but if you prefer GUI you can use gparted too

Man

In order to get more detailed help man page of fdisk can be used.

$ man fdisk

Help

Simple and fast way to get fdisk options with the parameters following command can be used.

$ fdisk -h

List Disks

Disk on the Linux system can be listed with the following fdisk command. In order to get detailed information about disks fdisk need root privileges. In the recent versions of Ubuntu the special disk named ram disks also listed with -l parameter.

$ sudo fdisk -l

As we see from the screenshot information like disk name, path, size, sectors count, logical and physical sector sizes are provided with the command.

Fdisk Interactive Shell

Most of the features of fdisk is provided by interactive shell provided by fdisk. In order to start this shell the disk we want to operate should be provided like below.

$ fdisk /dev/vda

List Partitions

We assume we are in the interactive fdisk shell with the related disk. In the fdisk shell p which is shortcut of print will list partition information

p

OR

Disk listing command will provide partition list too

List Partitions Of Specific Disk

There are situations to only list specific disks partitions this can be accomplished by specifying disk path like below.

$ sudo fdisk -l /dev/vda

Shell Help

Interactive shell provides a lot of operations and commands. These commands can be get with the following command.

m

Change Partition Type

As we now there are a lot of file system or partition type. Windows systems generally uses FAT,VFAT, NTFS on the other hand Linux/Unix systems prefer ext3,ext4,btrfs,xfs like file systems. Partition file system type can be specified with t command.

t

Now we will select our partition number where for this example we haveonly one partition and selected by default.

1

To set required partition type we can get list of supported partition types with L command like below.

L

Linux type partition is OK for us which number is 83. we enter partition type number. By default all newly created partitions types are created as Linux partition type.

83

Write Changes To Disk

While using fdisk interactive shell modifications are done in the ram which means they are no effective if we do not write them to the disks. We should write change to the disk with w like below.

w

Re-Read Disk Changes

After writing disk changes to the disk because of some kernel performance mechanisms they are not directly written. So to make them effective from kernel side following command should be provided in the bash.

$ partprobe

Format Disk Dos Partition Table

Every disks will have their own partition table to identify partitions their sizes, boot options etc. DOS is most used partition table because of the Windows popularity. DOS was default partition table for Windows operating systems. DOS partition table can only use up to 2 TB disks so use with cautiously. Because of the architectural restrictions DOS partition table can not use more than 2 TB

o

Format Disk GPT Partition Table

GPT partition table is newer than DOS and fixes DOS partition table restrictions like disk size. GPT table supports disks bigger than 2 TB. To create new GPT partition table use following command.

g

Create Partition

Partition are specified parts of the disks. Partitions provides logical boundaries and makes disk multi part for different usage scenarios. First we will provide new partition command n .

n

Then provide partition type with p

p

Now we will provide partition number which is by default 1.

1

First sector of this partition. If we have no specific requirements we can use default one which is 2048

2048

The most important part is last sector number or size. We will set end boundary for this partition. If we enter without any parameter which will use default sector number which is the last unused sector on the disk. Alternative way is specifying disk size in kilobyte,megabyte, gigabyte, terabyte, petabyte. For example to create 10 GB partitions use +10G

+10G

Delete Partition

Created partitions can be deleted easily with command d

d

If there is more than one partition the partition number is asked. In example above it is not asked because of there is only one partition.

Partition Information

Detailed information about the partitions can be get in the interactive shell with i command.

List Unpartitioned Disk Space

Partitions provides segmentation of disks for different usage scenarios. Some partitions can be created later and for these partitions some free or unpartitioned space can be left. Unpartitioned space can be listed with command F.

F

Enable Boot Flag

Partitions those contains operating systems like Windows, Linux, Unix should be flagged as bootable. Partitions can be made bootable with command a . Actually command a will toggle boot able flag which means if current flag is not bootable it will change to boot able vice versa.

a

Verify Partition Table

Partition tables can be simply verified like below.

v

Quit/Exit

After completing operations to quit or exit from fdisk interactive shell q command can be used. Do not forget to save changes if you need them.

q

Linux fdisk Tutorial With Examples Infographic