Linux7系统中分区表的存放位置和磁盘采用的分区类型直接相关,不同的分区方案下分区表的存储位置、结构都有明显区别,常见的分区类型包括MBR和GPT两种,对应的分区表位置也各不相同。

MBR分区表的存放位置
MBR(主引导记录)分区表是传统的磁盘分区方案,在Linux7系统中,如果磁盘使用MBR分区,分区表会存放在磁盘的第一个扇区,也就是0号扇区,这个扇区的大小通常为512字节。这512字节的结构分为三个部分:
- 前446字节是引导加载程序区域,用于存放系统的启动引导代码
- 接下来的64字节就是分区表区域,每个分区表项占16字节,因此MBR分区表最多只能记录4个主分区信息
- 最后2字节是结束标志位,固定为0x55AA,用于标识该扇区是有效的MBR扇区
我们可以使用fdisk命令查看MBR分区表的信息,执行以下命令即可:
# 查看/dev/sda磁盘的MBR分区表信息,/dev/sda是Linux7中常见的第一块磁盘标识 fdisk -l /dev/sda
如果需要直接查看磁盘第一个扇区的原始内容,也可以使用dd命令导出对应扇区内容分析:
# 导出/dev/sda的第一个扇区(512字节)到mbr.bin文件 dd if=/dev/sda of=mbr.bin bs=512 count=1 # 使用hexdump查看导出文件的内容,可看到分区表对应的字节段 hexdump -C mbr.bin
GPT分区表的存放位置
GPT(全局唯一标识分区表)是新一代的分区方案,突破了MBR的诸多限制,在Linux7系统中使用也越来越广泛。GPT分区表的存储位置和MBR有明显区别:
- GPT的头部信息存放在磁盘的第二个扇区(1号扇区),里面记录了分区表的位置、大小、分区数量等信息
- 实际的GPT分区表项从第三个扇区(2号扇区)开始存放,最多可以支持128个分区,单个分区大小支持超过2TB
- GPT还会在磁盘的最后一个扇区存放分区表的备份,防止头部分区表损坏导致分区信息丢失
在Linux7系统中可以使用gdisk命令查看GPT分区表的信息,执行命令如下:
# 查看/dev/sdb磁盘的GPT分区表信息,假设/dev/sdb是使用GPT分区的磁盘 gdisk -l /dev/sdb
也可以通过parted命令查看分区类型和相关信息:
# 进入parted交互模式查看磁盘分区信息 parted /dev/sdb # 在交互模式中执行以下命令查看分区表类型 print # 输入quit退出交互模式
分区表操作注意事项
分区表是磁盘分区信息的核心存储区域,修改或者操作分区表时需要格外注意:
- 操作分区表前一定要备份重要数据,错误的分区表操作可能导致所有分区无法识别,数据丢失
- 不要随意修改未挂载磁盘的分区表,尤其是系统盘的分区表,修改不当会导致系统无法启动
- 如果分区表损坏,可以尝试使用
testdisk等工具进行修复,MBR分区表损坏也可以通过备份的扇区内容恢复
注意:分区表的位置是磁盘物理层面的存储位置,和普通文件系统中的文件路径不同,无法通过cd、ls等命令直接访问,只能通过磁盘操作工具读取对应的扇区内容。