麒麟OS中磁盘分区表类型可通过五种方法识别:一、fdisk -l查看Disk label type字段;二、gdisk -l精确识别GPT及保护性MBR;三、parted -l读取Partition Table字段;四、lsblk -f检查PARTUUID存在性;五、hexdump分析首扇区签名。

如果您需要确认麒麟OS中磁盘的分区表类型(MBR或GPT)以及各分区的详细结构,可能因系统初始化方式、扩容操作或兼容性需求而需精确识别底层分区布局。以下是查看磁盘分区表类型的多种方法:
一、使用 fdisk -l 查看分区表标识与主引导记录信息
fdisk -l 命令可列出所有磁盘设备及其分区详情,并在输出头部明确标注分区表类型(如“Disk label type: dos”表示MBR,“Disk label type: gpt”表示GPT),适用于快速判断传统BIOS/UEFI启动兼容性。
1、打开终端,按 Ctrl + Alt + T 快捷键启动。
2、执行命令 sudo fdisk -l 并回车。
3、在每块磁盘信息开头查找 Disk label type 行,例如显示 dos 即为MBR,显示 gpt 即为GPT。
4、若某磁盘无此行或显示 unknown,说明分区表损坏或未初始化,需进一步用 gdisk 验证。
二、使用 gdisk -l 精确识别GPT分区表及保护性MBR
gdisk 是专为GPT设计的分区工具,即使磁盘采用混合模式(如GPT+保护性MBR),也能准确报告真实分区表类型,并提示MBR是否仅为兼容性存在,避免误判。
1、在终端中输入 sudo gdisk -l /dev/sda(将 /dev/sda 替换为目标磁盘设备名)并回车。
2、观察输出中 Partition table holds up to 128 entries 类似提示,表明为GPT;若出现 Found invalid GPT and valid MBR; converting MBR to GPT format,则原为MBR且无GPT结构。
3、注意末尾提示:若显示 Warning: The kernel is still using the old partition table.,需执行 partprobe 或重启使变更生效。
三、使用 parted -l 输出结构化分区表类型字段
parted 支持机器可读输出,其 -l 参数会显式打印 Partition Table: 字段,值为 msdos(即MBR)或 gpt,适合脚本调用与批量检测。
1、在终端中运行 sudo parted -l。
2、逐块磁盘查找以 Partition Table: 开头的行。
3、确认其后紧跟的值:msdos 表示MBR分区表,gpt 表示GUID分区表。
4、若该行缺失或显示 unknown,说明分区表未被 parted 识别,应结合 fdisk -l 和 gdisk -l 交叉验证。
四、使用 lsblk -f 辅助判断挂载状态与文件系统关联性
lsblk -f 虽不直接显示分区表类型,但可通过 FSTYPE、MOUNTPOINT 及是否存在 PARTUUID(GPT特有)等字段间接佐证:GPT分区通常具备唯一 PARTUUID,而MBR分区仅含 UUID,此差异可用于辅助区分。
1、执行命令 sudo lsblk -f。
2、检查各分区行中是否包含 PARTUUID 列;若存在非空值(如 e2a7b5c1-0a1b-4c2d-8e9f-0123456789ab),基本可确认为GPT分区表。
3、对比同一设备在 fdisk -l 中的输出,若 PARTUUID 存在但 Disk label type 显示 dos,则可能存在分区表类型被错误标记的情况。
五、使用 hexdump 检查磁盘首扇区原始字节特征
对高级用户而言,直接读取磁盘前512字节可人工识别MBR签名(0x55AA)或GPT头签名("EFI PART" ASCII字符串),绕过工具层抽象,获得最底层证据。
1、运行 sudo hexdump -C /dev/sda | head -n 1 查看首行偏移0处内容。
2、若输出末尾含 55 aa(小端序显示),且位置在偏移0x1fe处,则为MBR有效签名。
3、若执行 sudo dd if=/dev/sda bs=1 count=8 skip=512 2>/dev/null | strings 输出含 EFI PART,则证实GPT头存在。

















