温馨提示×

centos分区表怎么恢复

小樊
65
2026-09-06 09:04:45
栏目: 智能运维

在 CentOS(以及大多数 Linux 发行版)中,“分区表恢复”通常分为几种情况。下面按常见场景 + 可操作方法给你一个实用指南。


一、先判断分区表类型

先确认是 MBR(msdos) 还是 GPT:

sudo fdisk -l /dev/sda

或:

sudo parted /dev/sda print
  • 显示 msdos → MBR
  • 显示 gpt → GPT

二、不要慌:先不要写入任何数据

⚠️ 最重要的一点
恢复分区表前:

  • 不要 mkfs
  • 不要 parted mkpart
  • 不要重新格式化
  • 尽量只读挂载或直接恢复

如果磁盘还在用,先卸载:

umount /dev/sda*

三、MBR 分区表恢复(常见)

方法 1:用 testdisk(最推荐)

适合误删分区、误格式化

安装

yum install testdisk -y

运行

testdisk /dev/sda

操作步骤:

  1. Create → 日志
  2. 选择磁盘
  3. 分区表类型(通常 Intel/PC)
  4. Analyse → Quick Search
  5. 找到原来的分区
  6. Write 写回分区表

✅ 对 CentOS 非常有效


方法 2:备份 MBR 并恢复

如果你之前备份过:

# 备份
dd if=/dev/sda of=mbr.bak bs=512 count=1

# 恢复
dd if=mbr.bak of=/dev/sda bs=512 count=1

⚠️ 只恢复 MBR(前 512 字节),不包含分区数据


四、GPT 分区表恢复

方法 1:用 gdisk 恢复备份 GPT

GPT 有主 + 备份分区表

gdisk /dev/sda

输入:

r     # recovery
b     # use backup GPT
w     # write

方法 2:testdisk(GPT 也支持)

testdisk /dev/sda

选择 EFI GPT 类型


五、LVM 分区表损坏(CentOS 常见)

CentOS 默认常用 LVM

查看 PV/VG/LV

pvs
vgs
lvs

如果 PV 丢失

vgchange -ay

恢复 LVM 元数据(有备份时)

vgcfgrestore -f /etc/lvm/backup/centos centos

六、文件系统层恢复(分区在但数据丢了)

如果分区表OK,但文件系统坏了:

fsck -y /dev/sda1

或 ext4:

e2fsck -f /dev/sda1

七、实在不行:数据恢复

  • photorec(testdisk 附带)
  • extundelete(ext4)
  • 专业工具(如 R-Studio、UFS Explorer)

八、建议的应急流程(总结)

  1. 停止写盘
  2. testdisk 扫描
  3. 先预览,再写回
  4. 能挂载就备份数据
  5. 最后考虑重装

如果你愿意,可以告诉我:

  • CentOS 版本
  • 磁盘是 MBR 还是 GPT
  • 是误删分区 / 重装覆盖 / LVM 丢失

我可以给你更精确的一步一步命令。

0 踩