欢迎各位兄弟 发布技术文章
这里的技术是共享的
在 Linux 中,可以通过以下几种方法判断磁盘是使用 MBR(Master Boot Record)还是 GPT(GUID Partition Table)分区表:
fdisk
命令sudo fdisk -l /dev/sdX
查看输出中的 Disklabel type
:
显示 Disklabel type: gpt
→ GPT
显示 Disklabel type: dos
→ MBR(DOS 是 MBR 的别名)
Disklabel type: gpt Disk identifier: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
Disklabel type: dos Disk identifier: 0xXXXXXXXX
parted
命令 #我使用的就是这种方法 OK 有大用sudo parted /dev/sdX print | grep 'Partition Table'
直接显示分区表类型:
Partition Table: gpt
→ GPT
Partition Table: msdos
→ MBR
Partition Table: gpt # 表示 GPT Partition Table: msdos # 表示 MBR
gdisk
命令sudo gdisk -l /dev/sdX
查看输出的第一行:
Found valid GPT with protective MBR
→ GPT
Found MBR boot sector
→ MBR
/sys
文件系统(无需 root)cat /sys/block/sdX/queue/partition
返回值:
0
→ GPT(或无分区表)
1
→ MBR
注意:此方法不直接显示类型名称,需通过返回值推断。
blkid
命令sudo blkid -s PTTYPE -o value /dev/sdX
输出:
gpt
→ GPT
dos
→ MBR
无输出 → 无分区表或未知类型
命令 | 关键输出 | 类型 |
---|---|---|
fdisk -l /dev/sdX | Disklabel type: gpt | GPT |
Disklabel type: dos | MBR | |
parted /dev/sdX print | grep | Partition Table: gpt | GPT |
Partition Table: msdos | MBR | |
gdisk -l /dev/sdX | Found valid GPT... | GPT |
Found MBR boot sector | MBR | |
blkid -s PTTYPE /dev/sdX | PTTYPE="gpt" | GPT |
PTTYPE="dos" | MBR |
注意:
替换
/dev/sdX
为你的磁盘(如/dev/sda
、/dev/nvme0n1
)。操作磁盘命令需要
sudo
权限。MBR 在 Linux 中常被称为
dos
或msdos
(历史遗留名称)。
选择任一方法即可快速判断分区表类型!