欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

linux 如何判断 是 MBR 还是 GPT deepseek chatgpt 有大用 有大大用

在 Linux 中,可以通过以下几种方法判断磁盘是使用 MBR(Master Boot Record)还是 GPT(GUID Partition Table)分区表:


方法 1:使用 fdisk 命令

bash
sudo fdisk -l /dev/sdX
  • 查看输出中的 Disklabel type

    • 显示 Disklabel type: gpt → GPT

    • 显示 Disklabel type: dos → MBR(DOS 是 MBR 的别名)

示例输出(GPT):

text
Disklabel type: gpt
Disk identifier: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX

示例输出(MBR):

text
Disklabel type: dos
Disk identifier: 0xXXXXXXXX

方法 2:使用 parted 命令     #我使用的就是这种方法 OK  有大用

bash
sudo parted /dev/sdX print | grep 'Partition Table'
  • 直接显示分区表类型

    • Partition Table: gpt → GPT

    • Partition Table: msdos → MBR

示例输出:

text
Partition Table: gpt   # 表示 GPT
Partition Table: msdos # 表示 MBR

方法 3:使用 gdisk 命令

bash
sudo gdisk -l /dev/sdX
  • 查看输出的第一行

    • Found valid GPT with protective MBR → GPT

    • Found MBR boot sector → MBR


方法 4:检查 /sys 文件系统(无需 root)

bash
cat /sys/block/sdX/queue/partition
  • 返回值

    • 0 → GPT(或无分区表)

    • 1 → MBR

注意:此方法不直接显示类型名称,需通过返回值推断。


方法 5:使用 blkid 命令

bash
sudo blkid -s PTTYPE -o value /dev/sdX
  • 输出

    • gpt → GPT

    • dos → MBR

    • 无输出 → 无分区表或未知类型


总结:

命令关键输出类型
fdisk -l /dev/sdXDisklabel type: gptGPT

Disklabel type: dosMBR
parted /dev/sdX print | grepPartition Table: gptGPT

Partition Table: msdosMBR
gdisk -l /dev/sdXFound valid GPT...GPT

Found MBR boot sectorMBR
blkid -s PTTYPE /dev/sdXPTTYPE="gpt"GPT

PTTYPE="dos"MBR

注意

  • 替换 /dev/sdX 为你的磁盘(如 /dev/sda/dev/nvme0n1)。

  • 操作磁盘命令需要 sudo 权限。

  • MBR 在 Linux 中常被称为 dos 或 msdos(历史遗留名称)。

选择任一方法即可快速判断分区表类型!


普通分类: