Linux分区怎样恢复误删
导读:Linux 误删分区的恢复步骤 一、紧急处置与准备 立刻停止对目标磁盘的一切写入操作:不要新建/删除文件、不要格式化、不要安装软件或更新系统。若分区仍被占用,先卸载(如 umount /dev/sdXn),若提示 busy,可用 fuse...
Linux 误删分区的恢复步骤
一、紧急处置与准备
- 立刻停止对目标磁盘的一切写入操作:不要新建/删除文件、不要格式化、不要安装软件或更新系统。若分区仍被占用,先卸载(如
umount /dev/sdXn),若提示 busy,可用fuser -v -m /mountpoint查找并结束占用进程,再重新以只读方式挂载(如mount -r -n -o remount /mountpoint)。 - 优先在只读环境下操作,或将磁盘拆下接到另一台机器进行恢复,避免本机日志、缓存等继续写入源盘。
- 准备可启动的救援介质(如 SystemRescue、Knoppix、Ubuntu Rescue Remix),在救援环境中进行恢复,降低对原系统的干扰。
- 备份当前磁盘前几个扇区以便后续比对:
dd if=/dev/sdX of=sdX_mbr_backup.bin bs=512 count=2048,并妥善保存。
二、恢复分区表的首选方法 TestDisk
- 安装:
sudo apt install testdisk(Debian/Ubuntu),或sudo yum install -y testdisk(RHEL/CentOS,需先yum install -y epel-release)。 - 运行:
sudo testdisk,选择 Create 创建新日志,选中目标磁盘(如 /dev/sda)→ 选择分区表类型(常见 Intel/PC)→ 进入 Analyse → 先做 Quick Search 扫描已丢失分区。 - 在列表中选中丢失的分区,确认其 Start/End 扇区无误后,按右键选择 Write 将分区表写回磁盘,确认并重启。若分区类型识别异常,可在 Advanced 中调整分区类型后再写入。
- 写入成功后重启,检查分区是否已恢复并可读(如
lsblk、blkid、mount)。
三、分区表无法恢复时的文件级恢复
- 使用 PhotoRec(TestDisk 同套件)进行“按文件签名”的盲恢复:选择目标磁盘/分区 → 选择文件系统类型(支持 ext2/ext3/ext4、FAT、NTFS、HFS 等,亦可尝试 XFS)→ 选择搜索范围(建议先选“Free space”以缩短时间,若未找到再选“Whole partition”)→ 指定恢复文件保存目录(务必在另一块磁盘)→ 开始扫描。
- 若已知原分区为 ext3/ext4 且只想恢复被删文件,可用 extundelete:先安装依赖
e2fsprogs-devel,编译安装 extundelete;对已卸载的分区执行如extundelete /dev/sdb1 --restore-all或按文件/目录/Inode 恢复。 - 文件级恢复耗时较长,且文件名/目录结构可能不完整,恢复文件请保存到与源盘不同的物理磁盘。
四、修复文件系统与验证
- 分区恢复后,若挂载失败或提示文件系统错误,先以只读方式检查:
sudo fsck -n /dev/sdXn;确认无风险后再修复:sudo fsck -y /dev/sdXn。 - 使用
lsblk -f、blkid、df -h核对分区与文件系统类型、挂载点是否正确;必要时在/etc/fstab中校正 UUID 与挂载选项后再重启。
五、常见要点与风险提示
- 操作顺序建议:先尝试 TestDisk 恢复分区表;失败再转向 PhotoRec/extundelete 文件级恢复。
- 全程避免对源盘写入;恢复文件必须写到另一块磁盘。
- 若不熟悉命令行,可在救援盘中优先使用带图形界面的工具(如 GParted)进行分区查看与核对,但关键写入操作仍建议用 TestDisk 完成。
- 重要业务环境建议先做整盘镜像再恢复:
dd if=/dev/sdX of=sdX_full.img bs=4M。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Linux分区怎样恢复误删
本文地址: https://pptw.com/jishu/763255.html
