CentOS分区恢复需根据丢失原因(误删除、分区表损坏、LVM配置丢失等)选择对应方法,核心步骤围绕进入救援环境→备份当前数据→恢复分区/文件系统→修复引导展开。以下是常见场景的具体操作流程:
无论哪种恢复场景,救援模式是基础环境。操作步骤如下:
/mnt/sysimage
,若需手动操作可跳过)。chroot /mnt/sysimage
切换到原系统环境(便于使用原系统命令)。若分区为LVM逻辑卷(如/dev/mapper/centos-root
),需通过LVM备份信息恢复:
cat /etc/lvm/backup/centos
(记录了卷组VG、逻辑卷LV的UUID及配置)。pvcreate --uuid "备份中的UUID" --restorefile /etc/lvm/backup/centos /dev/sdX1
(/dev/sdX1
为原LVM物理卷所在分区)。vgcfgrestore -f --test /etc/lvm/backup/centos centos
(centos
为卷组名);vgcfgrestore -f /etc/lvm/backup/centos centos
。vgchange -ay centos
(激活卷组),随后挂载逻辑卷到指定目录(如mount /dev/mapper/centos-root /mnt
)。若分区因误删除、分区表损坏丢失,TestDisk是高效的开源工具:
yum install testdisk -y
(CentOS 7/8均适用)。sudo testdisk
,选择目标磁盘(如/dev/sda
),按回车确认。若分区未被格式化但文件被误删除,extundelete可恢复ext3/ext4文件系统中的数据:
yum install extundelete -y
。umount /dev/sdXY
(sdXY
为分区标识,如sda1
),避免数据被覆盖。extundelete /dev/sdXY --restore-directory /path/to/deleted/dir
;extundelete /dev/sdXY --restore-file /path/to/deleted/file
;extundelete /dev/sdXY --restore-all
。若熟悉图形界面,GParted Live CD/USB是直观的选择:
/dev/sda
),右键点击“Device”→“Create Partition Table”(若分区表丢失),或点击“Partition”→“Undo Last Operation”(若刚删除分区)。恢复分区后,需修复可能存在的文件系统错误:
fsck
,XFS用xfs_repair
):
fsck -y /dev/sdXY
(-y
表示自动修复错误);xfs_repair /dev/sdXY
。reboot
。若分区恢复后系统仍无法启动,需修复GRUB引导:
mount /dev/sdXY /mnt
(sdXY
为根分区)。mount --bind /dev /mnt/dev
、mount --bind /proc /mnt/proc
、mount --bind /sys /mnt/sys
。chroot /mnt
。grub2-install /dev/sdX
(sdX
为磁盘,如sda
);生成GRUB配置文件:grub2-mkconfig -o /boot/grub2/grub.cfg
。exit
→reboot
。dd
命令备份到外部存储),避免二次丢失。