Partitioning Disks by Using parted
To create and manage hard disks that use GPTs, use the parted command. The command enables you to perform typical partition operations as fdisk. However, parted is more advanced because it supports a larger set of commands and more disk label types including GPT disks.
Before running parted, complete the following requirements first:
-
Unmount any mounted partition on the disk.
-
Disable any partition that's being used as swap space by using the swapoff command.
-
Backup the data on the disk to be configured.
You can use parted either interactively or directly with command line arguments. To run parted interactively, specify only the name of the disk device as an argument, for example:
sudo parted /dev/sdb
GNU Parted 3.6 Using /dev/sdb Welcome to GNU Parted! Type 'help' to view a list of commands. (parted)
The following commands are useful for managing partitions:
-
Displays the current partition table.
- mklabel
-
Creates a partition type according to the label you choose.
- mkpart
-
Starts the process for creating new partitions.
- quit
-
Exits the session.
Note:
In interactive sessions, changes are committed to disk immediately. Unlike fdisk, the parted utility doesn't have an option for quitting without saving changes.
- help
-
Displays all the supported commands in the interactive mode.
Creating Partitions
The following example shows how to use the different parted commands to create 2 disk partitions. The first partition is assigned 2 GB while the second partition uses all the remaining disk space.
sudo parted /dev/sdb
The command runs a menu-based system where you must select the appropriate responses to configure the partition. Example inputs are displayed in the following interactive session:
GNU Parted 3.6 Using /dev/sdb Welcome to GNU Parted! Type 'help' to view a list of commands. (parted) print Model: ATA VBOX HARDDISK (scsi) Disk /dev/sdb: 16.8GB Sector size (logical/physical): 512B/512B Partition Table: msdos Disk Flags: Number Start End Size Type File system Flags (parted) mkpart Partition type? primary/extended? primary File system type? [ext2]? <Enter> Start? 1 End? 2GB (parted) print Model: ATA VBOX HARDDISK (scsi) Disk /dev/sdb: 16.8GB Sector size (logical/physical): 512B/512B Partition Table: msdos Disk Flags: Number Start End Size Type File system Flags 1 1049kB 2000MB 1999MB primary ext2 lba (parted) mkpart Partition type? primary/extended? primary File system type? [ext2]? <Enter> Start? 2001 End? -0 (parted) print Model: ATA VBOX HARDDISK (scsi) Disk /dev/sdb: 16.8GB Sector size (logical/physical): 512B/512B Partition Table: msdos Disk Flags: Number Start End Size Type File system Flags 1 1049kB 2000MB 1999MB primary ext2 lba 2 2001MB 16.8GB 14.8GB primary ext2 lba (parted) quit
Note:
Unless you specify otherwise, the size for the Start
and
End
offsets is in megabytes. To use another unit of measure, type the
value and the unit together, for example, 2GB. To assign all remaining disk space to the
partition, enter -0
for the End
offset as shown in the
example.
Customizing Labels
By default, parted creates msdos
-labeled partitions.
When partitioning with this label, you're also prompted for the partition type. Partition
types can be primary
, extended
, or logical
.
To use a different label, you would need to specify that label first with the mklabel command before creating the partition. Depending on the label, you would be prompted during the partitioning process for information, such as the partition name, as shown in the following example:
sudo parted /dev/sdb
The command runs a menu-based system where you must select the appropriate responses to configure the partition. Example inputs are displayed in the following interactive session:
GNU Parted 3.6 Using /dev/sdb Welcome to GNU Parted! Type 'help' to view a list of commands. (parted) mklabel New disk label type? gpt Warning: The existing disk label on /dev/sdb will be destroyed and all data on this disk will be lost. Do you want to continue? Yes/No? yes (parted) print Model: ATA VBOX HARDDISK (scsi) Disk /dev/sdb: 16.8GB Sector size (logical/physical): 512B/512B Partition Table: gpt Disk Flags: Number Start End Size File system Name Flags (parted) mkpart Partition name? []? Example File system type? [ext2]? linux-swap Start? 1 End? 2GB (parted) print Model: ATA VBOX HARDDISK (scsi) Disk /dev/sdb: 16.8GB Sector size (logical/physical): 512B/512B Partition Table: gpt Disk Flags: Number Start End Size File system Name Flags 1 1049kB 2000MB 1999MB linux-swap(v1) Example swap (parted) quit
To know which types of file systems and labels are supported by
parted, consult the GNU Parted User Manual at https://www.gnu.org/software/parted/manual/, or
enter info parted to view the online user manual. For more information,
see the parted(8)
manual page.