Skip to content

PCL-Community/DotnetDataRecovery

Repository files navigation

数据恢复工具

这是一个用C#编写的数据恢复工具,专门用于恢复被意外删除的文件。该工具通过直接访问磁盘扇区和解析NTFS文件系统来查找和恢复被删除的文件。

功能特点

  • NTFS文件系统支持: 专门为NTFS文件系统设计
  • 低级磁盘访问: 直接读取磁盘扇区数据
  • MFT记录解析: 解析主文件表(MFT)来查找被删除文件
  • 智能文件过滤: 自动过滤系统文件和临时文件
  • 恢复可能性评估: 评估每个文件的恢复成功率
  • 批量恢复: 支持批量恢复多个文件

系统要求

  • 操作系统: Windows 10/11
  • .NET版本: .NET 8.0 或更高版本
  • 权限: 必须以管理员身份运行
  • 文件系统: 仅支持NTFS文件系统

安装和编译

  1. 确保已安装 .NET 8.0 SDK
  2. 打开命令提示符或PowerShell
  3. 导航到项目目录
  4. 运行以下命令编译项目:
dotnet build --configuration Release

使用方法

重要提示

⚠️ 此工具必须以管理员身份运行!

  1. 右键点击命令提示符或PowerShell
  2. 选择"以管理员身份运行"
  3. 导航到编译后的可执行文件目录
  4. 运行程序:
dotnet run

或者直接运行编译后的exe文件:

.\bin\Release\net8.0\DataRecovery.exe

操作步骤

  1. 启动程序: 以管理员身份运行程序
  2. 选择扫描: 选择菜单选项1"扫描被删除的文件"
  3. 输入驱动器: 输入要扫描的驱动器字母(如:C:)
  4. 等待扫描: 扫描过程可能需要几分钟到几小时,取决于磁盘大小
  5. 查看结果: 选择菜单选项3查看可恢复的文件列表
  6. 开始恢复: 选择菜单选项2恢复文件到指定目录

菜单选项说明

  • 选项1 - 扫描被删除的文件: 扫描指定驱动器中的被删除文件
  • 选项2 - 恢复指定文件: 将找到的文件恢复到指定目录
  • 选项3 - 显示可恢复文件列表: 显示当前扫描结果
  • 选项4 - 退出: 退出程序

工作原理

1. 磁盘访问

工具使用Windows API直接访问磁盘扇区,绕过文件系统层。

2. NTFS解析

  • 读取NTFS启动扇区获取文件系统参数
  • 定位并读取主文件表(MFT)
  • 解析MFT记录中的文件信息

3. 删除文件检测

  • 检查MFT记录的标志位识别被删除文件
  • 解析文件名属性获取原始文件路径
  • 解析数据属性获取文件内容位置

4. 恢复可能性评估

根据以下因素评估恢复可能性:

  • 文件所占簇是否被覆盖
  • 文件碎片化程度
  • 删除时间长短

5. 文件恢复

  • 根据数据运行列表读取文件内容
  • 重组文件数据并写入新位置
  • 验证恢复文件的完整性

注意事项

安全提示

  • 备份重要数据: 使用前请备份重要数据
  • 停止写入操作: 发现文件被删除后立即停止对该磁盘的写入操作
  • 及时恢复: 删除后越早恢复,成功率越高

限制条件

  • 仅支持NTFS: 不支持FAT32、exFAT等其他文件系统
  • 需要管理员权限: 必须以管理员身份运行
  • 无法恢复被覆盖文件: 已被新数据覆盖的文件无法恢复
  • 性能影响: 扫描大容量磁盘可能需要较长时间

恢复建议

  1. 立即停止使用: 发现误删后立即停止对目标磁盘的使用
  2. 选择恢复位置: 将文件恢复到不同的磁盘上
  3. 检查恢复结果: 恢复后检查文件是否完整可用
  4. 专业工具: 对于重要文件,建议使用专业数据恢复服务

故障排除

常见错误

错误: "需要管理员权限才能运行此工具" 解决: 右键以管理员身份运行命令提示符

错误: "无法访问驱动器" 解决: 确认驱动器字母正确,磁盘未被其他程序占用

错误: "不是有效的NTFS文件系统" 解决: 该工具仅支持NTFS文件系统

性能优化

  • 关闭不必要的后台程序
  • 使用固态硬盘可以提高扫描速度
  • 避免在扫描期间进行其他磁盘操作

免责声明

此工具仅供学习和研究使用。使用者需要:

  • 了解数据恢复的风险
  • 对使用结果承担全部责任
  • 遵守当地法律法规
  • 不用于非法用途

作者不对因使用此工具造成的任何数据丢失或损坏承担责任。

技术支持

如遇到问题,请检查:

  1. 是否以管理员身份运行
  2. 目标磁盘是否为NTFS格式
  3. .NET 8.0是否正确安装
  4. 磁盘是否有物理故障

建议: 对于重要数据,建议寻求专业数据恢复服务的帮助。

About

An Easy-to-use Data Recovery Tool

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages