一、MBR 和 GPT 区别
1.1 MBR
- MBR 分区表(即主引导记录)大家都很熟悉,是过去我们使用 windows 时常用的
- 所支持的最大卷:2T,而且对分区有限制:最多 4 个主分区或 3 个主分区加一个扩展分区
1.2 GPT
- GPT(即 GUID 分区表)。是源自 EFI 标准的一种较新的磁盘分区表结构的标准,是未来磁盘分区的主要形式。与 MBR 分区方式相比,具有如下优点。
- 突破 MBR 4 个主分区限制,每个磁盘最多支持 128 个分区。支持大于 2T 的分区,最大卷可达 18EB。
对于大于 2TB 的硬盘,我们需要使用 GPT(GUID 分区表)来进行分区。fdisk 工具并不直接支持 GPT 分区,但我们可以使用 parted 工具来完成分区。
fdisk
和 parted
都是常用的磁盘分区工具,它们各有优势和特点。下面是它们的一些比较:
fdisk
:
fdisk
是一个非常古老但广泛使用的工具,几乎在所有 Linux 发行版中都可用。- 它简单直接,易于使用和理解,适合进行基本的分区操作。
- 它提供了交互式的命令行界面,可以方便地创建、删除和修改分区。
fdisk
目前主要支持 MBR(Master Boot Record)分区表,对于大于 2TB 的硬盘需要使用 GPT 分区表。
parted
:
parted
是一个功能更强大、更灵活的分区工具,在大多数 Linux 发行版中也可用。- 它支持 MBR 和 GPT 两种分区表类型。
parted
提供了更多的分区选项和功能,比如支持更多的文件系统类型、调整分区大小而不丢失数据等。- 它还具有更友好的命令行界面,并且提供了更多的交互式命令,使得分区操作更加方便和可视化。
- 在处理大型硬盘或复杂分区需求时,
parted
通常更适合使用。
总体来说,如果你只需要进行基本的分区操作并且习惯使用命令行界面,那么 fdisk
是一个简单实用的选择。而如果你需要更多功能、更灵活的分区选项或者对交互式界面更感兴趣,那么 可以使用 parted
查看所有的分区 parted -l
[root@localhost ~]# parted -l
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sda: 21.5GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 1049kB 316MB 315MB primary xfs boot
2 316MB 2463MB 2147MB primary linux-swap(v1)
3 2463MB 21.5GB 19.0GB primary xfs
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 21.5GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
对磁盘进行分区
[root@localhost ~]# parted /dev/sdb
GNU Parted 3.1
Using /dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) mklabel gpt
# 定义分区表格式(常用的有msdos和gpt分区表格式,msdos不支持2TB以上容量的磁盘,所以大于2TB的磁盘选gpt分区表格式)
Warning: The existing disk label on /dev/sdb will be destroyed and all data on this disk will be lost. Do
you want to continue?
Yes/No? yes
# /dev/sdb上现有的磁盘标签将被销毁,该磁盘上的所有数据将丢失。你想要继续
是/Yes/否/No? yes
(parted) mkpart p1
# 创建第一个分区,名称为p1(p1只是第一个分区的名称,用别的名称也可以,如part1
File system type? [ext2]? ext4
# 定义分区格式(不支持ext4,想分ext4格式的分区,可以通过mkfs.ext4格式化成ext4格式)
Start? 1
# 定义分区的起始位置(单位支持K,M,G,T)
End? 100%
# 定义分区的结束位置(单位支持K,M,G,T)输入数字为单位默认为MB
(parted) p # 查看当前分区情况
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 21.5GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 21.5GB 21.5GB ext4 p1
(parted) q
删除分区
[root@localhost ~]# parted /dev/sdb
GNU Parted 3.1
Using /dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) rm
# rm删除命令(删除之前必须确保分区没有被挂载)
Partition number? 1
# 删除第一个分区
(parted) p
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 21.5GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
(parted) q
Comments NOTHING