在 Linux 下恢复分区数据,通常取决于数据是怎么丢的(误删文件、误格式化、分区表损坏、硬盘损坏等)。下面按常见场景给你一个实用恢复思路与命令指南。
无论哪种情况:
如果是系统盘,建议用 Live USB(U盘启动) 操作。
适合:rm 删文件,但分区还在
extundelete(ext3/ext4)testdisk(通用)photorec(按文件类型恢复)# 卸载分区
umount /dev/sda1
# 安装
sudo apt install extundelete
# 恢复全部删除文件
sudo extundelete /dev/sda1 --restore-all
恢复文件会在当前目录的 RECOVERED_FILES/
适合:ext / ntfs / fat 被重新格式化
sudo apt install testdisk
sudo testdisk
步骤:
⚠️ 如果原分区结构还在,这是最推荐的方法
表现:
fdisk -l 为空sudo testdisk /dev/sda
选择:
# 只读检查
sudo fsck -n /dev/sda1
# 修复(谨慎)
sudo fsck -y /dev/sda1
⚠️ fsck 可能“修好”但丢失部分数据,建议先镜像
先镜像再恢复:
sudo ddrescue /dev/sda /mnt/usb/image.img log.txt
然后再对 image.img 用 testdisk / photorec
| 工具 | 用途 |
|---|---|
| testdisk | 恢复分区表 |
| photorec | 按文件类型恢复 |
| extundelete | ext 删除恢复 |
| ddrescue | 硬盘镜像 |
| scalpel | 文件 carving |
为了给你精准方案,请补充:
我可以按你的情况给你一步一步命令。