最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Linux如何查看物理分区表详细类型
时间:2026-08-07 11:07:49 编辑:袖梨 来源:一聚教程网
最可靠方法是执行sudo parted -l查看Partition Table字段:gpt为GPT,msdos为MBR;该字段直接读取分区表头,不依赖保护性MBR或内核缓存,出现在磁盘级信息中,若显示unknown则可能因权限不足、设备未识别或分区表损坏。
直接看 parted -l 的 Partition Table 字段
这是唯一能稳定反映物理分区表真实类型的命令,不依赖保护性 MBR、不被内核缓存干扰。执行 sudo parted -l 后,在每块磁盘的头信息块里找这一行:
Partition Table: gpt 或 Partition Table: msdos
其中 msdos 就是 MBR(不是 DOS 文件系统),gpt 即 GPT。注意:该字段出现在磁盘级(如 /dev/sda)下方,不是某个分区(如 /dev/sda1)下面。
- 若显示
unknown,大概率是权限不足(没加sudo)、设备未被内核识别(查cat /proc/partitions确认是否存在),或分区表已损坏 - 别对分区设备运行,比如
parted -l /dev/sda1是错的——目标必须是裸磁盘设备 - 某些老版本
parted(如 RHEL 6 自带)对空盘可能报unknown,此时换fdisk -l更可靠
用 gdisk -l 验证 GPT 是否真实有效
gdisk 不是“另一个查看工具”,它是 GPT 协议栈原生解析器,会校验主/备份头 CRC、比对一致性。执行 sudo gdisk -l /dev/sda 后,关键看首行输出:
-
Found valid GPT with protective MBR→ 真 GPT,结构健康 -
Found invalid GPT and valid MBR→ 实际是 MBR,GPT 区域被覆盖或从未初始化 -
Found invalid GPT and invalid MBR→ 分区表双损,别急着重分区,先用sgdisk -b backup.bin /dev/sda备份原始扇区
切记:只传 -l 参数,不要进入交互模式;误按 w 会重写保护性 MBR,可能破坏现有引导。
别信 fdisk -l 的 Disk label type 字段
fdisk 默认以 MBR 模式解析,看到 GPT 磁盘上的保护性 MBR 就报 Disk label type: dos,但这只是兼容层占位,不代表真实类型。真正有用的信号是:
-
Disk label type: gpt→ 可信,现代内核 + 新版fdisk才支持该字段 - 出现
GPT PMBR size mismatch或Invalid partition table→ 这不是警告,是明确提示 GPT 结构异常(比如备份头被覆盖) - 分区编号 ≥5(如
/dev/sda5)→ 基本锁定为 MBR 扩展分区(GPT 支持 128 个主分区,无逻辑编号概念)
fdisk 完全看不到 GPT 特有字段:分区 GUID、Name、备份头位置,所以它不能用于确认 GPT 存在与否。
交叉验证:看 /proc/partitions 和设备命名规律
这是内核实时维护的原始设备列表,不经过任何用户态解析,适合排除工具链误报。执行 cat /proc/partitions 后观察设备名后缀:
-
nvme0n1p1、nvme0n1p2且无p5及以后 → 大概率是 GPT(NVMe 默认用 GPT) -
sda1~sda4后还有sda5→ 基本锁定为 MBR 扩展分区结构 - 某些 USB 设备或虚拟磁盘命名不规范,此时应以
parted -l为准
最容易被忽略的是:分区表类型判断这事,核心就一条——信 parted -l 的 Partition Table: 字段,其他都算辅助线索。设备权限和目标对象(必须是 /dev/sda 这类磁盘设备)才是实操中最常踩的坑。