Chapter 7. Partition operations with parted
			parted is a program to manipulate disk partitions. It supports multiple partition table formats, including MS-DOS and GPT. It is useful for creating space for new operating systems, reorganizing disk usage, and copying data to new hard disks.
		
7.1. Viewing the partition table with parted
				Display the partition table of a block device to see the partition layout and details about individual partitions. You can view the partition table on a block device using the parted utility.
			
Procedure
- Start the - partedutility. For example, the following output lists the device- /dev/sda:- parted /dev/sda - # parted /dev/sda- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- View the partition table: - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- Optional: Switch to the device you want to examine next: - (parted) select block-device - (parted) select block-device- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
For a detailed description of the print command output, see the following:
- Model: ATA SAMSUNG MZNLN256 (scsi)
- The disk type, manufacturer, model number, and interface.
- Disk /dev/sda: 256GB
- The file path to the block device and the storage capacity.
- Partition Table: msdos
- The disk label type.
- Number
- 
							The partition number. For example, the partition with minor number 1 corresponds to /dev/sda1.
- Startand- End
- The location on the device where the partition starts and ends.
- Type
- Valid types are metadata, free, primary, extended, or logical.
- File system
- 
							The file system type. If the File systemfield of a device shows no value, this means that its file system type is unknown. Thepartedutility cannot recognize the file system on encrypted devices.
- Flags
- 
							Lists the flags set for the partition. Available flags are boot,root,swap,hidden,raid,lvm, orlba.
7.2. Creating a partition table on a disk with parted
				Use the parted utility to format a block device with a partition table more easily.
			
Formatting a block device with a partition table deletes all data stored on the device.
Procedure
- Start the interactive - partedshell:- parted block-device - # parted block-device- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- Determine if there already is a partition table on the device: - (parted) print - (parted) print- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - If the device already contains partitions, they will be deleted in the following steps. 
- Create the new partition table: - (parted) mklabel table-type - (parted) mklabel table-type- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - Replace table-type with with the intended partition table type: - 
										msdosfor MBR
- 
										gptfor GPT
 
- 
										
 - Example 7.1. Creating a GUID Partition Table (GPT) table - To create a GPT table on the disk, use: - (parted) mklabel gpt - (parted) mklabel gpt- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - The changes start applying after you enter this command. 
- View the partition table to confirm that it is created: - (parted) print - (parted) print- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- Exit the - partedshell:- (parted) quit - (parted) quit- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
7.3. Creating a partition with parted
				As a system administrator, you can create new partitions on a disk by using the parted utility.
			
					The required partitions are swap, /boot/, and / (root).
				
Prerequisites
- A partition table on the disk.
- If the partition you want to create is larger than 2TiB, format the disk with the GUID Partition Table (GPT).
Procedure
- Start the - partedutility:- parted block-device - # parted block-device- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- View the current partition table to determine if there is enough free space: - (parted) print - (parted) print- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - Resize the partition in case there is not enough free space.
- From the partition table, determine: - The start and end points of the new partition.
- On MBR, what partition type it should be.
 
 
- Create the new partition: - (parted) mkpart part-type name fs-type start end - (parted) mkpart part-type name fs-type start end- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 
								Replace part-type with with primary,logical, orextended. This applies only to the MBR partition table.
- Replace name with an arbitrary partition name. This is required for GPT partition tables.
- 
								Replace fs-type with xfs,ext2,ext3,ext4,fat16,fat32,hfs,hfs+,linux-swap,ntfs, orreiserfs. The fs-type parameter is optional. Note that thepartedutility does not create the file system on the partition.
- 
								Replace start and end with the sizes that determine the starting and ending points of the partition, counting from the beginning of the disk. You can use size suffixes, such as 512MiB,20GiB, or1.5TiB. The default size is in megabytes.
 - Example 7.2. Creating a small primary partition - To create a primary partition from 1024MiB until 2048MiB on an MBR table, use: - (parted) mkpart primary 1024MiB 2048MiB - (parted) mkpart primary 1024MiB 2048MiB- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - The changes start applying after you enter the command. 
- 
								Replace part-type with with 
- View the partition table to confirm that the created partition is in the partition table with the correct partition type, file system type, and size: - (parted) print - (parted) print- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- Exit the - partedshell:- (parted) quit - (parted) quit- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- Register the new device node: - udevadm settle - # udevadm settle- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- Verify that the kernel recognizes the new partition: - cat /proc/partitions - # cat /proc/partitions- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
7.4. Removing a partition with parted
				Using the parted utility, you can remove a disk partition to free up disk space.
			
Procedure
- Start the interactive - partedshell:- parted block-device - # parted block-device- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 
								Replace block-device with the path to the device where you want to remove a partition: for example, /dev/sda.
 
- 
								Replace block-device with the path to the device where you want to remove a partition: for example, 
- View the current partition table to determine the minor number of the partition to remove: - (parted) print - (parted) print- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- Remove the partition: - (parted) rm minor-number - (parted) rm minor-number- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - Replace minor-number with the minor number of the partition you want to remove.
 - The changes start applying as soon as you enter this command. 
- Verify that you have removed the partition from the partition table: - (parted) print - (parted) print- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- Exit the - partedshell:- (parted) quit - (parted) quit- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- Verify that the kernel registers that the partition is removed: - cat /proc/partitions - # cat /proc/partitions- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 
						Remove the partition from the /etc/fstabfile, if it is present. Find the line that declares the removed partition, and remove it from the file.
- Regenerate mount units so that your system registers the new - /etc/fstabconfiguration:- systemctl daemon-reload - # systemctl daemon-reload- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- If you have deleted a swap partition or removed pieces of LVM, remove all references to the partition from the kernel command line: - List active kernel options and see if any option references the removed partition: - grubby --info=ALL - # grubby --info=ALL- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- Remove the kernel options that reference the removed partition: - grubby --update-kernel=ALL --remove-args="option" - # grubby --update-kernel=ALL --remove-args="option"- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
 
- To register the changes in the early boot system, rebuild the - initramfsfile system:- dracut --force --verbose - # dracut --force --verbose- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
7.5. Resizing a partition with parted
				Using the parted utility, extend a partition to use unused disk space, or shrink a partition to use its capacity for different purposes.
			
Prerequisites
- Back up the data before shrinking a partition.
- If the partition you want to create is larger than 2TiB, format the disk with the GUID Partition Table (GPT).
- If you want to shrink the partition, first shrink the file system so that it is not larger than the resized partition.
XFS does not support shrinking.
Procedure
- Start the - partedutility:- parted block-device - # parted block-device- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- View the current partition table: - (parted) print - (parted) print- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - From the partition table, determine: - The minor number of the partition.
- The location of the existing partition and its new ending point after resizing.
 
- Resize the partition: - (parted) resizepart 1 2GiB - (parted) resizepart 1 2GiB- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - Replace 1 with the minor number of the partition that you are resizing.
- 
								Replace 2 with the size that determines the new ending point of the resized partition, counting from the beginning of the disk. You can use size suffixes, such as 512MiB,20GiB, or1.5TiB. The default size is in megabytes.
 
- View the partition table to confirm that the resized partition is in the partition table with the correct size: - (parted) print - (parted) print- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- Exit the - partedshell:- (parted) quit - (parted) quit- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- Verify that the kernel registers the new partition: - cat /proc/partitions - # cat /proc/partitions- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- Optional: If you extended the partition, extend the file system on it as well.