在麒麟os中误删ext4文件后,可优先用extundelete恢复(需未覆盖且依赖inode),其次用photorec底层扫描(适用于损坏或部分覆写),最后用debugfs手动提取inode数据。

如果您在麒麟OS系统中误删了Ext4分区上的重要文件,且尚未进行大量写入操作,则存在较高概率通过专业工具恢复数据。以下是针对该场景的多种恢复方法:
一、使用extundelete工具恢复
extundelete是一款专为Ext3/Ext4文件系统设计的开源恢复工具,依赖于文件系统的日志信息与inode状态,在未覆盖情况下可重建被删文件的目录结构和内容。
1、打开终端,以root权限执行命令安装依赖:apt install e2fsprogs。
2、使用df -T确认目标Ext4分区设备名(如/dev/sda2),并确保该分区当前未挂载或已只读挂载。
3、执行extundelete --inode 2 /dev/sda2查看根目录inode信息,确认文件系统支持恢复功能。
4、运行完整恢复命令:extundelete /dev/sda2 --restore-all,恢复结果将生成在当前目录下的RECOVERED_FILES文件夹中。
二、使用photorec工具进行底层文件扫描
photorec不依赖文件系统元数据,而是直接扫描磁盘扇区中符合特定文件头尾特征的数据块,适用于Ext4分区已部分覆写或文件系统损坏的情况。
1、通过软件源安装testdisk包(含photorec):apt install testdisk。
2、运行photorec,在交互界面中选择对应物理磁盘(非分区,如/dev/sda)。
3、进入分区列表后,选中目标Ext4分区(标记为Linux类型),按方向键选择Proceed。
4、选择文件系统类型为Other(跳过Ext4结构解析,启用原始扫描模式)。
5、设定输出目录路径(需挂载至另一块磁盘,避免写入原分区),按C开始扫描。
三、使用debugfs手动提取已删除inode内容
debugfs是e2fsprogs套件中的Ext系列文件系统调试工具,可在无可用恢复工具时,通过直接读取未清除的inode数据实现关键文件提取。
1、卸载目标Ext4分区:umount /dev/sda2。
2、运行debugfs /dev/sda2进入交互环境。
3、输入lsdel列出所有已被删除但inode仍保留的文件条目,记录所需文件的inode编号(如123456)。
4、执行dump /tmp/recovered_file将指定inode原始数据导出至临时位置。
5、根据文件头判断类型,必要时用file /tmp/recovered_file识别格式,并重命名扩展名。











