2023年11月25日发(作者:)

parted命令详解

1.简介:

parted的操作都是实时的,也就是说你执⾏了⼀个分区的命令,他就实实在在地分区了,⽽不是像fdisk那样,需要执⾏w命令写⼊所做的修

改, 所以进⾏parted的测试千万注意不能在⽣产环境中!

的命令⽅式:

Parted 命令分为两种模式:命令⾏模式和交互模式。

1)命令⾏模式: parted [option] device [command] ,该模式可以直接在命令⾏下对磁盘进⾏分区操作,⽐较适合编程应⽤。如:

# parted /dev/sdb print –显⽰磁盘/dev/sdb分区。

2)交互模式:parted [option] device

parted /dev/sdb –进⼊交互模式,建议使⽤交互模式,尤其是对parted命令不是很熟悉的情况下。

3.常⽤的2种分区表:MBRGPT区别。

1MBRMBR分区表(即主引导记录)⼤家都很熟悉,是过去我们使⽤windows时常⽤的。

所⽀持的最⼤卷:2T,⽽且对分区有限制:最多4个主分区或3个主分区加⼀个扩展分区

2GPT GPT(即GUID分区表)。是源⾃EFI标准的⼀种较新的磁盘分区表结构的标准,是未来磁盘分区的主要形式。与MBR分区⽅式

相⽐,具有如下优点。

突破MBR 4个主分区限制,每个磁盘最多⽀持128个分区。⽀持⼤于2T的分区,最⼤卷可达18EB

命令常⽤功能:

当在命令⾏输⼊parted后,进⼊parted命令的交互模式。输⼊help会显⽰帮助信息。下⾯就简单介绍⼀下常⽤的功能

1Check 简单检查⽂件系统。建议⽤其他命令检查⽂件系统,⽐如fsck

2Help 显⽰帮助信息

3mklabel 创建分区表, 即是使⽤msdosMBR)还是使⽤gpt,或者是其他⽅式分区表

4 mkfs 创建⽂件系统。该命令不⽀持ext3 格式,因此建议不使⽤,最好是⽤parted分好区,然后退出parted交互模式,⽤其他命令进⾏

分区,⽐如:3

5mkpart 创建新分区

格式:mkpart PART-TYPE [FS-TYPE] START END

PART-TYPE 类型主要有primary(主分区), extended(扩展分区), logical(逻辑区). 扩展分区和逻辑分区只对msdos

fs-type ⽂件系统类型,主要有fs32NTFSext2ext3

start end 分区的起始和结束位置。

6mkpartfs 建⽴分区及其⽂件系统。⽬前还不⽀持ext3⽂件系统,因此不建议使⽤该功能。最后是分好区后,退出parted,然后⽤其他命

令建⽴⽂件系统。

7 print 输出分区信息。该功能有3个选项,

1free 显⽰该盘的所有信息,并显⽰磁盘剩余空间

2number 显⽰指定的分区的信息

3all 显⽰所有磁盘信息

8resize 调整指定的分区的⼤⼩。⽬前对ext3格式⽀持不是很好,所以不建议使⽤该功能。

9rescue 恢复不⼩⼼删除的分区。如果不⼩⼼⽤partedrm命令删除了⼀个分区,那么可以通过rescue功能进⾏恢复。恢复时需要给出

分区的起始和结束的位置。然后parted就会在给定的范围内去寻找,并提⽰恢复分区。

10rm 删除分区。命令格式 rm number 。如:rm 3 就是将编号为3的分区删除

11select 选择设备。当输⼊parted命令后直接回车进⼊交互模式是,如果有多块硬盘,需要⽤select 选择要操作的硬盘。如:select

/dev/sdb

12set 设置标记。更改指定分区编号的标志。标志通常有如下⼏种:boot hidden raid lvm 等。

boot 为引导分区,hidden 为隐藏分区,raid raidlvm 为逻辑分区。

如:set 3 boot on 设置分区号3 为启动分区

:以上内容为parted常⽤的功能,由于该⼯具⽬前对ext3⽀持得不是很好,因此有些功能⽆法应⽤,⽐如move(移动分区)和resize等。

5.⽤法⽰例:

1)打印⼀个磁盘的当前的分区结构:

parted /dev/sdb print

2)将⼀个MBR的为:

parted> mklabel gpt

3)将⼀个GPT磁盘格式化为MBR磁盘:

parted> mklabel msdos

4)划分⼀个起始位置是0,⼤⼩为100M的:

parted> mkpart primary 0 100M 或者 parted /dev/sdb mkpart primary 0 100M

5)将⼀个磁盘的所有空间都划分成⼀个分区:

parted> mkpart primary 0 -1 或者 parted /dev/sdb mkpart primary 0 -1

6)删除⼀个分区:

parted> rm 1 或者 parted /dev/sdb rm 1