将NTFS库编译进testdisk/photorec - CYGWIN平台

原始的testdisk/photorec源码不包含NTFS库,编译出来的photorec也不支持NTFS分区的文件恢复。故需要将NTFS库编译进testdisk/photorec源码。

1. 在这里下载NTFS库,http://freecode.com/projects/linuxntfs/releases/153996。(ntfs-3g库不支持CYGWIN平台,放弃)。

2. 编译NTFS库,注意types.h中的BOOL宏会与windef.h的BOOL宏冲突,自行解决。

3. 将编译出来的libntfs.a  libntfs.la libntfs.dll.a cygntfs-9.dll复制到相应目录。

4. 进入testdisk/photorec,修改config.h,即打开其中的NTFS编译宏。如下:


/* Define to 1 if you have the ntfs library (-lntfs). */
/* #undef HAVE_LIBNTFS */
#define HAVE_LIBNTFS 1

/* Define to 1 if you have the <ntfs/attrib.h> header file. */
/* #undef HAVE_NTFS_ATTRIB_H */
#define HAVE_NTFS_ATTRIB_H 1

/* Define to 1 if you have the `ntfs_libntfs_version' function. */
/* #undef HAVE_NTFS_LIBNTFS_VERSION */
#define HAVE_NTFS_LIBNTFS_VERSION 1

/* Define to 1 if you have the <ntfs/version.h> header file. */
/* #undef HAVE_NTFS_VERSION_H */
#define HAVE_NTFS_VERSION_H 1

/* Define to 1 if you have the <ntfs/volume.h> header file. */
/* #undef HAVE_NTFS_VOLUME_H */
#define HAVE_NTFS_VOLUME_H 1

/* Define to 1 if you have the `ntfs_volume_startup' function. */
/* #undef HAVE_NTFS_VOLUME_STARTUP */
#define HAVE_NTFS_VOLUME_STARTUP 1 
此处可使用nm解析库文件以确定是否存在某一函数。

5. 修改Makefile,添加 -lntfs 至需链接的库文件变量。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
TestDisk 是一款强大 的免费数据恢复软件。主要用于病毒或人为误操作(如不小心删除分区表)导致的分区丢失,帮助用户恢复丢失分区,或修复不能启动的磁盘。 支持 DOS, Win32, MacOSX 及 Linux 平台TestDisk支持以下功能: 修复分区表, 恢复已删除分区 用FAT32备份表恢复启动扇区 重建FAT12/FAT16/FAT32启动扇区 修复FAT表 重建NTFS启动扇区 用备份表恢复NTFS启动扇区 用MFT镜像表(MFT Mirror)修复MFT表 查找ext2/ext3/ext4备份的SuperBlock 从FAT,NTFS及ext2文件系统恢复删除文件 从已删除的FAT,NTFS及ext2/ext3/ext4分区复制文件. TestDisk拥有两种模式:新手模式和专家模式。对于那些对数据恢复技巧了解很少,甚至完全一无所知的人来说,Testdisk可用于收集非启 动分区的详细信息,后续再发送给专业数据恢复人员一步分析。 对于那些对数据恢复较为熟悉的人员来说, Testdisk是一款现场非常容易操作的数据恢复工具。 TestDisk 可恢复以下文件系统的丢失分区: BeFS ( BeOS ) BSD disklabel ( FreeBSD/OpenBSD/NetBSD ) CramFS, 压缩文件系统 DOS/Windows FAT12, FAT16 和 FAT32 Windows exFAT HFS, HFS+ 和 HFSX (Hierarchical File System) JFS (IBM’s Journaled File System) Linux ext2, ext3 和ext4 Linux LUKS 加密分区 Linux RAID md 0.9/1.0/1.1/1.2 RAID 1: 镜像(Mirror) RAID 4: 带容错的条带阵列 RAID 5: 带分布式冗余信息的条带阵列 RAID 6: 带分布式双冗余信息的条带阵列 Linux Swap (版本1 和 2) LVM 和 LVM2, Linux逻辑卷管理器(Linux Logical Volume Manager) Mac partition map Novel NSS (Novell Storage Services) NTFS ( Windows NT/2000/XP/2003/Vista/2008 ) ReiserFS 3.5, 3.6 和 4 Sun Solaris i386 disklabel Unix文件系统-UFS and UFS2 (Sun/BSD/…) XFS, SGI’s Journaled File System

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值