Many users need to view the existing partition table, change the size of
the partitions, remove partitions, or add partitions from free space or
additional hard drives. The utility parted allows
users to perform these tasks. This chapter discusses how to use
parted to perform file system tasks.
If you want to view the system's disk space usage or monitor the disk
space usage, refer to Section 40.3 File Systems.
You must have the parted package installed to use
the parted utility. To start
parted, at a shell prompt as root, type the command
parted /dev/sda, where
/dev/sda is the device name for the drive you
want to configure. The (parted) prompt is
displayed. Type help to view a list of available
commands.
If you want to create, remove, or resize a partition, the device cannot
be in use (partitions cannot be mounted, and swap space cannot be
enabled). The partition table should not be modified while in use
because the kernel may not properly recognize the changes. Data could be
overwritten by writing to the wrong partition because the partition
table and partitions mounted do not match. The easiest way to achieve
this it to boot your system in rescue mode. Refer to Chapter 5 Basic System Recovery for instructions on booting into rescue
mode. When prompted to mount the file system, select
Skip.
Alternately, if the drive does not contain any partitions in use (system
processes that use or lock the file system from being unmounted), you can
unmount them with the umount command and turn off all
the swap space on the hard drive with the swapoff
command.
Table 12-1 contains a list of commonly used
parted commands. The sections that follow explain
some of them in more detail.
Command | Description |
---|
check minor-num | Perform a simple check of the file system |
cp from to | Copy file system from one partition to another;
from and
to are the minor numbers of the partitions |
help | Display list of available commands |
mklabel label | Create a disk label for the partition table |
mkfs minor-num file-system-type | Create a file system of type
file-system-type |
mkpart part-type
fs-type
start-mb end-mb | Make a partition without creating a new file system |
mkpartfs part-type
fs-type
start-mb end-mb | Make a partition and create the specified file system |
move minor-num
start-mb end-mb | Move the partition |
name minor-num
name | Name the partition for Mac and PC98 disklabels only |
print | Display the partition table |
quit | Quit parted |
rescue start-mb end-mb | Rescue a lost partition from
start-mb to end-mb |
resize minor-num
start-mb end-mb | Resize the partition from
start-mb to end-mb |
rm minor-num | Remove the partition |
select device | Select a different device to configure |
set minor-num
flag state | Set the flag on a partition;
state is either on or off |
Table 12-1. parted commands
After starting parted, type the following command to
view the partition table:
A table similar to the following appears:
Disk geometry for /dev/sda: 0.000-8678.789 megabytes
Disk label type: msdos
Minor Start End Type Filesystem Flags
1 0.031 101.975 primary ext3 boot
2 101.975 5098.754 primary ext3
3 5098.755 6361.677 primary linux-swap
4 6361.677 8675.727 extended
5 6361.708 7357.895 logical ext3
Disk geometry for /dev/hda: 0.000-9765.492 megabytes
Disk label type: msdos
Minor Start End Type Filesystem Flags
1 0.031 101.975 primary ext3 boot
2 101.975 611.850 primary linux-swap
3 611.851 760.891 primary ext3
4 760.891 9758.232 extended lba
5 760.922 9758.232 logical ext3 |
The first line displays the size of the disk, the second line displays
the disk label type, and the remaining output shows the partition
table.
In the partition table, the Minor number is the
partition number. For example, the partition with minor number 1
corresponds to /dev/sda1. The
Start and End values are in
megabytes. The Type is one of primary, extended,
or logical. The Filesystem is the file system
type, which can be one of ext2, ext3, fat16, fat32, hfs, jfs,
linux-swap, ntfs, reiserfs, hp-ufs, sun-ufs, or xfs. The
Flags column lists the flags set for the
partition. Available flags are boot, root, swap, hidden, raid, lvm, or
lba.
In this example, minor number 1 refers to the
/boot/ file system, minor number 2 refers to the
root file system (/), minor number 3 refers to
the swap, and minor number 5 refers to the /home/
file system.
| Tip |
---|
| To select a different device without having to restart
parted, use the select command
followed by the device name such as
/dev/sda. Then, you can view its partition table
or configure it.
|
| Warning |
---|
| Do not attempt to create a partition on a device that is in
use. |
Before creating a partition, boot into rescue mode (or unmount any
partitions on the device and turn off any swap space on the device).
Start parted, where
/dev/sda is the device on which to create
the partition:
View the current partition table to determine if there is enough free
space:
If there is not enough free space, you can resize an existing
partition. Refer to Section 12.1.4 Resizing a Partition for details.
From the partition table, determine the start and end points of the
new partition and what partition type it should be. You can only
have four primary partitions (with no extended partition) on a
device. If you need more than four partitions, you can have three
primary partitions, one extended partition, and multiple logical
partitions within the extended. For an overview of disk partitions,
refer to the appendix An Introduction to Disk
Partitions in the Red Hat Enterprise Linux Installation Guide.
For example, to create a primary partition with an ext3 file system
from 1024 megabytes until 2048 megabytes on a hard drive type the
following command:
mkpart primary ext3 1024 2048 |
| Tip |
---|
| If you use the mkpartfs command instead, the
file system is created after the partition is created. However,
parted does not support creating an ext3 file
system. Thus, if you wish to create an ext3 file system, use
mkpart and create the file system with the
mkfs command as described
later. mkpartfs works for file system type
linux-swap.
|
The changes start taking place as soon as you press
[Enter], so review the command before executing to
it.
After creating the partition, use the print
command to confirm that it is in the partition table with the
correct partition type, file system type, and size. Also remember
the minor number of the new partition so that you can label it. You
should also view the output of
to make sure the kernel recognizes the new partition.
The partition still does not have a file system. Create the
file system:
/sbin/mkfs -t ext3 /dev/sda6 |
| Warning |
---|
| Formatting the partition permanently destroys any data that
currently exists on the partition.
|
Next, give the partition a label. For example, if the new partition
is /dev/sda6 and you want to label it
/work:
By default, the installation program uses the mount point of the
partition as the label to make sure the label is unique. You can use
any label you want.
As root, create the mount point:
As root, edit the /etc/fstab file to include
the new partition. The new line should look similar to the
following:
LABEL=/work /work ext3 defaults 1 2 |
The first column should contain
LABEL= followed by the label you
gave the partition. The second column should contain the mount point
for the new partition, and the next column should be the file system
type (for example, ext3 or swap). If you need more information about
the format, read the man page with the command man
fstab.
If the fourth column is the word
defaults, the partition is mounted
at boot time. To mount the partition without rebooting, as root,
type the command:
| Warning |
---|
| Do not attempt to remove a partition on a device that is in
use.
|
Before removing a partition, boot into rescue mode (or unmount any
partitions on the device and turn off any swap space on the device).
Start parted, where
/dev/sda is the device on which to remove
the partition:
View the current partition table to determine the minor number of the
partition to remove:
Remove the partition with the command rm. For
example, to remove the partition with minor number 3:
The changes start taking place as soon as you press
[Enter], so review the command before committing to
it.
After removing the partition, use the print command
to confirm that it is removed from the partition table. You should also
view the output of
to make sure the kernel knows the partition is removed.
The last step is to remove it from the /etc/fstab
file. Find the line that declares the removed partition, and remove it
from the file.
| Warning |
---|
| Do not attempt to resize a partition on a device that is in
use. |
Before resizing a partition, boot into rescue mode (or unmount any
partitions on the device and turn off any swap space on the device).
Start parted, where
/dev/sda is the device on which to resize
the partition:
View the current partition table to determine the minor number of the
partition to resize as well as the start and end points for the
partition:
| Warning |
---|
| The used space of the partition to resize must not be larger than the
new size.
|
To resize the partition, use the resize command
followed by the minor number for the partition, the starting place in
megabytes, and the end place in megabytes. For example:
After resizing the partition, use the print command
to confirm that the partition has been resized correctly, is the
correct partition type, and is the correct file system type.
After rebooting the system into normal mode, use the command
df to make sure the partition was mounted and is
recognized with the new size.