littlebot
Published on 2025-04-12 / 1 Visits
0

【源码】基于C语言的磁盘数据救援与复制工具

项目简介

本项目中的 dd_rescue 是类似 dd 的数据复制工具,可将数据在文件或块设备间复制。该工具重点考虑了数据错误情况,能在出现错误时继续尝试读取和复制数据,特别适用于从存在坏扇区的硬盘等介质中抢救数据。

项目的主要特性和功能

  1. 错误处理:输入文件出错时,若未指定最大错误数,不会中止复制,会继续读取后续扇区,输出文件可能有空洞。
  2. 复制方向灵活:支持正向和反向复制,便于处理连续坏扇区。
  3. 双块大小机制:采用大(软)块和小(硬)块,正常用大块提升性能,遇错时用小块挽救单个扇区。
  4. 日志记录:可记录坏块信息到日志文件,还能生成文件系统创建相关信息供 mke2fs 使用。
  5. 进度可视化:有进度条和预计剩余时间显示,方便用户掌握复制进度。
  6. 多样功能选项:支持直接 I/O、创建稀疏输出文件、避免不必要写入、多次覆盖数据安全删除、多文件输出等。
  7. 插件支持:有不断发展的插件接口,支持 MD5、SHA - 2 哈希计算,LZO 数据压缩/解压缩,多种 AES 变体加密/解密。

安装使用步骤

假设用户已下载本项目的源码文件: 1. 编译项目:用合适的 C 编译器编译源码。若在 Android 平台编译,编辑 Makefile.android 文件前几行指向本地 NDK 安装位置,依次执行 autogen.shmake -f Makefile.android configmake -f Makefile.android all。 2. 运行程序:在命令行运行 dd_rescue,用 -h 选项查看命令语法和可用选项。根据需求指定输入输出文件、块大小、起始位置等参数。比如从有坏扇区的硬盘复制数据到文件,使用合适块大小和日志记录选项。 3. 利用插件:若要使用插件功能(如加密、压缩、哈希计算),在命令中添加相应选项启用。 4. 查看结果:复制完成后,查看输出文件和日志文件,确认数据复制情况和错误信息。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】