使用 gdisk 快速判断硬盘分区表类型:是 GPT 还是 MBR?

文章目录
- [使用 gdisk 快速判断硬盘分区表类型:是 GPT 还是 MBR?](#使用 gdisk 快速判断硬盘分区表类型:是 GPT 还是 MBR?)
-
- 方法一:一行命令快速判断(推荐)
-
- [✅ 如果是 GPT 磁盘](#✅ 如果是 GPT 磁盘)
- [❌ 如果是 MBR 磁盘](#❌ 如果是 MBR 磁盘)
- 方法二:进入交互模式检查
- 方法三:精准提取关键信息(脚本友好)
- 补充说明
- 总结
适用环境:Ubuntu 24.04.4(其他 Linux 发行版同样适用)
在日常运维或系统安装中,我们经常需要确认一块硬盘使用的分区表类型------GPT 还是 MBR 。gdisk 是一个专门操作 GPT 分区表的工具,但它也能轻松帮我们辨别硬盘的分区表格式。下面介绍几种最实用的方法。
方法一:一行命令快速判断(推荐)
bash
sudo gdisk -l /dev/sda # 将 /dev/sda 换成目标硬盘,如 /dev/nvme0n1
执行后,重点查看输出中的 Partition table scan 部分。
✅ 如果是 GPT 磁盘
你会看到类似这样的输出:
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
同时,输出顶部通常会显示一行 GUID: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx,这是 GPT 的全局唯一标识符。
❌ 如果是 MBR 磁盘
输出会显示:
Partition table scan:
MBR: MBR only
BSD: not present
APM: not present
GPT: not present
***************************************************************
Found invalid GPT and valid MBR; converting MBR to GPT format
in memory.
***************************************************************
此时不会出现 GUID 信息,并且 gdisk 会尝试将 MBR"转换"到内存中(注意:这并不会实际修改磁盘,只是一个提示)。
方法二:进入交互模式检查
bash
sudo gdisk /dev/sda
进入交互界面后,输入 p 打印分区表:
- 如果是 GPT :顶部会显示
GPT fdisk (gdisk) version x.x.x,分区列表的列名中包含 Partition GUID code。 - 如果是 MBR :程序会先警告
MBR: MBR only,并询问是否转换为 GPT。此时输入q直接退出,不要转换。
方法三:精准提取关键信息(脚本友好)
如果你只想看到最核心的判断结果,可以用 grep 过滤:
bash
sudo gdisk -l /dev/sda | grep -E "GPT:|MBR:"
输出示例(GPT 磁盘):
MBR: protective
GPT: present
输出示例(MBR 磁盘):
MBR: MBR only
GPT: not present
根据输出即可编程判断:含有 GPT: present 就是 GPT,否则为 MBR。
补充说明
| 分区表类型 | gdisk -l 关键特征 |
是否会出现转换提示 |
|---|---|---|
| GPT | GPT: present,有 GUID 行 |
否 |
| MBR | GPT: not present,MBR: MBR only,转换提示 |
是(仅内存中转换) |
gdisk默认不会修改磁盘,只是读取信息,放心使用。- 如果磁盘完全没有分区表 (原始状态),
gdisk也会提示无效 GPT 和无效 MBR,此时不属于 MBR 或 GPT,需要先创建分区表。 - 对于大容量磁盘(>2TB),必须使用 GPT,MBR 无法支持。
总结
最实用的一招:
bash
sudo gdisk -l /dev/sda | grep "GPT:"
- 返回
GPT: present→ 磁盘是 GPT。 - 返回
GPT: not present→ 磁盘不是 GPT(通常就是 MBR)。
简洁、直观、无需记忆复杂参数。希望这篇分享能帮到你快速辨别硬盘分区表类型!