许多用户可能想查看现存的分区表,改变分区的大小,删除分区,或从空闲空间或附加的硬盘驱动器上添加分区。parted 工具会允许你执行这些任务。本章讨论如何使用 parted 命令来执行文件系统任务。
你必须安装了 parted 软件包才能使用 parted 工具。要启动 parted,在 shell 提示下以根用户身份键入命令 parted /dev/hdb,这里的 /dev/hdb 是你想配置的设备名称。你会看到一个 (parted) 提示。键入 help 来查看可用命令的列表。
许多用户可能想查看现存的分区表,改变分区的大小,删除分区,或从空闲空间或附加的硬盘驱动器上添加分区。parted 工具会允许你执行这些任务。本章讨论如何使用 parted 命令来执行文件系统任务。
如果你想查看或监视系统的磁盘空间用量,请参考第 42.3 节。
你必须安装了 parted 软件包才能使用 parted 工具。要启动 parted,在 shell 提示下以根用户身份键入命令 parted /dev/hdb,这里的 /dev/hdb 是你想配置的设备名称。你会看到一个 (parted) 提示。键入 help 来查看可用命令的列表。
如果你想创建、删除分区或重新划分分区大小,分区所在设备不能正在被使用(分区不能被挂载,并且交换空间不能被启用)。分区表在被使用时不能被修改的原因是,这样做会使内核无法正确的识别所做改变。由于分区表和所挂载的分区不匹配,数据可能会被写入错误的分区而被覆盖。达到这个目的的最简单方法是在救援模式中引导系统。请参考第11章 来获得引导到救援模式的说明。当提示挂载文件系统时,选择「跳过」。
如果驱动器不包含任何正在被使用的分区,你可以使用 umount 命令来卸载分区,使用swapoff 命令来关闭硬盘驱动器上的交换空间。
表 5-1包含一列最常用的 parted 命令。随后各节详细地解释了其中的一部分。
命令 | 描述 |
---|---|
check minor-num | 执行文件系统的简单检查 |
cp from to | 把文件系统从一个分区复制到另一个分区;from 和 to 是分区的次要号码 |
help | 显示可用的命令列表 |
mklabel label | 为分区表创建磁盘标签 |
mkfs minor-num file-system-type | 创建类型为 file-system-type 的文件系统 |
mkpart part-type fs-type start-mb end-mb | 不创建新文件系统而制作分区 |
mkpartfs part-type fs-type start-mb end-mb | 制作分区并创建指定的文件系统 |
move minor-num start-mb end-mb | 移动分区 |
name minor-num name | 仅为 Mac 和 PC98 磁盘标签的分区命名 |
显示分区表 | |
quit | Quit parted |
rescue start-mb end-mb | 拯救一个丢失的分区,从 start-mb 到 end-mb |
resize minor-num start-mb end-mb | 重新划分分区大小,从 start-mb 到 end-mb |
rm minor-num | 删除分区 |
select device | 选择另一个设备来配置 |
set minor-num flag state | 在分区上设置标志;state 要么是 on,要么是 off |
表 5-1. parted 命令
启动了 parted 后,键入以下命令来查看分区表:
一个和以下相似的表会出现:
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 |
第一行显示了磁盘的大小;第二行显示了磁盘标签类型;剩余的输出显示了分区表。在分区表中,Minor(次要)标签是分区号码。例如,次要号码为1的分区和 /dev/hda1 相对。Start(开始)和 End(结束)值以MB为单位。Type(类型)是 primary、extended、logical 中的一个。Filesystem(文件系统)是文件系统的类型,它可以是 ext2、ext3、FAT、hfs、jfs、linux-swap、ntfs、reiserfs、hp-ufs、sun-ufs 或 xfs 之一。Flags(标志)列列出了分区被设置的标志。可用的标志有:boot、root、swap、hidden、raid、lvm 或 lba。
窍门 | |
---|---|
要不重新启动 parted 来选择不同的设备,使用 select 命令,再紧跟设备名,如 /dev/hdb。然后,你便可以查看或配置它的分区表。 |
警告 | |
---|---|
不要试图在正在被使用的设备上创建分区。 |
在创建分区前,引导入救援模式(或卸载设备上的所有分区并关闭设备上的交换空间)。
启动 parted,/dev/hda 是要在其中创建分区的设备:
parted /dev/hda |
查看当前的分区表来判定设备上是否有足够的空闲空间。
如果空闲空间不够,你可以重新划分现存分区的大小。详情请参阅第 5.4 节。
根据分区表来决定新分区的起止点和分区类型。每个设备上只能有四个主分区(无扩展分区)。如果你想有四个以上分区,你可以有三个主分区,一个扩展分区,在扩展分区内你可以有多个逻辑分区。关于磁盘分区的概述,请参阅《红帽企业 Linux 安装指南》中的附录“磁盘分区介绍”。
例如,要在某个硬盘驱动器上从 1024 MB 到 2048 MB 间创建一个文件系统为 ext2 的主分区,键入以下命令:
mkpart primary ext3 1024 2048 |
窍门 | |
---|---|
如果你使用 mkpartfs 命令,分区创建后文件系统也会被创建。然而,parted 不支持创建 ext3 文件系统。因此,如果你想创建一个 ext3 文件系统,请使用 mkpart,然后使用稍后会说明的 mkfs 命令来创建文件系统。mkpartfs 可以在 linux-swap 文件系统类型上使用。 |
只有你一按
创建了分区后,使用 print 命令来确认所建分区在分区表中,并具备正确的分区类型、文件系统类型和大小。 你还需要记住新分区的次要号码,这样你才可以给它注以标签。你应该查看
cat /proc/partitions |
的输出来确定内核能够识别这个新分区。
警告 | |
---|---|
不要试图删除正在被使用的设备上的分区。 |
在删除分区前,引导入救援模式(或卸载设备上的所有分区,关闭设备上的交换空间)。
启动 parted,这里的 /dev/hda 是你要在其中删除分区的设备:
parted /dev/hda |
查看当前的分区表来判定要删除的分区的次要号码:
使用 rm 命令来删除分区。例如,要删除次要号码为 3 的分区:
rm 3 |
只有你一按
删除了分区后,使用 print 命令来确认分区在分区表中已被删除。你还应该查看
cat /proc/partitions |
的输出来确定内核知道分区已被删除。
最后一步是把它从 /etc/fstab 文件中删除。找到和已被删除的分区相应的行,然后从文件中删除它。
警告 | |
---|---|
不要试图重新划分正在被使用的设备上的分区的大小。 |
在重新划分分区大小前,引导入救援模式(或卸载设备上的所有分区并关闭设备上的交换空间)。
启动 parted,/dev/hda 是要在其中重新划分分区大小的设备:
parted /dev/hda |
查看当前的分区表来判定要重划大小的分区的次要号码以及它的起止点:
警告 | |
---|---|
要重划大小的分区上已用的空间必须大于新建的大小。 |
要重新划分分区大小,使用 resize 命令,然后跟随分区的次要号码,以 MB 为单位的起始点和终止点。例如:
resize 3 1024 2048 |
分区被重新划分了大小后,使用 print 命令来确认分区已被正确地重新划分了大小,并且具备正确的分区类型和文件系统类型。
在正常模式下重新引导了系统后,使用 df 命令来确定分区已被挂载,并且它们的新大小也已被识别。