Linux 文件系统
传统的 PC 架构计算机使用 Master Boot Record(MBR)分区表(Partition Tables) 来存储计算机上的 磁盘分区(Disks Partitions) 信息。MBR 有以下特点:
- MBR 的分区最大支持 2TB 的容量。
最新的 UEFI 计算机架构使用 GUID(Globally Unique Identifier) Partition Tables(GPT) 标准来替代旧的 BIOS 方法启动计算机操作系统。相比于 MBR,GPT 有以下优势及特性:
- GPT 的分区最大能支持到 9.4ZB
传统的基于 MBR Partition Tables 的最重要的分区工具是 fdisk
,但是它目前不支持 GPT Partitions ,新的工具 parted
正在顶替 fdisk
的功能。
parted 用法
要查看 parted
常见用法,可以参考 parted --help
或在交互模式中使用 help
指令
查看分区表信息
要查看系统上的分区信息,使用以下方式之一
parted -l
parted -l
Model: Amazon Elastic Block Store (nvme)
Disk /dev/nvme0n1: 85.9GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
14 1049kB 5243kB 4194kB bios_grub
15 5243kB 116MB 111MB fat32 boot, esp
1 116MB 85.9GB 85.8GB ext4
Model: Amazon Elastic Block Store (nvme)
Disk /dev/nvme1n1: 107GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 1049kB 53.7GB 53.7GB primary ext4
Model: Unknown (unknown)
Disk /dev/zram0: 33.2GB
Sector size (logical/physical): 4096B/4096B
Partition Table: loop
Disk Flags:
Number Start End Size File system Flags
1 0.00B 33.2GB 33.2GB linux-swap(v1)parted
交互模式,在交互模式中使用指令p
parted
GNU Parted 3.4
Using /dev/nvme0n1
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) p
Model: Amazon Elastic Block Store (nvme)
Disk /dev/nvme0n1: 85.9GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
14 1049kB 5243kB 4194kB bios_grub
15 5243kB 116MB 111MB fat32 boot, esp
1 116MB 85.9GB 85.8GB ext4
(parted)
创建 GPT 分区格式的硬盘
要使用 parted
对硬盘指定其分区表类型,假设硬盘为 /dev/nvme1n1
(默认表示第二个 NVM(NVMe, NonVolatile Memory Disks express, NVM 磁盘设备专用的通信接口协议) 硬盘的第一个 Namespace),参考以下步骤:
parted /dev/nvme1n1
,进入交互模式并对指定的硬盘进行分区操作, 以下步骤会导致硬盘上所有的分区及数据丢失- 在交互模式中使用
mklabel gpt
命令,配置硬盘使用 GPT 类型的分区表,而不是 MBR(parted) mklabel gpt
Warning: The existing disk label on /dev/nvme1n1 will be destroyed and all data
on this disk will be lost. Do you want to continue?
Yes/No? Yes
(parted) - 在交互模式中使用
mkpart
命令进行分区操作,分区完成后使用p
指令检查分区(parted) mkpart
Partition name? []? alldisk
File system type? [ext2]? xfs
Start? 1
End? 123GB
(parted) p
Model: SanDisk Ultra (scsi)
Disk /dev/nvme1n1: 123GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 123GB 123GB xfs alldisk - 使用
quit
指令退出parted
交互模式。fdisk
交互模式中,只有最终执行了w
命令保存,对硬盘的操作才会最终生效,和fdisk
不同,parted
命令对硬盘的更改立即生效 - 对分区进行格式化并挂载使用,如果需要持久化挂载(系统重启后依然生效),可以将挂载信息写入
/etc/fstab
mkfs -t xfs /dev/nvme1n1p1
mount /dev/nvme1n1p1 /mnt/