linux 管理磁盘贮存区

发表于:2007-05-26来源:作者:点击数: 标签:
许多用户可能想查看现存的分区表,改变分区的大小,删除分区,或从空闲空间或附加的硬盘驱动器上添加分区。 parted 工具会允许你执行这些任务。本章讨论如何使用 parted 命令来执行文件系统任务。 你必须安装了 parted 软件包才能使用 parted 工具。要启动 p

许多用户可能想查看现存的分区表,改变分区的大小,删除分区,或从空闲空间或附加的硬盘驱动器上添加分区。parted 工具会允许你执行这些任务。本章讨论如何使用 parted 命令来执行文件系统任务。

你必须安装了 parted 软件包才能使用 parted 工具。要启动 parted,在 shell 提示下以根用户身份键入命令 parted /dev/hdb,这里的 /dev/hdb 是你想配置的设备名称。你会看到一个 (parted) 提示。键入 help 来查看可用命令的列表。

第 5章 . 管理磁盘贮存区

许多用户可能想查看现存的分区表,改变分区的大小,删除分区,或从空闲空间或附加的硬盘驱动器上添加分区。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把文件系统从一个分区复制到另一个分区;fromto 是分区的次要号码
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 磁盘标签的分区命名
print显示分区表
quitQuit parted
rescue start-mb end-mb拯救一个丢失的分区,从 start-mbend-mb
resize minor-num start-mb end-mb重新划分分区大小,从 start-mbend-mb
rm minor-num删除分区
select device选择另一个设备来配置
set minor-num flag state在分区上设置标志;state 要么是 on,要么是 off

表 5-1. parted 命令

5.1. 查看分区表

启动了 parted 后,键入以下命令来查看分区表:

print

一个和以下相似的表会出现:

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。然后,你便可以查看或配置它的分区表。

5.2. 创建分区

警告警告
 

不要试图在正在被使用的设备上创建分区。

在创建分区前,引导入救援模式(或卸载设备上的所有分区并关闭设备上的交换空间)。

启动 parted,/dev/hda 是要在其中创建分区的设备:

parted /dev/hda

查看当前的分区表来判定设备上是否有足够的空闲空间。

print

如果空闲空间不够,你可以重新划分现存分区的大小。详情请参阅第 5.4 节

5.2.1. 制作分区

根据分区表来决定新分区的起止点和分区类型。每个设备上只能有四个主分区(无扩展分区)。如果你想有四个以上分区,你可以有三个主分区,一个扩展分区,在扩展分区内你可以有多个逻辑分区。关于磁盘分区的概述,请参阅《红帽企业 Linux 安装指南》中的附录“磁盘分区介绍”。

例如,要在某个硬盘驱动器上从 1024 MB 到 2048 MB 间创建一个文件系统为 ext2 的主分区,键入以下命令:

mkpart primary ext3 1024 2048

窍门窍门
 

如果你使用 mkpartfs 命令,分区创建后文件系统也会被创建。然而,parted 不支持创建 ext3 文件系统。因此,如果你想创建一个 ext3 文件系统,请使用 mkpart,然后使用稍后会说明的 mkfs 命令来创建文件系统。mkpartfs 可以在 linux-swap 文件系统类型上使用。

只有你一按[Enter]键,改变就会发生,因此在执行前请检查一下命令。

创建了分区后,使用 print 命令来确认所建分区在分区表中,并具备正确的分区类型、文件系统类型和大小。 你还需要记住新分区的次要号码,这样你才可以给它注以标签。你应该查看

cat /proc/partitions

的输出来确定内核能够识别这个新分区。

5.2.2. 格式化分区

分区现在还没有文件系统。用下面的命令来创建文件系统:

	/sbin/mkfs -t ext3 /dev/hdb3

警告警告
 

格式化分区会永久地破坏目前存在于该分区上的任何数据。

5.2.3. 给分区注明标签

下一步,给分区注明标签。例如,如果新分区是 /dev/hda3,你想把它标为 /work

e2label /dev/hda3 /work

安装程序默认使用分区的挂载点作为分区的标签来确定标签的独特性。你可以使用任何想用的标签。

5.2.4. 创建挂载点

以根用户身份创建挂载点:

mkdir /work

5.2.5. 添加到 /etc/fstab

以根用户身份编辑 /etc/fstab 文件来包括新分区。新添的这一行应该类似:

LABEL=/work           /work                 ext3    defaults        1 2

第一列应该包含 LABEL=,然后跟随你给分区注明的标签。第二列应该包含新分区的挂载点,下一列应该是文件系统类型(如 ext3 或 swap)。如果你想了解更多关于格式化的信息,请阅读 man fstab 的说明书(man)页。

如果第四列是 defaults 这个词,分区就会在引导时被挂载。要不重新引导而挂载分区,以根用户身份键入以下命令:

mount /work

5.3. 删除分区

警告警告
 

不要试图删除正在被使用的设备上的分区。

在删除分区前,引导入救援模式(或卸载设备上的所有分区,关闭设备上的交换空间)。

启动 parted,这里的 /dev/hda 是你要在其中删除分区的设备:

parted /dev/hda

查看当前的分区表来判定要删除的分区的次要号码:

print

使用 rm 命令来删除分区。例如,要删除次要号码为 3 的分区:

rm 3

只有你一按[Enter]键,改变就会发生,因此在执行前请检查一下命令。

删除了分区后,使用 print 命令来确认分区在分区表中已被删除。你还应该查看

cat /proc/partitions

的输出来确定内核知道分区已被删除。

最后一步是把它从 /etc/fstab 文件中删除。找到和已被删除的分区相应的行,然后从文件中删除它。

5.4. 重新划分分区大小

警告警告
 

不要试图重新划分正在被使用的设备上的分区的大小。

在重新划分分区大小前,引导入救援模式(或卸载设备上的所有分区并关闭设备上的交换空间)。

启动 parted,/dev/hda 是要在其中重新划分分区大小的设备:

parted /dev/hda

查看当前的分区表来判定要重划大小的分区的次要号码以及它的起止点:

print

警告警告
 

要重划大小的分区上已用的空间必须大于新建的大小。

要重新划分分区大小,使用 resize 命令,然后跟随分区的次要号码,以 MB 为单位的起始点和终止点。例如:

resize 3 1024 2048

分区被重新划分了大小后,使用 print 命令来确认分区已被正确地重新划分了大小,并且具备正确的分区类型和文件系统类型。

在正常模式下重新引导了系统后,使用 df 命令来确定分区已被挂载,并且它们的新大小也已被识别。

原文转自:http://www.ltesting.net