ReactOS, NTFS-3G以及其他
by niucool on Mar.31, 2010, under System Research
在重写SysReveal文件系统解析的工程中,我参考了ReactOS freeldr fs部分的代码,NTFS-3G以及FatFS。其他又参看了PEDIY论坛sudami以及ProgmBoy的提供的一些代码。
关于FAT(包括FAT16以及FAT32)的解析,由于相对简单,所以网上实现的代码很多。个人觉得写得最好的当属FatFS,作者是个日本人。不得不佩服这位老兄的认真程度,从看FatFS的代码以及作者网站就可以感受到,网站的帮助资料很详尽,代码规范而清楚,四年多的维护期仍然没有停止更新,没有一点坚持和毅力是做不到的。
关于NTFS,功能最详尽的实现是NTFS-3G,sudami公开了他的移植代码,很具有参考价值的,一点瑕疵是基于的NTFS-3G的版本较老,sudami写的代码比较乱。
ReactOS综合了FAT实现以及NTFS的部分实现,代码结构很清晰,我同时参考了ProgmBoy在看雪公布的他的部分移植代码。但是毕竟ReactOS还不是一个成熟的系统,在NTFS解析部分有诸多的BUG,如您对此部分代码感兴趣,请下载我修改后的文件,对应的修改文件是2010-03-31从ReactOS的SVN获取的最新版本。
ReactOS\boot\freeldr\freeldr\fs\ntfs.c
ReactOS\boot\freeldr\freeldr\fs\fat.c
压缩包中原始文件以.bak后缀保存。