适用环境:ubuntu 24.04.4(其他 linux 发行版同样适用)
在日常运维或系统安装中,我们经常需要确认一块硬盘使用的分区表类型——gpt 还是 mbr。gdisk 是一个专门操作 gpt 分区表的工具,但它也能轻松帮我们辨别硬盘的分区表格式。下面介绍几种最实用的方法。
方法一:一行命令快速判断(推荐)
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“转换”到内存中(注意:这并不会实际修改磁盘,只是一个提示)。
方法二:进入交互模式检查
sudo gdisk /dev/sda
进入交互界面后,输入 p 打印分区表:
- 如果是 gpt:顶部会显示
gpt fdisk (gdisk) version x.x.x,分区列表的列名中包含 partition guid code。 - 如果是 mbr:程序会先警告
mbr: mbr only,并询问是否转换为 gpt。此时输入q直接退出,不要转换。
方法三:精准提取关键信息(脚本友好)
如果你只想看到最核心的判断结果,可以用 grep 过滤:
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 无法支持。
总结
最实用的一招:
sudo gdisk -l /dev/sda | grep "gpt:"
- 返回
gpt: present→ 磁盘是 gpt。 - 返回
gpt: not present→ 磁盘不是 gpt(通常就是 mbr)。
简洁、直观、无需记忆复杂参数。希望这篇分享能帮到你快速辨别硬盘分区表类型!
到此这篇关于linux使用gdisk快速判断硬盘分区表类型是gpt还是mbr的三种方法的文章就介绍到这了,更多相关linux gdisk判断硬盘分区表类型内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
发表评论