首页主机资讯如何在centos中恢复丢失的分区

如何在centos中恢复丢失的分区

时间2025-10-01 00:53:03发布访客分类主机资讯浏览423
导读:如何在CentOS中恢复丢失的分区 分区丢失是CentOS系统中常见的问题,可能由误操作、分区表损坏、硬盘故障等原因引起。恢复前需立即停止对目标磁盘的写入操作(如卸载分区、断开网络),避免新数据覆盖原有数据,降低恢复成功率。以下是具体恢复方...

如何在CentOS中恢复丢失的分区

分区丢失是CentOS系统中常见的问题,可能由误操作、分区表损坏、硬盘故障等原因引起。恢复前需立即停止对目标磁盘的写入操作(如卸载分区、断开网络),避免新数据覆盖原有数据,降低恢复成功率。以下是具体恢复方法:

一、准备工作

  1. 备份重要数据:无论采用何种恢复方法,先备份磁盘中未丢失的重要数据(如通过Live USB挂载到其他存储设备),防止恢复过程中二次丢失。
  2. 准备恢复介质:下载CentOS安装ISO,制作Live USB(可使用dd命令或Rufus工具),用于进入救援模式。
  3. 确认分区类型:通过lsblkfdisk -l命令查看磁盘分区情况,判断丢失分区是否属于LVM逻辑卷(需用LVM工具恢复)或普通分区(可用TestDisk、extundelete等工具)。

二、使用TestDisk工具恢复普通分区

TestDisk是一款开源分区恢复工具,支持恢复丢失的分区表、修复分区结构,适用于ext3/ext4、NTFS等文件系统。
步骤如下

  1. 安装TestDisk:在CentOS终端运行yum install testdisk -y(需联网)。
  2. 运行TestDisk:以root权限执行sudo testdisk,进入交互界面。
  3. 选择磁盘:按提示选择丢失分区的磁盘(如/dev/sda),按Enter确认。
  4. 选择分区表类型:默认选择“Intel”(适用于MBR分区表),若为GPT分区表则选“EFI GPT”,按Enter继续。
  5. 扫描丢失分区:选择“Analyze”(分析)→“Quick Search”(快速扫描),若未找到可尝试“Deep Search”(深度扫描)。
  6. 恢复分区:找到丢失分区后,按P键查看分区内的文件(确认是否为目标分区),再按W键将分区表写入磁盘(此操作不可逆,需谨慎)。
  7. 重启系统:退出TestDisk,重启CentOS,通过lsblk命令检查分区是否恢复。

三、使用extundelete恢复ext3/ext4文件系统数据

若分区未格式化且使用ext3/ext4文件系统,extundelete可通过文件系统日志恢复数据(需卸载分区,避免覆盖)。
步骤如下

  1. 安装extundelete:运行yum install extundelete -y
  2. 卸载目标分区:若分区已挂载,执行umount /dev/sdXY(如/dev/sda1),否则跳过。
  3. 恢复数据
    • 恢复所有数据:extundelete /dev/sdXY --restore-all(数据将恢复到当前目录下的RECOVERED_FILES文件夹)。
    • 恢复指定目录:extundelete /dev/sdXY --restore-directory /path/to/deleted/dir
    • 恢复指定文件:extundelete /dev/sdXY --restore-file /path/to/deleted/file
  4. 检查恢复结果:进入RECOVERED_FILES目录,查看恢复的文件。

四、LVM逻辑卷恢复(适用于LVM管理的分区)

若丢失分区属于LVM逻辑卷(如//home等挂载点),需通过LVM工具重建物理卷(PV)、卷组(VG)和逻辑卷(LV)。
步骤如下

  1. 进入救援模式:使用CentOS安装光盘或Live USB启动,选择“Troubleshooting”→“Rescue a CentOS system”,进入救援环境。
  2. 查看LVM备份信息:运行cat /etc/lvm/backup/centos(默认备份文件路径),记录物理卷(PV)的UUID。
  3. 重建物理卷:若物理卷损坏,使用pvcreate --uuid "备份中的UUID" --restorefile /etc/lvm/backup/centos /dev/sdX(如/dev/sdb1)重建PV。
  4. 恢复卷组配置:运行vgcfgrestore -f --test /etc/lvm/backup/centos centoscentos为卷组名,需替换为实际名称)测试恢复,成功后执行vgcfgrestore -f /etc/lvm/backup/centos centos正式恢复。
  5. 激活卷组和逻辑卷:运行vgchange -ay centos激活卷组,使用lvscan查看逻辑卷状态。
  6. 修复文件系统:若逻辑卷文件系统损坏,运行xfs_repair /dev/centos/root(XFS文件系统)或fsck -y /dev/centos/root(ext4文件系统)修复。
  7. 重启系统:退出救援模式,重启CentOS,检查LVM状态(pvdisplayvgdisplaylvdisplay)。

五、手动重建分区(谨慎使用)

若上述工具无法恢复,可尝试手动重建分区表(需熟悉分区结构,风险较高)。
步骤如下

  1. 备份分区表:运行sfdisk -d /dev/sdX > partition_table.bak(如/dev/sda),保存当前分区表。
  2. 删除旧分区表:运行fdisk /dev/sdX,输入d删除所有分区(谨慎操作)。
  3. 创建新分区:输入n创建新分区,选择分区类型(如主分区p、逻辑分区l),设置分区大小(参考原分区大小),最后输入w保存分区表。
  4. 格式化分区:运行mkfs.ext4 /dev/sdXY(如/dev/sda1)格式化分区(若为LVM分区,需先加入VG并激活LV)。
  5. 挂载分区:创建挂载点(如mkdir /mnt/recovered),运行mount /dev/sdXY /mnt/recovered挂载,检查数据是否恢复。

六、/boot分区恢复(特殊场景)

/boot分区丢失,系统无法启动,需进入救援模式修复:

  1. 进入救援模式:使用安装光盘启动,选择“Rescue a CentOS system”。
  2. 挂载根分区:运行mount /dev/sdXY /mnt/dev/sdXY为根分区,如/dev/sda3)。
  3. 重新安装内核和GRUB
    • 挂载/boot目录:mount /dev/sdXZ /mnt/boot/dev/sdXZ/boot分区,如/dev/sda1)。
    • 重新安装内核:rpm -ivh /mnt/Packages/kernel-xxxx --forcexxxx为内核版本,需从/mnt/Packages/目录找到对应包)。
    • 修复GRUB:chroot /mntgrub2-install /dev/sdX/dev/sdX为磁盘,如/dev/sda)→grub2-mkconfig -o /boot/grub2/grub.cfg
  4. 重启系统:退出救援模式,重启CentOS,检查/boot分区是否恢复。

注意事项

  • 数据恢复成功率:取决于删除后是否有大量写入操作(如复制、下载文件),若数据非常重要,建议寻求专业数据恢复服务。
  • LVM恢复前提:需有LVM备份文件(/etc/lvm/backup/centos),若备份文件丢失,恢复难度较大。
  • 手动重建风险:手动重建分区表需准确记住原分区大小、类型,操作失误可能导致数据彻底丢失。

通过以上方法,可根据分区类型和丢失场景选择合适的恢复方案。恢复前务必做好备份,避免二次损失。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: 如何在centos中恢复丢失的分区
本文地址: https://pptw.com/jishu/715017.html
centos jsp开发工具有哪些 centos上jsp项目如何部署

游客 回复需填写必要信息