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

GPTparted命令详解

GPT概述

全局唯⼀标识分区表(GUID Partition Table,缩写:GPT)是⼀个实体硬盘的分区结构。它是可扩展固件接⼝标准的⼀部分,⽤来替代BIOS中的主引导记录分区表。传统

的主启动记录 (MBR) 磁盘分区⽀持最⼤卷为2.2 TB (terabytes) ,每个磁盘最多有 4 个主分区(或 3 个主分区,1 个扩展分区和⽆限制的逻辑驱动器)。 MBR 分区⽅法

相⽐,GPT 具有更多的优点,因为它允许每个磁盘有多达 128 个分区,⽀持⾼达 18 千兆兆字节 (exabytes1EB=10^6TB) 的卷⼤⼩,允许将主磁盘分区表和备份磁盘分

区表⽤于冗余,还⽀持唯⼀的磁盘和分区 ID (GUID)

MBR 分区的磁盘不同,GPT的分区信息是在分区中,⽽不象MBR⼀样在主引导扇区。为保护GPT不受MBR类磁盘管理软件的危害,GPT在主引导扇区建⽴了⼀ 个保护

分区 (Protective MBR)MBR分区表,这种分区的类型标识为0xEE,这个保护分区的⼤⼩在Windows下为128MBMac OS X下为200MB,在Window磁盘管理器⾥名为

GPT保护分区,可让MBR类磁盘管理软件把GPT看成⼀个未知格式的分区,⽽不是错误地当成⼀个未分 区的磁盘。另外,GPT 分区磁盘有多余的主要及备份分区表来提⾼

分区数据结构的完整性。

MBR硬盘中,分区信息直接存储于主引导记录(MBR)中(主引导记录中还存 储着系统的引导程序)。但在GPT硬盘中,分区表的位置信息储存在GPT头中。但出于兼容

性考虑,硬盘的第⼀个扇区仍然⽤作MBR,之后才是GPT头。跟 现代的MBR⼀样,GPT也使⽤逻辑区块地址(LBA)取代了早期的CHS寻址⽅式。传统MBR信息存储于

LBA 0GPT头存储于LBA 1,接下来才是分区表本⾝。64Windows操作系统使⽤16,384字节(或32扇区)作为GPT分区表,接下来的LBA 34是硬盘上第⼀个分区的开

始。为了减少分区表损坏的风险,GPT在硬盘最后保存了⼀份分区表的副本。与主启动记录 (MBR) 分区⽅法相⽐,GPT 具有更多的优点,因为它允许每个磁盘有多达 128

个分区,⽀持⾼达18 千兆兆字节的卷⼤⼩,允许将主磁盘分区表和备份磁盘分区表⽤于冗余,还⽀持唯⼀的磁盘和分区ID(GUID)

GPT结构

GPT的结构见下图

传统MBR (LBA 0)

GPT分区表的最开头,处于兼容性考虑仍然存储了⼀份传统的MBR,⽤来防⽌不⽀持GPT的硬盘管理⼯具错误识别并破坏硬盘中的数据,这个MBR也叫做 保护MBR。在

⽀持从GPT启动的操作系统中,这⾥也⽤于存储第⼀阶段的启动代码。在这个MBR中,只有⼀个标识为0xEE的分区,以此来表⽰这块硬盘使 GPT分区表。不能识别GPT

硬盘的操作系统通常会识别出⼀个未知类型的分区,并且拒绝对硬盘进⾏操作,除⾮⽤户特别要求删除这个分区。这就避免了意外 删除分区的危险。另外,能够识别GPT

区表的操作系统会检查保护MBR中的分区表,如果分区类型不是0xEE或者MBR分区表中有多个项,也会拒绝对硬 盘进⾏操作。

在使⽤MBR/GPT混合分区表的硬盘中,这部分存储了GPT分区表的⼀部分分区(通常是前四个分区),可以使不⽀持从GPT启动的操作系统从这个MBR启动,启动后只能

操作MBR分区表中的分区。如Boot Camp就是使⽤这种⽅式启动Windows

分区表头 (LBA 1)

分区表头定义了硬盘的可⽤空间以及组成分区表的项的⼤⼩和数量。在使⽤64Windows Server 2003的机器上,最多可以创建128个分区,即分区表中保留了128个项,其

中每个都是128字节。(EFI标准要求分区表最⼩要有16,384字节, 128个分区项的⼤⼩)

分区表头还记录了这块硬盘的GUID,记录了分区表头本⾝的位置和⼤⼩(位置总是在LBA 1)以及备份分区表头和分区表的位置和⼤⼩(在硬盘的最后)。它还储存着它本

⾝和分区表的CRC32校验。固件、引导程序和操作系统在启动时可以根据这个 校验值来判断分区表是否出错,如果出错了,可以使⽤软件从硬盘最后的备份GPT中恢复整

个分区表,如果备份GPT也校验错误,硬盘将不可使⽤。所以GPT 硬盘的分区表不可以直接使⽤16进制编辑器修改。

分区表头的格式如下

起始字节长度内容

08字节签名("EFI PART", 45 46 49 20 50 41 52 54

84字节修订(在1.0版中,值是 00 00 01 00

124字节分区表头的⼤⼩(单位是字节,通常是92字节,即 5C 00 00 00

164字节分区表头(第091字节)的CRC32 校验,在计算时,把这个字段作为0处理,需要计算出分区串⾏的CRC32校验后再计算本字段

204字节保留,必须是 0

248字节当前LBA(这个分区表头的位置)

328字节备份LBA(另⼀个分区表头的位置)

408字节第⼀个可⽤于分区的LBA(主分区表的最后⼀个LBA + 1

488字节最后⼀个可⽤于分区的LBA(备份分区表的第⼀个LBA − 1

5616字节硬盘GUID(在类UNIX 系统中也叫UUID

728字节分区表项的起始LBA(在主分区表中是2

804字节分区表项的数量

844字节⼀个分区表项的⼤⼩(通常是128

884字节分区串⾏的CRC32校验

92*保留,剩余的字节必须是0(对于512字节LBA的硬盘即是420个字节)

主分区表和备份分区表的头分别位于硬盘的第⼆个扇区(LBA 1)以及硬盘的最后⼀个扇区。备份分区表头中的信息是关于备份分区表的。

分区表项 (LBA 2–33)

GPT分区表使⽤简单⽽直接的⽅式表⽰分区。⼀个分区表项的前16字节是分区类型GUID。例如,EFI系统分区的GUID类型是{C12A7328- F81F-11D2-BA4B-

00A0C93EC93B}。接下来的16字节是该分区唯⼀的GUID(这个GUID指的是该分区本⾝,⽽之前的GUID 指的是该分区的类型)。再接下来是分区起始和末尾的64LBA

号,以及分区的名字和属性。

GPT分区表项的格式如下

起始字节长度内容

016字节分区类型GUID

1616字节分区GUID

328字节起始LBA(⼩端序

408字节末尾LBA

488字节属性标签(如: 表⽰只读

5672字节分区名(可以包括36UTF-16(⼩端序)字符)

60

parted概述

上⽂介绍了GPT,由于常见的fdisk不⽀持GPT(在硬盘容量⼤于2Tb 时候⽆法使⽤fdisk进⾏分区的管理),故在IA64平台上管理磁盘时parted还是相当实⽤的,GNU Parted

具有丰富的功能,它除了能够进⾏分区的添加、删除等常见操作外,还可以进⾏移动分区、创建⽂件系统、调整⽂件系统⼤⼩、复制⽂件系统等操作。它可以处理最 常见的

分区格式,包括:ext2,ext3,fat16,fat32,NTFS,ReiserFS,JFS,XFS,UFS,HFS,以及Linux交换 分区。

parted 命令格式

parted 有两种运⾏模式:命令⾏模式和交互模式。与 fdisk 的交互模式交互模式不同,在 parted 的交互模式下执⾏命令,⼀旦按回车键确认,命令就马上执⾏,对磁盘的更

改就⽴刻⽣效。

parted 命令的常⽤格式是:

1# parted [选项] <硬盘设备名>

2# parted [选项] <硬盘设备名> <⼦命令> [<⼦命令参数>]

格式(1)⽤于进⼊parted 的交互模式,在该模式下输⼊parted的⼦命令对指定的硬盘进⾏分区等操作。quit 命令⽤于退出交互模式。

格式(2)直接在命令⾏⽅式下对指定的硬盘进⾏分区等操作。

其中常⽤的选项为:

-h, ––help — 显⽰求助信息

-i, ––interactive — 在必要时提⽰⽤户

-l, ––list — 显⽰所有磁盘设备的分区表

-s, ––script — 从不提⽰⽤户

-v, ––version — 显⽰版本

⽆论哪种模式,在parted中都可以使⽤若⼲⼦命令,见下表。

命令 说明

help [COMMAND]打印命令的帮助信息,或指定命令的帮助信息

print

[free|NUMBER|all]

显⽰分区表, 指定编号的分区, 或所有设备的分区表

mkpart PART-

创建新分区。PART-TYPE 是以下类型之⼀:primary(主分 区)、extended(扩展分区)、

TYPE [FSTYPE]

logical(逻辑分区)。START END 是新分区开始和结束的具体位置。

START END

rm NUMBER删除指定编号 NUMBER 的分区。

set NUMBER

FLAG STATE“lvm”(逻辑卷), “lba” LBALogic Block Addressing模式)。 状态STATE 的取值是:on

对指定编号 NUMBER 的分区设置分区标记 FLAG。对于 PC 常⽤的 msdos 分区表来说,分区

标记 FLAG 可有如下值:”boot”(引导), “hidden”(隐藏), “raid”(软RAID磁盘阵),

off

设置默认输出时表⽰磁盘⼤⼩的单位为 UNITUNIT 的常⽤取值可以为:‘MB’‘GB’‘%’(占

整个磁盘设备的百分之多少)、‘compact’(⼈类易读⽅式,类似于 df 命令中 -h 参数的⽤)、

‘s’(扇区)、‘cyl’ (柱⾯)、‘chs’ (柱⾯cylinders:磁头 heads:扇区 sectors 的地址)

对指定编号 NUMBER 的分区创建指定类型 FS-TYPE 的⽂件系 统。

创建新分区同时创建⽂件系统。FS-TYPE 是以下类型⼀:ext2fat16fat32linuxswap

NTFSreiserfsufs

unit UNIT

mkfs NUMBER

FS-TYPE

mkpartfs PART-

TYPE FSTYPE

START END

cp [FROM-

DEVICE] FROM-

将分区 FROM-NUMBER 上的⽂件系统完整地复制到分区TO-NUMBER 中,作为可选项还可以

NUMBER

指定⼀个来源硬盘的设备名称FROM-DEVICE,若省略则在当前设备上进⾏复制。

TONUMBER

move NUMBER

START END

resize NUMBER

START END

check NUMBER检查指定编号 NUMBER 分区中的⽂件系统是否有什么错误

将指定编号 NUMBER 的分区移动到从 START 开始 END 结束的位置上。注意:(1)只能将

分区移动到空闲空间中。(2)虽然分区被移动了,但它的分区编号是不会改变的

对指定编号 NUMBER 的分区调整⼤⼩。分区的开始位置和结束位置由 START END 决定

rescue START

END

mklabel,mktable

LABELTYPELABELTYPE 若是⽤ GUID 分区表,LABEL-TYPE 应该为 gpt

恢复靠近位置 START END 之间的分区

创建⼀个新的 LABEL-TYPE 类型的空磁盘分区表,对于PC⽽⾔ msdos 是常⽤的

parted使⽤实例

# parted /dev/sdd

GNU Parted 1.8.1

Using /dev/sdd

Welcome to GNU Parted! Type 'help' to view a list of commands.

(parted) print

Model: OPNFILER VIRTUAL-DISK (scsi)

Disk /dev/sdd: 27.1GB

Sector size (logical/physical): 512B/512B

Partition Table: msdos

(parted) print #查看分区信息

Model: OPNFILER VIRTUAL-DISK (scsi)

Disk /dev/sdd: 27.1GB

Sector size (logical/physical): 512B/512B

Partition Table: msdos

Number Start End Size Type File system Flags

1 16.4kB 4001MB 4001MB primary

4 4001MB 4703MB 701MB extended

5 4001MB 4102MB 101MB logical

6 4102MB 4203MB 101MB logical

7 4203MB 4303MB 101MB logical

8 4303MB 4404MB 101MB logical

9 4404MB 4416MB 11.5MB logical

10 4416MB 4437MB 21.0MB logical

11 4437MB 4468MB 31.4MB logical

12 4468MB 4509MB 40.9MB logical ext3

(parted) mkpart #创建新的分区

(parted) rm 13 #删除分区13

(parted) p

Model: OPNFILER VIRTUAL-DISK (scsi)

Disk /dev/sdd: 52953087s

Sector size (logical/physical): 512B/512B

Partition Table: msdos

Number Start End Size Type File system Flags

1 32s 7815167s 7815136s primary

4 7815168s 9185279s 1370112s extended

5 7815200s 8011775s 196576s logical

6 8011808s 8208383s 196576s logical

7 8208416s 8404991s 196576s logical

8 8405024s 8601599s 196576s logical

9 8601632s 8624127s 22496s logical

10 8624160s 8665087s 40928s logical

11 8665120s 8726527s 61408s logical

12 8726560s 8806399s 79840s logical ext3

(parted) set 12 lvm on #将分区12lvm标志打开,这⾥仅打开标志,并未实际创建lv

(parted) p

Model: OPNFILER VIRTUAL-DISK (scsi)

Disk /dev/sdd: 52953087s

Partition Table: msdos

Number Start End Size Type File system 标志

1 32.3kB 107MB 107MB 主分区 ext3 启动

2 107MB 8587MB 8480MB 主分区 lvm

Model: VMware, VMware Virtual S (scsi)

参考:/blog/1751408

GPT概述

全局唯⼀标识分区表(GUID Partition Table,缩写:GPT)是⼀个实体硬盘的分区结构。它是可扩展固件接⼝标准的⼀部分,⽤来替代BIOS中的主引导记录分区表。传统

的主启动记录 (MBR) 磁盘分区⽀持最⼤卷为2.2 TB (terabytes) ,每个磁盘最多有 4 个主分区(或 3 个主分区,1 个扩展分区和⽆限制的逻辑驱动器)。 MBR 分区⽅法

相⽐,GPT 具有更多的优点,因为它允许每个磁盘有多达 128 个分区,⽀持⾼达 18 千兆兆字节 (exabytes1EB=10^6TB) 的卷⼤⼩,允许将主磁盘分区表和备份磁盘分

区表⽤于冗余,还⽀持唯⼀的磁盘和分区 ID (GUID)

MBR 分区的磁盘不同,GPT的分区信息是在分区中,⽽不象MBR⼀样在主引导扇区。为保护GPT不受MBR类磁盘管理软件的危害,GPT在主引导扇区建⽴了⼀ 个保护

分区 (Protective MBR)MBR分区表,这种分区的类型标识为0xEE,这个保护分区的⼤⼩在Windows下为128MBMac OS X下为200MB,在Window磁盘管理器⾥名为

GPT保护分区,可让MBR类磁盘管理软件把GPT看成⼀个未知格式的分区,⽽不是错误地当成⼀个未分 区的磁盘。另外,GPT 分区磁盘有多余的主要及备份分区表来提⾼

分区数据结构的完整性。

MBR硬盘中,分区信息直接存储于主引导记录(MBR)中(主引导记录中还存 储着系统的引导程序)。但在GPT硬盘中,分区表的位置信息储存在GPT头中。但出于兼容

性考虑,硬盘的第⼀个扇区仍然⽤作MBR,之后才是GPT头。跟 现代的MBR⼀样,GPT也使⽤逻辑区块地址(LBA)取代了早期的CHS寻址⽅式。传统MBR信息存储于

LBA 0GPT头存储于LBA 1,接下来才是分区表本⾝。64Windows操作系统使⽤16,384字节(或32扇区)作为GPT分区表,接下来的LBA 34是硬盘上第⼀个分区的开

始。为了减少分区表损坏的风险,GPT在硬盘最后保存了⼀份分区表的副本。与主启动记录 (MBR) 分区⽅法相⽐,GPT 具有更多的优点,因为它允许每个磁盘有多达 128

个分区,⽀持⾼达18 千兆兆字节的卷⼤⼩,允许将主磁盘分区表和备份磁盘分区表⽤于冗余,还⽀持唯⼀的磁盘和分区ID(GUID)

GPT结构

GPT的结构见下图

传统MBR (LBA 0)

GPT分区表的最开头,处于兼容性考虑仍然存储了⼀份传统的MBR,⽤来防⽌不⽀持GPT的硬盘管理⼯具错误识别并破坏硬盘中的数据,这个MBR也叫做 保护MBR。在

⽀持从GPT启动的操作系统中,这⾥也⽤于存储第⼀阶段的启动代码。在这个MBR中,只有⼀个标识为0xEE的分区,以此来表⽰这块硬盘使 GPT分区表。不能识别GPT

硬盘的操作系统通常会识别出⼀个未知类型的分区,并且拒绝对硬盘进⾏操作,除⾮⽤户特别要求删除这个分区。这就避免了意外 删除分区的危险。另外,能够识别GPT

区表的操作系统会检查保护MBR中的分区表,如果分区类型不是0xEE或者MBR分区表中有多个项,也会拒绝对硬 盘进⾏操作。

在使⽤MBR/GPT混合分区表的硬盘中,这部分存储了GPT分区表的⼀部分分区(通常是前四个分区),可以使不⽀持从GPT启动的操作系统从这个MBR启动,启动后只能

操作MBR分区表中的分区。如Boot Camp就是使⽤这种⽅式启动Windows

分区表头 (LBA 1)

分区表头定义了硬盘的可⽤空间以及组成分区表的项的⼤⼩和数量。在使⽤64Windows Server 2003的机器上,最多可以创建128个分区,即分区表中保留了128个项,其

中每个都是128字节。(EFI标准要求分区表最⼩要有16,384字节, 128个分区项的⼤⼩)

分区表头还记录了这块硬盘的GUID,记录了分区表头本⾝的位置和⼤⼩(位置总是在LBA 1)以及备份分区表头和分区表的位置和⼤⼩(在硬盘的最后)。它还储存着它本

⾝和分区表的CRC32校验。固件、引导程序和操作系统在启动时可以根据这个 校验值来判断分区表是否出错,如果出错了,可以使⽤软件从硬盘最后的备份GPT中恢复整

个分区表,如果备份GPT也校验错误,硬盘将不可使⽤。所以GPT 硬盘的分区表不可以直接使⽤16进制编辑器修改。

分区表头的格式如下

起始字节长度内容

08字节签名("EFI PART", 45 46 49 20 50 41 52 54

84字节修订(在1.0版中,值是 00 00 01 00

124字节分区表头的⼤⼩(单位是字节,通常是92字节,即 5C 00 00 00

164字节分区表头(第091字节)的CRC32 校验,在计算时,把这个字段作为0处理,需要计算出分区串⾏的CRC32校验后再计算本字段

204字节保留,必须是 0

248字节当前LBA(这个分区表头的位置)

328字节备份LBA(另⼀个分区表头的位置)

408字节第⼀个可⽤于分区的LBA(主分区表的最后⼀个LBA + 1

488字节最后⼀个可⽤于分区的LBA(备份分区表的第⼀个LBA − 1

5616字节硬盘GUID(在类UNIX 系统中也叫UUID

728字节分区表项的起始LBA(在主分区表中是2

804字节分区表项的数量

844字节⼀个分区表项的⼤⼩(通常是128

884字节分区串⾏的CRC32校验

92*保留,剩余的字节必须是0(对于512字节LBA的硬盘即是420个字节)

主分区表和备份分区表的头分别位于硬盘的第⼆个扇区(LBA 1)以及硬盘的最后⼀个扇区。备份分区表头中的信息是关于备份分区表的。

分区表项 (LBA 2–33)

GPT分区表使⽤简单⽽直接的⽅式表⽰分区。⼀个分区表项的前16字节是分区类型GUID。例如,EFI系统分区的GUID类型是{C12A7328- F81F-11D2-BA4B-

00A0C93EC93B}。接下来的16字节是该分区唯⼀的GUID(这个GUID指的是该分区本⾝,⽽之前的GUID 指的是该分区的类型)。再接下来是分区起始和末尾的64LBA

号,以及分区的名字和属性。

GPT分区表项的格式如下

起始字节长度内容

016字节分区类型GUID

1616字节分区GUID

328字节起始LBA(⼩端序

408字节末尾LBA

488字节属性标签(如: 表⽰只读

5672字节分区名(可以包括36UTF-16(⼩端序)字符)

60

parted概述

上⽂介绍了GPT,由于常见的fdisk不⽀持GPT(在硬盘容量⼤于2Tb 时候⽆法使⽤fdisk进⾏分区的管理),故在IA64平台上管理磁盘时parted还是相当实⽤的,GNU Parted

具有丰富的功能,它除了能够进⾏分区的添加、删除等常见操作外,还可以进⾏移动分区、创建⽂件系统、调整⽂件系统⼤⼩、复制⽂件系统等操作。它可以处理最 常见的

分区格式,包括:ext2,ext3,fat16,fat32,NTFS,ReiserFS,JFS,XFS,UFS,HFS,以及Linux交换 分区。

parted 命令格式

parted 有两种运⾏模式:命令⾏模式和交互模式。与 fdisk 的交互模式交互模式不同,在 parted 的交互模式下执⾏命令,⼀旦按回车键确认,命令就马上执⾏,对磁盘的更

改就⽴刻⽣效。

parted 命令的常⽤格式是:

1# parted [选项] <硬盘设备名>

2# parted [选项] <硬盘设备名> <⼦命令> [<⼦命令参数>]

格式(1)⽤于进⼊parted 的交互模式,在该模式下输⼊parted的⼦命令对指定的硬盘进⾏分区等操作。quit 命令⽤于退出交互模式。

格式(2)直接在命令⾏⽅式下对指定的硬盘进⾏分区等操作。

其中常⽤的选项为:

-h, ––help — 显⽰求助信息

-i, ––interactive — 在必要时提⽰⽤户

-l, ––list — 显⽰所有磁盘设备的分区表

-s, ––script — 从不提⽰⽤户

-v, ––version — 显⽰版本

⽆论哪种模式,在parted中都可以使⽤若⼲⼦命令,见下表。

命令 说明

help [COMMAND]打印命令的帮助信息,或指定命令的帮助信息

print

[free|NUMBER|all]

显⽰分区表, 指定编号的分区, 或所有设备的分区表

mkpart PART-

创建新分区。PART-TYPE 是以下类型之⼀:primary(主分 区)、extended(扩展分区)、

TYPE [FSTYPE]

logical(逻辑分区)。START END 是新分区开始和结束的具体位置。

START END

rm NUMBER删除指定编号 NUMBER 的分区。

set NUMBER

FLAG STATE“lvm”(逻辑卷), “lba” LBALogic Block Addressing模式)。 状态STATE 的取值是:on

对指定编号 NUMBER 的分区设置分区标记 FLAG。对于 PC 常⽤的 msdos 分区表来说,分区

标记 FLAG 可有如下值:”boot”(引导), “hidden”(隐藏), “raid”(软RAID磁盘阵),

off

设置默认输出时表⽰磁盘⼤⼩的单位为 UNITUNIT 的常⽤取值可以为:‘MB’‘GB’‘%’(占

整个磁盘设备的百分之多少)、‘compact’(⼈类易读⽅式,类似于 df 命令中 -h 参数的⽤)、

‘s’(扇区)、‘cyl’ (柱⾯)、‘chs’ (柱⾯cylinders:磁头 heads:扇区 sectors 的地址)

对指定编号 NUMBER 的分区创建指定类型 FS-TYPE 的⽂件系 统。

创建新分区同时创建⽂件系统。FS-TYPE 是以下类型⼀:ext2fat16fat32linuxswap

NTFSreiserfsufs

unit UNIT

mkfs NUMBER

FS-TYPE

mkpartfs PART-

TYPE FSTYPE

START END

cp [FROM-

DEVICE] FROM-

将分区 FROM-NUMBER 上的⽂件系统完整地复制到分区TO-NUMBER 中,作为可选项还可以

NUMBER

指定⼀个来源硬盘的设备名称FROM-DEVICE,若省略则在当前设备上进⾏复制。

TONUMBER

move NUMBER

START END

resize NUMBER

START END

check NUMBER检查指定编号 NUMBER 分区中的⽂件系统是否有什么错误

rescue START

END

mklabel,mktable

LABELTYPELABELTYPE 若是⽤ GUID 分区表,LABEL-TYPE 应该为 gpt

将指定编号 NUMBER 的分区移动到从 START 开始 END 结束的位置上。注意:(1)只能将

分区移动到空闲空间中。(2)虽然分区被移动了,但它的分区编号是不会改变的

对指定编号 NUMBER 的分区调整⼤⼩。分区的开始位置和结束位置由 START END 决定

恢复靠近位置 START END 之间的分区

创建⼀个新的 LABEL-TYPE 类型的空磁盘分区表,对于PC⽽⾔ msdos 是常⽤的

parted使⽤实例

# parted /dev/sdd

GNU Parted 1.8.1

Using /dev/sdd

Welcome to GNU Parted! Type 'help' to view a list of commands.

(parted) print

Model: OPNFILER VIRTUAL-DISK (scsi)

Disk /dev/sdd: 27.1GB

Sector size (logical/physical): 512B/512B

Partition Table: msdos

(parted) print #查看分区信息

Model: OPNFILER VIRTUAL-DISK (scsi)

Disk /dev/sdd: 27.1GB

Sector size (logical/physical): 512B/512B

Partition Table: msdos

Number Start End Size Type File system Flags

1 16.4kB 4001MB 4001MB primary

4 4001MB 4703MB 701MB extended

5 4001MB 4102MB 101MB logical

6 4102MB 4203MB 101MB logical

7 4203MB 4303MB 101MB logical

8 4303MB 4404MB 101MB logical

9 4404MB 4416MB 11.5MB logical

10 4416MB 4437MB 21.0MB logical

11 4437MB 4468MB 31.4MB logical

12 4468MB 4509MB 40.9MB logical ext3

(parted) mkpart #创建新的分区

Partition type? primary/logical? l

File system type? [ext2]? ext3

Start? 4509MB

End? -1s # 表⽰硬盘最后⼀个扇区,就是硬盘的最末尾处

Warning: You requested a partition from 4509MB to 27.1GB.

The closest location we can manage is 4516MB to 4697MB. Is this still acceptable to you?

Yes/No? y

(parted) print

Model: OPNFILER VIRTUAL-DISK (scsi)

Disk /dev/sdd: 27.1GB

Sector size (logical/physical): 512B/512B

Partition Table: msdos

Number Start End Size Type File system Flags

1 16.4kB 4001MB 4001MB primary

4 4001MB 4703MB 701MB extended

5 4001MB 4102MB 101MB logical

6 4102MB 4203MB 101MB logical

7 4203MB 4303MB 101MB logical

8 4303MB 4404MB 101MB logical

9 4404MB 4416MB 11.5MB logical

10 4416MB 4437MB 21.0MB logical

11 4437MB 4468MB 31.4MB logical

12 4468MB 4509MB 40.9MB logical ext3

13 4516MB 4697MB 181MB logical

(parted) unit s #设置单位为扇区

(parted) print

Model: OPNFILER VIRTUAL-DISK (scsi)

Disk /dev/sdd: 52953087s

Sector size (logical/physical): 512B/512B

Partition Table: msdos

Number Start End Size Type File system Flags

1 32s 7815167s 7815136s primary

# parted -l /dev/sda # 直接在命令模式下显⽰sda的分区表

Model: VMware, VMware Virtual S (scsi)

Disk /dev/sda: 8590MB