注册 登录
编程论坛 Linux教室

请指教:在linux如何C实现windows文件系统分析

jsxxyzx 发布于 2008-01-07 13:14, 2527 次点击
Windows文件系统分析
在Linux系统下,使用与文件相关的系统调用实现对物理设备文件的读写,参照Linux系统源代码以及Grub系统的源代码,对不同介质上的FAT格式文件系统进行分析。要求在Linux环境下设计出C语言程序,实现以下功能:
1)、分析DOS/Windows系统引导记录DBR(DOS Boot Record)和引导机制;
2)、通过DBR中的BPB(BIOS Parameter Block)信息分析,构建相关信息的数据结构,比较FAT16、FAT32和VFAT等文件系统的区别与联系。
3)、至少要实现对给出第一FAT入口文件的只读访问。
小弟不太明白,望高手指点!!!
谢谢了
6 回复
#2
windflush2008-01-07 13:54
好难啊~ 不会
#3
jsxxyzx2008-01-08 18:53
希望哪位编程高手给指点指点啊
小弟急用啊
#4
linsua2008-01-09 04:10
又linux又windows,这个还真不会
#5
可可熊2008-01-13 10:10
先得学习一下FAT等文件系统.
还得研究一下内核中关于文件系统的源代码

这个比较麻烦.
#6
first_love2008-01-15 14:40
看过一点感觉都没有,还有待学习呀!!
#7
ammana_babi2008-04-14 11:50
这个问题不是很太简单,也不是很太难。
这个问题不是很太简单,也不是很太难。
1、首先你需要一个有关FAT文件系统的微软官方文档。
2、找一个比较小的U盘,分别用FAT16和FAT32来格式化,并分别用WinHex做两个镜像文件出来。这两个文件就是你以后做试验的基础。
3、在程序中打开镜像文件,读取前512Byte到一个buffer里面,然后在微软官方文档中找到关于引导扇区(Boot Sector 512B)的介绍,你就可以知道FAT32和FAT16二者在DBR记录上的区别了。
4、在微软官方文档找到文件的存放机制,找到文件,并用自己的C函数访问即可。
1