Parted

概述

虽然可以使用gdisk/fdisk管理磁盘分区,但gdisk支持gpt,fdisk支持mbr。parted则都支持。其有点类似windows中的diskpart

分区表

1
parted /dev/sda mklabel msdos|gpt

更改分区表类型(可以从gpt改为mbr,也可以从mbr改为gpt,前提数据会没掉)

1
2
# 和创建分区表没啥区别
parted /deb/sdb mklabel gpt

查询分区表

1
2
parted /dev/sda print
parted /dev/sda print free

统一单位

1
parted /dev/sda unit mb print

创建分区

创建主分区

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
parted /dev/sda mkpart primary [xfs] 0KB 2G
parted /dev/sda mkpart primary 1M 2G
parted /dev/sda mkpart primary 0% 100% (使用所有容量)
parted /dev/sda mkpart primary 2048s 100%
parted /dev/sda mkpart primary 1 -1 (其实是1MB和-1MB,这种写法会比上面的写法的总大小少1MB)
parted /dev/sda mkpart primary 1 -1s (这种写法才表示完全使用所有空间,-1s表示精确到最后一个扇区)

# 使用剩余空间创建分区
(parted) unit s
(parted) print free
Model: VMware Virtual disk (scsi)
Disk /dev/sda: 209715200s
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:

Number Start End Size File system Name Flags
34s 2047s 2014s Free Space
1 2048s 1230847s 1228800s fat32 EFI System Partition boot, esp
2 1230848s 3327999s 2097152s xfs
3 3328000s 104855551s 101527552s lvm
104855552s 209715166s 104859615s Free Space

(parted) mkpart primary xfs 104855552s -1s
Warning: You requested a partition from 104855552s to 209715199s (sectors 104855552..209715199).
The closest location we can manage is 104855552s to 209715166s (sectors 104855552..209715166).
Is this still acceptable to you?
Yes/No? No
(parted) mkpart primary xfs 104855552s 209715166s
(parted)

创建扩展分区

1
parted /dev/sda mkpart extended 152G 100%

刷新分区表

1
2
3
4
5
6
# 接下来运行udevadm settle命令,该命令会等待系统检测新分区并在/dev目录下创建关联的设备文件。只有完成上述操作,它才会返回
udevadm settle # RHEL8
# or
partprobe -s
# or
partx