Parted is a GNU utility, which is used to manipulate the hard disk partitions.
Using parted, you can add, delete, and edit partitions and the file systems located on those partitions. You can also clone partitions.
This article explains 9 practical parted command examples.
Warning: Parted utility manipulates the hard disk partition table and saves the changes immediately.
In the following example, it picked /dev/sda automatically as it is the first hard drive in this system.
Before creating the partition, execute a print command to view the current layout.
However using parted utility, you can also create filesystem. Use the parted’s mkfs command to create a file system on a partition. You should be careful while doing this, as all the existing data in the partition will be lost during the file system creation. The supported filesystems in parted are ext2, mips, fat16, fat32, linux-swap, reiserfs (if libreiserfs is installed).
Let us change the file system of partition number 8 (that is shown in the print output below) from ext4 to ext2 file system.
Before mkpartfs following is the layout of the partitions.
As shown above, parted command will always warn whenever you are attempting to do something dangerous (i.e : rm, resize, mkfs).
The size of partition 9 is actually reduced from 127GB to 77GB. Verify that the partition is resized properly using the print command as shown below.
Using the “p” command (print) to display the current partition layout.
The following shows the content of the corresponding partitions before copy.
Using parted, you can add, delete, and edit partitions and the file systems located on those partitions. You can also clone partitions.
This article explains 9 practical parted command examples.
Warning: Parted utility manipulates the hard disk partition table and saves the changes immediately.
So, don’t delete, modify, add, or do anything to your partition, if you don’t know what you are doing. You will lose your data! There is no undo button for your rescue!
1. Select the hard disk to be parted
When you execute parted command without any argument, by default it selects the first hard disk drive that is available on your system.In the following example, it picked /dev/sda automatically as it is the first hard drive in this system.
# partedTo choose a different hard disk, use the select command as shown below.
GNU Parted 2.3
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted)
(parted) select /dev/sdbIt will throw the following error message when it doesn’t find the given hard disk name.
Error: Error opening /dev/sdb: No medium found
Retry/Cancel? y
2. Display all Partitions Using print
Using the print command, you can view all the available partitions in the selected hard disk. The print command also displays hard disk properties such as model, size, sector size and partition table as shown below.(parted) print
Model: ATA WDC WD5000BPVT-7 (scsi)
Disk /dev/sda: 500GB
Sector size (logical/physical): 512B/4096B
Partition Table: msdos
Number Start End Size Type File system Flags
1 1049kB 106MB 105MB primary fat16 diag
2 106MB 15.8GB 15.7GB primary ntfs boot
3 15.8GB 266GB 251GB primary ntfs
4 266GB 500GB 234GB extended
5 266GB 269GB 2682MB logical ext4
7 269GB 270GB 524MB logical ext4
8 270GB 366GB 96.8GB logical lvm
6 366GB 370GB 3999MB logical linux-swap(v1)
9 370GB 500GB 130GB logical ext4
3. Create Primary Partition in Selected HDD Using mkpart
mkpart command is used to create either primary or logical partition with the START and END disk locations. The below example creates partition with size around 15GB. The START and END points passed to the mkpart command are in the units of MBs.(parted) mkpart primary 106 16179You can also enable boot option on a partition as shown below. Linux reserves 1-4 or 1-3 partition number for primary partition and the extended partition starts from number 5.
(parted) set 1 boot on
4. Create Logical Partition in Selected HDD Using mkpart
Use mkpart command to create a new partition of a specific size. This will create the partition of a specific type such as primary, logical or extended without creating the file system.Before creating the partition, execute a print command to view the current layout.
(parted) printUse mkpart to create a new logical partition with 127GB size as shown below.
Model: ATA WDC WD5000BPVT-7 (scsi)
Disk /dev/sda: 500GB
Sector size (logical/physical): 512B/4096B
Partition Table: msdos
Number Start End Size Type File system Flags
1 1049kB 106MB 105MB primary fat16 diag
2 106MB 15.8GB 15.7GB primary ntfs boot
3 15.8GB 266GB 251GB primary ntfs
4 266GB 500GB 234GB extended
5 266GB 316GB 50.0GB logical ext4
6 316GB 324GB 7999MB logical linux-swap(v1)
7 324GB 344GB 20.0GB logical ext4
8 344GB 364GB 20.0GB logical ext2
(parted) mkpart logical 372737 500000Execute the print command to view the new layout as shown below.
(parted) print
Model: ATA WDC WD5000BPVT-7 (scsi)
Disk /dev/sda: 500GB
Sector size (logical/physical): 512B/4096B
Partition Table: msdos
Number Start End Size Type File system Flags
1 1049kB 106MB 105MB primary fat16 diag
2 106MB 15.8GB 15.7GB primary ntfs boot
3 15.8GB 266GB 251GB primary ntfs
4 266GB 500GB 234GB extended
5 266GB 316GB 50.0GB logical ext4
6 316GB 324GB 7999MB logical linux-swap(v1)
7 324GB 344GB 20.0GB logical ext4
8 344GB 364GB 20.0GB logical ext2
9 373GB 500GB 127GB logical
(parted)
5. Create a File System on Partition Using mkfs
If you use fdisk command to partition your hard disk, you need to exit the fdisk utility, and use the mkfs external program to create a file system on the partition.However using parted utility, you can also create filesystem. Use the parted’s mkfs command to create a file system on a partition. You should be careful while doing this, as all the existing data in the partition will be lost during the file system creation. The supported filesystems in parted are ext2, mips, fat16, fat32, linux-swap, reiserfs (if libreiserfs is installed).
Let us change the file system of partition number 8 (that is shown in the print output below) from ext4 to ext2 file system.
(parted) printAs shown below, use the mkfs command to change the file system type of partition number 8. mkfs command will prompt you for partition number and file system type.
Model: ATA WDC WD5000BPVT-7 (scsi)
Disk /dev/sda: 500GB
Sector size (logical/physical): 512B/4096B
Partition Table: msdos
Number Start End Size Type File system Flags
1 1049kB 106MB 105MB primary fat16 diag
2 106MB 15.8GB 15.7GB primary ntfs boot
3 15.8GB 266GB 251GB primary ntfs
4 266GB 500GB 234GB extended
5 266GB 316GB 50.0GB logical ext4
6 316GB 324GB 7999MB logical linux-swap(v1)
7 324GB 344GB 20.0GB logical ext4
8 344GB 364GB 20.0GB logical ext4
9 364GB 500GB 136GB logical ext4
(parted) mkfsExecute the print command again, to verify that the file system type for partition number 8 was changed to ex2.
WARNING: you are attempting to use parted to operate on (mkfs) a file system.
parted's file system manipulation code is not as robust as what you'll find in
dedicated, file-system-specific packages like e2fsprogs. We recommend
you use parted only to manipulate partition tables, whenever possible.
Support for performing most operations on most types of file systems
will be removed in an upcoming release.
Warning: The existing file system will be destroyed and all data on the
partition will be lost. Do you want to continue?
Yes/No? y
Partition number? 8
File system type? [ext2]? ext2
(parted) print
Model: ATA WDC WD5000BPVT-7 (scsi)
Disk /dev/sda: 500GB
Sector size (logical/physical): 512B/4096B
Partition Table: msdos
Number Start End Size Type File system Flags
1 1049kB 106MB 105MB primary fat16 diag
2 106MB 15.8GB 15.7GB primary ntfs boot
3 15.8GB 266GB 251GB primary ntfs
4 266GB 500GB 234GB extended
5 266GB 316GB 50.0GB logical ext4
6 316GB 324GB 7999MB logical linux-swap(v1)
7 324GB 344GB 20.0GB logical ext4
8 344GB 364GB 20.0GB logical ext2
9 364GB 500GB 136GB logical ext4
(parted)
6. Create Partition and Filesystem together Using mkpartfs
Using mkpartfs parted command, you can also create a partitions with a specific filesystem. This is similar to mkpart, but with the additional feature of creating file system on a partition.Before mkpartfs following is the layout of the partitions.
(parted) print
Model: ATA WDC WD5000BPVT-7 (scsi)
Disk /dev/sda: 500GB
Sector size (logical/physical): 512B/4096B
Partition Table: msdos
Number Start End Size Type File system Flags
1 1049kB 106MB 105MB primary fat16 diag
2 106MB 15.8GB 15.7GB primary ntfs boot
3 15.8GB 266GB 251GB primary ntfs
4 266GB 500GB 234GB extended
5 266GB 316GB 50.0GB logical ext4
6 316GB 324GB 7999MB logical linux-swap(v1)
7 324GB 344GB 20.0GB logical ext4
8 344GB 364GB 20.0GB logical
In the following example, mkpartfs will create a new fat32 partition of size 127GB.
(parted) mkpartfs logical fat32 372737 500000As you see below, the partition number 9 is successfully created.
WARNING: you are attempting to use parted to operate on (mkpartfs) a file system.
parted's file system manipulation code is not as robust as what you'll find in
dedicated, file-system-specific packages like e2fsprogs. We recommend
you use parted only to manipulate partition tables, whenever possible.
Support for performing most operations on most types of file systems
will be removed in an upcoming release.
(parted) print
Model: ATA WDC WD5000BPVT-7 (scsi)
Disk /dev/sda: 500GB
Sector size (logical/physical): 512B/4096B
Partition Table: msdos
Number Start End Size Type File system Flags
1 1049kB 106MB 105MB primary fat16 diag
2 106MB 15.8GB 15.7GB primary ntfs boot
3 15.8GB 266GB 251GB primary ntfs
4 266GB 500GB 234GB extended
5 266GB 316GB 50.0GB logical ext4
6 316GB 324GB 7999MB logical linux-swap(v1)
7 324GB 344GB 20.0GB logical ext4
8 344GB 364GB 20.0GB logical
9 373GB 500GB 127GB logical fat32 lba
(parted)
7. Resize Partition from One Size to Another Using resize
Using resize parted command, you can increase or decrease the partition size of a partition as shown in the example below.(parted) resize 9
WARNING: you are attempting to use parted to operate on (resize) a file system.
parted's file system manipulation code is not as robust as what you'll find in
dedicated, file-system-specific packages like e2fsprogs. We recommend
you use parted only to manipulate partition tables, whenever possible.
Support for performing most operations on most types of file systems
will be removed in an upcoming release.
Start? [373GB]? 373GB
End? [500GB]? 450GB
As shown above, parted command will always warn whenever you are attempting to do something dangerous (i.e : rm, resize, mkfs).
The size of partition 9 is actually reduced from 127GB to 77GB. Verify that the partition is resized properly using the print command as shown below.
(parted) printParted allows you to type unambiguous abbreviation for commands like “p” for print, “sel” for select,etc.
Model: ATA WDC WD5000BPVT-7 (scsi)
Disk /dev/sda: 500GB
Sector size (logical/physical): 512B/4096B
Partition Table: msdos
Number Start End Size Type File system Flags
1 1049kB 106MB 105MB primary fat16 diag
2 106MB 15.8GB 15.7GB primary ntfs boot
3 15.8GB 266GB 251GB primary ntfs
4 266GB 500GB 234GB extended
5 266GB 316GB 50.0GB logical ext4
6 316GB 324GB 7999MB logical linux-swap(v1)
7 324GB 344GB 20.0GB logical ext4
8 344GB 364GB 20.0GB logical
9 373GB 450GB 77.3GB logical fat32 lba
8. Copy Data from One Partition to Another Using cp
The entire data from one partition can be copied to another partition using the cp command. You should also remember that the content of the destination will be deleted before copy starts. Make sure that the destination partition has enough size to hold the data from the source partition.Using the “p” command (print) to display the current partition layout.
(parted) pIt is recommended to unmount both source and destination partition before doing copy. In this example we are going to copy the content from partition 8 to partition 10.
Model: ATA WDC WD5000BPVT-7 (scsi)
Disk /dev/sda: 500GB
Sector size (logical/physical): 512B/4096B
Partition Table: msdos
Number Start End Size Type File system Flags
1 1049kB 106MB 105MB primary fat16 diag
2 106MB 15.8GB 15.7GB primary ntfs boot
3 15.8GB 266GB 251GB primary ntfs
4 266GB 500GB 234GB extended
5 266GB 316GB 50.0GB logical ext4
6 316GB 324GB 7999MB logical linux-swap(v1)
7 324GB 344GB 20.0GB logical ext4
8 344GB 364GB 20.0GB logical ext2
9 373GB 450GB 77.3GB logical fat32 lba
10 461GB 500GB 39.2GB logical ext2
The following shows the content of the corresponding partitions before copy.
# mount /dev/sda8 /mntUse the parted cp command to copy partition 8 to partition 10 as shown below.
# cd /mnt
# ls -l
total 52
-rw-r--r-- 1 root root 0 2011-09-26 22:52 part8
-rw-r--r-- 1 root root 20 2011-09-26 22:52 test.txt
# umount /mnt
# mount /dev/sda10 /mnt
# cd /mnt
# ls -l
total 48
-rw-r--r-- 1 root root 0 2011-09-26 22:52 part10
(parted) cp 8 10The following shows the content of the partition 10 after the copy. As you see below, the content of partition 8 is copied over (overwritten) to the partition 10.
WARNING: you are attempting to use parted to operate on (cp) a file system.
parted's file system manipulation code is not as robust as what you'll find in
dedicated, file-system-specific packages like e2fsprogs. We recommend
you use parted only to manipulate partition tables, whenever possible.
Support for performing most operations on most types of file systems
will be removed in an upcoming release.
growing file system... 95% (time left 00:38)error: block relocator should have relocated 517
# mount /dev/sda10 /mntNote: When you copy across partitions of different filesystem(for example src : ext2 and dst : ext4), the destination partition’s file system is actually converted to the file system of source partition (i.e : ext2) .
# cd /mnt
# ls -l
total 52
-rw-r--r-- 1 root root 0 2011-09-26 22:52 part8
-rw-r--r-- 1 root root 20 2011-09-26 22:52 test.txt
9. Remove Partition from a Selected Hard Disk Uusing rm
To delete an unwanted or unused partition, use the parted rm command and specify the partition number as shown below.(parted) rmAfter the above rm command, the partition number 9 deleted, and the print command will show you the list of available partitions in /dev/sda disk as shown below.
Partition number? 9
(parted)
(parted) print
Model: ATA WDC WD5000BPVT-7 (scsi)
Disk /dev/sda: 500GB
Sector size (logical/physical): 512B/4096B
Partition Table: msdos
Number Start End Size Type File system Flags
1 1049kB 106MB 105MB primary fat16 diag
2 106MB 15.8GB 15.7GB primary ntfs boot
3 15.8GB 266GB 251GB primary ntfs
4 266GB 500GB 23GB extended
5 266GB 316GB 50.0GB logical ext4
6 316GB 324GB 7999MB logical linux-swap(v1)
7 324GB 344GB 20.0GB logical ext4
8 344GB 364GB 20.0GB logical ext2
Ref http://www.centos.org/docs/5/html/Deployment_Guide-en-US/ch-disk-storage.html
http://en.positon.org/post/Resize-an-ext3-ext4-partition
http://en.positon.org/tag/ext4
No comments:
Post a Comment