how to create a new partition in linux
Creating and deleting new partitions in linux a very normal practice. In this post we will be going through simple steps to create a new partition in linux, format it and mount it at your required mount point.
This article will also take you through the steps to delete your required partition, view your hard drive geometry,display existing partition table,display the UUID of a partition and many more about partition creation ,view,help, partitioning command line help and troubleshooting.
The tools used in this tutorial are very as mentioned below.
- fdisk
- mke2fs
- mount
- partprobe
- tune2fs
- blkid
- parted
- mkfs
- fsck
Step1:(Device identification)
First check the partition table using fdisk command.
Using Fdisk command one can identify his device that whether it is your internal Hard disk or external hard disk.
/dev/sd(a,b,c)----------->SCSI
/dev/hd(a,b,c)----------->IDE
#fdisk -l
[root@myvm1 ~]# fdisk -l Disk /dev/sda: 26.8 GB, 26843545600 bytes 255 heads, 63 sectors/track, 3263 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sda1 * 1 6 48163+ 83 Linux /dev/sda2 7 515 4088542+ 83 Linux /dev/sda3 516 3133 21029085 83 Linux /dev/sda4 3134 3263 1044225 5 Extended /dev/sda5 3134 3263 1044193+ 82 Linux swap / Solaris
we have seen that already partition up to /dev/sda5 has been created.
So now we have to create a new partion that will start from /dev/sda6
Before Partition we need to know about our hard disk in use. We use here some commands to know the detail information of hard disk we are using and we are going to partitioning.
[root@satish ~]# lspci|grep -i ide
00:1f.1 IDE interface: Intel Corporation 82801G (ICH7 Family) IDE Controller (rev 01)
00:1f.2 IDE interface: Intel Corporation 82801GB/GR/GH (ICH7 Family) SATA IDE Controller (rev 01)
[root@satish ~]# cat /proc/scsi/scsi
Attached devices:
Host: scsi0 Channel: 00 Id: 00 Lun: 00
Vendor: ATA Model: ST3160215AS Rev: 4.AA ------>> My hard Disk
Type: Direct-Access ANSI SCSI revision: 05
Host: scsi4 Channel: 00 Id: 00 Lun: 00
Vendor: Kingston Model: DataTraveler G2 Rev: 1.00 ---->> My usb Device
Type: Direct-Access ANSI SCSI revision: 02
Host: scsi8 Channel: 00 Id: 00 Lun: 00
Vendor: HUAWEI Model: Mass Storage Rev: 2.31 ---->> My HUWAEI USb Modem
Type: CD-ROM ANSI SCSI revision: 02
Host: scsi9 Channel: 00 Id: 00 Lun: 00
Vendor: HUAWEI Model: MMC Storage Rev: 2.31
Type: Direct-Access ANSI SCSI revision: 02
Step2: See how to create a new Partiton using fdisk tool.(Partitioning Device)
We do partition or you can say disks are partitioned to make a separate File System according our need.
#fdisk /dev/sda
[root@myvm1 ~]# fdisk /dev/sda The number of cylinders for this disk is set to 3263. There is nothing wrong with that, but this is larger than 1024, and could in certain setups cause problems with: 1) software that runs at boot time (e.g., old versions of LILO) 2) booting and partitioning software from other OSs (e.g., DOS FDISK, OS/2 FDISK) Command (m for help):
note: here we have taken sda because fdisk -l show us our hard disk is sda type not hda or hdb.
:n this will create a new partition
:l this will create a logical partition
: just press enter to take default
cylinder value.
:+2000M this mean we want to create a partion of size 2gb approx ie 2000Mb.
:w write the changes and save it and exit
Step3:Why we use partprobe in linux?
If You don't want to reboot your linux system for making update for the changes you have made in the partition table above just use partprobe command.
#partprobe
Step4:How to make a file system in Linux?
Mkfs or mke2fs command is used to create file system in linux.
So Create an ext3 file system.(Make File System so that it get recognized by OS)#mke2fs -j /dev/sda6
or
#mkfs -t ext3 /dev/sda6
or
#mkfs.ext3 /dev/sda6
This will format the /dev/sda6 partition and create journal file system ext3 which can be regognised by our Linux operation System.
step5:Mount point
Now make a new directory and mount /dev/sda6 newly created partion on it.
mountpoint are directories where file systems are mapped.
#mkdir /new
#mount /dev/sda6 /new
Now above command will mount /dev/sda6 on /new directory.
So now whatever you write in new directory will be saved in newly created partition /dev/sda6
Step6:To verify whether the filesystem has been mounted or not.
#df -h
this will show you clearly that your /dev/sda6 is mounted on /new directory
Step7:Make File system permanent after reboot.
To make this change exist after reboot or to make it permanent we have to make a entry in /etc/fstab file.
#vim /etc/fstab
/dev/sda6 /new ext3 defaults 0 0
save and exit
the file
and thats it.
You have created a new partion /dev/sda6 and now its working.
How tO DELETE this Partion?
stepwise Explanation of partition deletion.
Step1:
First unmount the partition and remove the entry from /etc/fstab u have made above
#umount /dev/sda6
Step2:
Then use fdisk command to delete the partition
#fdisk /dev/sda
:d here d is used to delete the partion
:6 it means delete the partion /dev/sda6
:w save the abve changes and exit
Step3: update change without a reboot.
#partprobe
Step4:Now check the partition table whether it is updated or not.
#fdisk -l
You will find /dev/sda6 has been deleted.
How to see the filesystem type creation command exists for your system?
[root@localhost sbin]# cd /sbin/mk
mkbootdisk mke2fs mkfs.ext2 mkfs.vfat mkzonedb
mkdosfs mkfs mkfs.ext3 mkinitrd
mkdumprd mkfs.cramfs mkfs.msdos mkswap
How to See your Hard Disk Geometry?
[root@localhost ~]# fdisk -v
fdisk (util-linux 2.13-pre7)
[root@localhost ~]# parted /dev/sda print
Model: ATA ST3160215AS (scsi)
Disk /dev/sda: 160GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number Start End Size Type File system Flags
1 1049kB 106MB 105MB primary ntfs boot
2 106MB 31.5GB 31.4GB primary ntfs
3 31.5GB 94.4GB 62.9GB primary ntfs
4 94.4GB 160GB 65.7GB extended
5 94.4GB 155GB 60.8GB logical ext3
Information: Don't forget to update /etc/fstab, if necessary.
How to Display UUID of a partition?
[root@localhost ~]# blkid /dev/sda5
/dev/sda5: LABEL="/1" UUID="b8b36258-6c3f-43d9-9c4b-063070945c5c" TYPE="ext3" SEC_TYPE="ext2"
How to see the size of existing file system?
[root@localhost ~]# fdisk -s /dev/sda
156290904
How to create a vfat filesystem in linux?
View the existing aprtition table first by using fdisk -l command.
[root@localhost ~]# fdisk -l
Disk /dev/sda: 160.0 GB, 160041885696 bytes
255 heads, 63 sectors/track, 19457 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 13 102400 7 HPFS/NTFS
Partition 1 does not end on cylinder boundary.
/dev/sda2 13 3825 30617600 7 HPFS/NTFS
/dev/sda3 3825 11474 61440000 7 HPFS/NTFS
/dev/sda4 11475 19457 64123447+ 5 Extended
/dev/sda5 11475 18868 59392273+ 83 Linux
You have new mail in /var/spool/mail/root
Now apply fdisk command to create a new partition.
[root@localhost ~]# fdisk /dev/sda
The number of cylinders for this disk is set to 19457.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)
Command (m for help): n
First cylinder (18869-19457, default 18869):
Using default value 18869
Last cylinder or +size or +sizeM or +sizeK (18869-19457, default 19457): +100M
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table.
The new table will be used at the next reboot.
Syncing disks.
Now use partprobe command to update the partition table without a system reboot.
[root@localhost ~]# partprobe
Now check whether your system support vfat file system or not ?
[root@localhost ~]# mkfs
mkfs mkfs.cramfs mkfs.ext2 mkfs.ext3 mkfs.msdos mkfs.vfat
Now Create vfat partition using mkfs.vfat command.
Format /dev/sda6 using mkfs.vfat command.
[root@localhost ~]# mkfs.vfat /dev/sda6
mkfs.vfat 2.11 (12 Mar 2005)
Create a mount point for newly created partition i.e for /dev/sda6 partition.
[root@localhost ~]# mkdir /newone
Now mount the newly created partition using mount command.
[root@localhost ~]# mount /dev/sda6 /newone/
List or check whether partion got mounted or not by using df -h command.
[root@localhost ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda5 55G 19G 34G 36% /
tmpfs 502M 0 502M 0% /dev/shm
/dev/sda6 102M 0 102M 0% /newone
Check whether your partition created or not?
[root@localhost ~]# parted /dev/sda print
Model: ATA ST3160215AS (scsi)
Disk /dev/sda: 160GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number Start End Size Type File system Flags
1 1049kB 106MB 105MB primary ntfs boot
2 106MB 31.5GB 31.4GB primary ntfs
3 31.5GB 94.4GB 62.9GB primary ntfs
4 94.4GB 160GB 65.7GB extended
5 94.4GB 155GB 60.8GB logical ext3
6 155GB 155GB 107MB logical fat16
Information: Don't forget to update /etc/fstab, if necessary.
[root@localhost ~]# file -sL /dev/sda6
/dev/sda6: x86 boot sector, mkdosfs boot message display, code offset 0x3c, OEM-ID " mkdosfs", sectors/cluster 4, root entries 512, Media descriptor 0xf8, sectors/FAT 204, heads 255, sectors 208782 (volumes > 32 MB) , serial number 0x517ba11a, label: " ", FAT (16 bit)
How to check the File System Type of your created partition?
root@localhost ~]# fsck -N /dev/sda6
fsck 1.39 (29-May-2006)
[/sbin/fsck.vfat (1) -- /dev/sda6] fsck.vfat /dev/sda6
Check whether any error or not on newly created file system using fsck command.
[root@localhost ~]# fsck /dev/sda6
fsck 1.39 (29-May-2006)
dosfsck 2.11, 12 Mar 2005, FAT32, LFN
/dev/sda6: 0 files, 0/52085 clusters
if errors are found on the filesystem fcsk will run.
How to create an ext2 Filesystem.
[root@satish ~]# fdisk /dev/sda The number of cylinders for this disk is set to 4341414. There is nothing wrong with that, but this is larger than 1024, and could in certain setups cause problems with: 1) software that runs at boot time (e.g., old versions of LILO) 2) booting and partitioning software from other OSs (e.g., DOS FDISK, OS/2 FDISK) Command (m for help): n First cylinder (4096001-4341414, default 4096001): Using default value 4096001 Last cylinder or +size or +sizeM or +sizeK (4096001-4341414, default 4341414): +1G Command (m for help): p Disk /dev/sda: 160.0 GB, 160041885696 bytes 18 heads, 4 sectors/track, 4341414 cylinders Units = cylinders of 72 * 512 = 36864 bytes Device Boot Start End Blocks Id System /dev/sda1 29 995584 35840000 7 HPFS/NTFS /dev/sda2 * 995585 3299584 82944000 7 HPFS/NTFS /dev/sda3 3299585 3697806 14335992 83 Linux /dev/sda4 3896918 4341414 16001892 5 Extended /dev/sda5 3896918 4096000 7166986 83 Linux /dev/sda6 4096001 4123128 976606 83 Linux Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. WARNING: Re-reading the partition table failed with error 16: Device or resource busy. The kernel still uses the old table. The new table will be used at the next reboot. Syncing disks. [root@satish ~]# partprobe [root@satish ~]# mkfs.ext2 /dev/sda6
Now Mount this ext2 filesystem.
first create a directory and then mount it.
[root@satish ~]# mkdir /shivangi [root@satish ~]# mount /dev/sda6 /shivangi/
Now check the mounted filesystem.
[root@satish ~]# df -Th /dev/sda6 Filesystem Type Size Used Avail Use% Mounted on /dev/sda6 ext2 939M 1.2M 890M 1% /shivangi
you can see in above output that filesystem type for /dev/sda6 is ext2 and is mounted on /shivangi.
Now Convert this ext2 filesystem to ext3 filesystem.
Upgrading of File system /dev/sda6 here.
- First unmount the mounted filesystem.
- then convert is or upgrade it using tune2fs command.
- then mount it back.
- then check the filesystem type uding df command.
[root@satish ~]# umount /dev/sda6 [root@satish ~]# tune2fs -j /dev/sda6 tune2fs 1.39 (29-May-2006) Creating journal inode: done This filesystem will be automatically checked every 35 mounts or 180 days, whichever comes first. Use tune2fs -c or -i to override. [root@satish ~]# mount /dev/sda6 /shivangi/ [root@satish ~]# df -Th Filesystem Type Size Used Avail Use% Mounted on /dev/sda3 ext3 14G 6.3G 6.4G 50% / /dev/sda5 ext3 6.7G 2.8G 3.6G 44% /var tmpfs tmpfs 1010M 0 1010M 0% /dev/shm /dev/sda6 ext3 939M 18M 874M 2% /shivangi
Check for bad blocks on newly created partition /dev/sda6 here.
[root@satish ~]# mke2fs -c /dev/sda6
Forcefully create a filesystem on a mounted device.
[root@satish ~]# mke2fs -F /dev/sda6
Comments
New Partition Creation on Linux
Hello Admin,
Thanks for explaining with snapshots. Actually I am Solaris Admin & learning this Linux. I understood very neatly.
creat partision
good job, easy practical of any one persons
Kudos!
This is just awesome and so practical! Good job guys!
partprobe
Hi Sarath,
I have seen that sometime partprobe working but sometimes its not working.
what is the reason behind this ? How can we overcome this? Any other command can be used ?
partition creation
Hi Sharath,
sometimes we get below message in fdisk.
Partition 1 does not end on cylinder boundary
What does it mean and how can we create partition so shat we should not get such message. Is this message we get only for partitions that we create at OS installatin time ?
Regards,
Gorakhnath
NEW PARTITION
GOOD JOB VERY EASY TO UNDERSTAND.
Understandable post
It was very clearly explained amazing work!!
Nice
GOOD JOB VERY EASY TO UNDERSTAND... :)
lvm creation error
hi friend i tried to create pvcreate but it threw the error the device dev/sdb3 doesnt exist or ignored by filtering type of error help me please
What is the parted output for that device?
Sometimes partition table type can also cause such issues. Could you paste the parted command output for that disk (/dev/sdb)?
hi sharath,
hi sharath,
it was very clearly explained amazing work. the great job and good platform.
thanks
jaya
Add new comment