插件窝 干货文章 linux7分区表在哪里

linux7分区表在哪里

分区表 磁盘 分区 MBR 437    来源:    2025-04-16

在 Linux 系统中(包括 CentOS/RHEL 7 等发行版),分区表信息存储在磁盘的起始位置,但用户通常通过以下方式查看和管理分区表:


1. 查看现有分区表

方法 1:使用 fdisk 命令

sudo fdisk -l
  • 列出所有磁盘及分区表(包括设备名如 /dev/sda/dev/nvme0n1 等)。
  • 如果指定磁盘,例如查看 /dev/sda 的分区表: bash sudo fdisk -l /dev/sda

方法 2:使用 parted 命令

sudo parted -l
  • 显示更详细的分区信息(包括分区类型、文件系统、大小等)。

方法 3:通过 /proc/partitions

cat /proc/partitions
  • 快速查看系统识别的分区列表。

2. 分区表的物理位置

  • MBR(传统 BIOS 模式)
    分区表存储在磁盘的第一个扇区(512 字节),即主引导记录(MBR)中,包含前 446 字节的引导代码和 64 字节的分区表。

    • 可通过 dd 命令备份 MBR(慎用):
    sudo dd if=/dev/sda of=mbr_backup.bin bs=512 count=1
    
  • GPT(UEFI 模式)
    分区表存储在磁盘开头的多个扇区中(主 GPT 头),并在磁盘末尾备份(备份 GPT 头)。


3. 修改分区表

  • 交互式工具

    • fdisk /dev/sdX (适用于 MBR)
    • gdisk /dev/sdX (适用于 GPT)
    • parted /dev/sdX (支持 MBR/GPT)
  • 非交互式工具

    • 使用 partedsgdisk 脚本化修改。

4. 关键注意事项

  1. 操作分区表前务必备份数据,误操作可能导致数据丢失。
  2. 如果磁盘正在使用(如根分区),部分操作需要重启后生效。
  3. 对虚拟化环境或云服务器,可能需要先在管理控制台调整磁盘大小,再在系统内修改分区。

5. 常见问题

  • Q:分区表损坏如何修复?
    A:尝试使用 gparttestdisk 工具恢复。

  • Q:如何判断磁盘是 MBR 还是 GPT?
    A:运行 sudo parted -l,输出中会显示 Partition Table: msdos(MBR)或 Partition Table: gpt


如果需要进一步指导(例如具体操作步骤或故障排查),请提供以下信息:
- 磁盘设备名(如 /dev/sda
- 当前分区表类型(MBR/GPT)
- 操作目标(如扩容、修复等)