parted是大于2TB磁盘的首选分区工具,因其原生支持GPT、直接处理超大扇区地址、内置对齐检查、支持直观相对语法及脚本化操作。
超过2TB的磁盘不能用分区,必须用或创建 GPT 分区表;否则最多只能分出 2TB,剩余空间不可见、不可用。
为什么
是大于2TB磁盘的首选分区工具
原生支持 GPT,无需额外切换模式,能直接处理超大扇区地址(如 20TB 磁盘的 42965401600 个扇区),而
在 MBR 模式下受限于 32 位 LBA 寻址,理论上限就是 2TB。
它还内置对齐检查(
对齐策略),避免因扇区未对齐导致 I/O 性能下降——这点在 SSD 或 NVMe 盘上尤为明显。
的
命令可直接指定起止位置(支持
、
这类相对语法),比
的扇区编号更直观
不依赖交互式菜单:整套操作可写成脚本,适合自动化部署(比如云服务器初始化)
但注意:
执行命令后立即写入磁盘,没有“确认保存”步骤,误操作无法回退
创建 GPT 分区的最小可靠流程
以新挂载的 20TB 磁盘
为例,执行以下操作:
关键点说明:
必须第一步执行——它会清空原有分区表,包括隐藏的 MBR 签名,否则后续
可能失败或静默忽略
中的
是为对齐留出的起始偏移(避开传统 512B 扇区边界),
表示用尽全部剩余空间,比手算扇区数安全
验证第 1 个分区是否对齐,返回
才算合格;若提示
,需删掉重做(
)
和
在实际使用中的核心差异
两者都能建 GPT,但行为逻辑不同:
默认按“字节”或“%”单位操作,输入
会被拒绝,必须用
或带单位的
(需版本 ≥3.3)
强制按扇区编号(sector),
后要手动输起始/结束扇区号,容易算错;但它有
命令列出所有可用类型,对需要指定
或
类型的场景更可控
不显示分区类型 ID(如 EF00、8E00),所有分区默认为
(Linux filesystem),如需特定类型(如 swap),得用
或后续
如果磁盘已存在数据且你只想扩容现有分区,
的
比
更直接,但务必先卸载文件系统并用
校验
挂载前最容易被跳过的三件事
分区完成 ≠ 可用。漏掉任一环节都会导致
或
:
用
确认新分区设备名是
(不是
)——GPT 下设备名不会自动更新,有时需
或重启内核识别
格式化必须用支持大容量的工具:
(
优化 inode 分布),而不是默认参数,否则小文件多时元数据易耗尽
中推荐用 UUID 而非设备名:
;因为云环境热插拔或多盘时,
可能下次变成
,导致开机卡住
真正麻烦的不是分区本身,而是分区后没验证对齐、没确认内核识别、也没用 UUID 写 fstab——这些细节在批量部署时会集中爆发。
fdiskpartedgdiskpartedpartedfdiskoptimalpartedmkpart+500GB-1gdiskpartedparted /dev/sdb/dev/sdbsudo parted /dev/sdb
(parted) mklabel gpt
(parted) mkpart primary ext4 1MiB 100%
(parted) align-check optimal 1
(parted) qmklabel gptmkpartmkpart primary ext4 1MiB 100%1MiB100%align-check optimal 11 alignednot alignedrm 1partedgdiskpartedmkpart primary 0 20TB100%+20TBgdisknlEFI SystemLinux RAIDparted0FC63DAF-8483-4772-8E79-3D69D8477DE4set 1 boot onmkswappartedresizepartgdiske2fsckmount: wrong fs typedevice is busylsblk/dev/sdb1/dev/sdbpartprobe /dev/sdbmkfs.ext4 -T largefile /dev/sdb1-T largefile/etc/fstabUUID=xxxx /data ext4 defaults 0 2sdbsdc