温馨提示×

怎样恢复linux分区数据

小樊
37
2026-10-18 08:58:05
栏目: 智能运维

在 Linux 下恢复分区数据,通常取决于数据是怎么丢的(误删文件、误格式化、分区表损坏、硬盘损坏等)。下面按常见场景给你一个实用恢复思路与命令指南。


一、最重要:先停止写入!

无论哪种情况:

  • ❌ 不要再往该分区写任何数据
  • ❌ 不要继续挂载为可写
  • ✅ 最好直接断电或用只读方式挂载

如果是系统盘,建议用 Live USB(U盘启动) 操作。


二、常见场景与恢复方法

场景 1:误删除文件(rm 删除)

适合:rm 删文件,但分区还在

工具推荐

  • extundelete(ext3/ext4)
  • testdisk(通用)
  • photorec(按文件类型恢复)

extundelete 示例

# 卸载分区
umount /dev/sda1

# 安装
sudo apt install extundelete

# 恢复全部删除文件
sudo extundelete /dev/sda1 --restore-all

恢复文件会在当前目录的 RECOVERED_FILES/


场景 2:分区被格式化(mkfs)

适合:ext / ntfs / fat 被重新格式化

使用 testdisk

sudo apt install testdisk
sudo testdisk

步骤:

  1. 选择硬盘
  2. Analyse → Quick Search
  3. 找到原来的分区表
  4. Write 写回分区表

⚠️ 如果原分区结构还在,这是最推荐的方法


场景 3:分区表损坏(fstab / GPT / MBR 坏)

表现:

  • 磁盘看不到分区
  • fdisk -l 为空

用 testdisk 恢复分区表

sudo testdisk /dev/sda

选择:

  • Intel / GPT
  • Analyse
  • Search
  • Write

场景 4:硬盘还能识别,但文件系统损坏

# 只读检查
sudo fsck -n /dev/sda1

# 修复(谨慎)
sudo fsck -y /dev/sda1

⚠️ fsck 可能“修好”但丢失部分数据,建议先镜像


场景 5:物理损坏 / 坏道

先镜像再恢复:

sudo ddrescue /dev/sda /mnt/usb/image.img log.txt

然后再对 image.img 用 testdisk / photorec


三、万能恢复工具总结

工具 用途
testdisk 恢复分区表
photorec 按文件类型恢复
extundelete ext 删除恢复
ddrescue 硬盘镜像
scalpel 文件 carving

四、建议你现在告诉我

为了给你精准方案,请补充:

  1. 文件系统(ext4 / xfs / ntfs?)
  2. 怎么丢失的(rm / mkfs / 分区没了?)
  3. 是否是系统盘
  4. 是否能正常识别硬盘

我可以按你的情况给你一步一步命令。

0 踩