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命令备份到外部存储),避免二次丢失。