Linux操作系统是世界上流行的操作系统之一,被广泛用于服务器、个人电脑、移动设备和嵌入式系统。Linux系统下数据被误删除或者误格式化的问题非常普遍。下面北亚企安数据恢复工程师简单聊一下基于linux的文件系统(EXT2/EXT3/EXT4/Reiserfs/Xfs) 下删除或者格式化的数据恢复流程和可行性。
Linux系统数据恢复流程:
1、检测设备是否存在硬件故障,如果存在硬件故障,交由硬件工程师处理。
2、以只读方式检测故障表现是否与用户描述相同。
3、以只读方式将故障磁盘做扇区级完整镜像。
4、如果需要恢复完整目录结构,则需要先恢复已丢失的文件节点,然后再恢复数据。如果文件节点无法恢复,则可按照文件类型进行恢复。
5、将恢复后的数据暂存在另一个存储体上。
6、验证恢复好的数据。
Linux系统数据恢复的可行性分析:
1、针对EXT2/EXT3/EXT4文件系统下的删除:
在EXT2文件系统上, 数据删除了通常会保留相应的INODE。所以在EXT2文件系统上,只要数据删除后没有覆盖,通常可以将数据连同目录和名称完整恢复。
在EXT3/EXT4文件系统上,数据删除了不会保留INODE中的索引信息,通常无法恢复目录及文件名称,只能按照文件类型进行恢复。如果文件数量少或文件规律性强,可以通过部分日志或文件内部规则进行恢复。典型的如mysql、oracle数据库文件等数据删除后如果没有覆盖,通常可以完整恢复。
如果删除数据之后有新数据写入,则视情况而定:写入越多,可恢复率越低;写入越少,可恢复率越高。
2、针对EXT2/EXT3/EXT4文件系统的格式化:
如果格式化后的文件系统与之前文件系统结构相同,则之前文件系统的节点区会被全部覆盖,只能按照文件类型进行恢复。与上面描述的EXT3/EXT4文件系统下删除数据的情况相似。
3、针对Reiserfs的删除/格式化:
数据删除或格式化后如果无新的数据写入,通常可以完整恢复。
如果删除数据或格式化之后有新数据写入,则视情况而定:写入越多,可恢复率越低;写入越少,可恢复率越高。
4、针对Xfs的删除/格式化:
数据删除或格式化后如果无新的数据写入,通常可以完整恢复。
如果删除数据或格式化之后有新数据写入,则视情况而定,写入越多,可恢复率越低;写入越少,可恢复率越高。
小贴士:
1、存储设备没有100%的安全,重要数据需要经常备份,有条件最好将备份存放在不同存储体上。
2、发现数据丢失后,不应该有任何操作。如有条件,发现问题后应该立即将数据完整备份。
3、发现数据丢失后,即使不写入新的数据,单纯的读取也极有可能破坏文件系统日志。所以一旦发现问题后,尽快umount文件系统。