还剩5页未读,继续阅读
文本内容:
常用文件系统定位文件的步骤FAT16定位定位
③定位目录项
③定位定位数据区DBR®FDT FAT®定位DBR:通过分区表定位定位FDT:通过DBR中的“DBR保留扇区数”、“每FAT扇区数”两个参数的值来计算FDT开始扇K=DBR保留扇区数+2x每FAT扇区数定位目录项通过文件名定位,用WinHex模板来看”文件开始簇号”和“文件大小”定位FAT:通过“DBR保留扇区数”定位FAT1的开始扇区,通过“文件开始簇号”到相应的FAT项几号簇就是第几项,FAT16每项占2个字节定位数据区知道了文件的簇链,就可以到相应的簇查看数据了N号簇对应的扇区号=DBR保留扇区数+2x每FAT扇区数+FDT占用扇区数+(N-2)x每簇扇区数(数据区中簇从2开始编号;FDT占用扇区数可以从DBR“根目录项数”来推出,每一个目录项为32字节,普通为32)FAT32定位口区定位根目录首簇
③定位目录项
③定位定位数据区£8FAT®定位DBR:通过分区表定位定位根目录首簇通过DBR中的“DBR保留扇区数”、“每FAT扇区数”两个参数的值来计算根目录首簇开始扇区=DBR保留扇区数+2x每FAT扇区数(FAT32的数据区从根目录首簇开始,而FAT16的数据区紧接着FDT之后)定位目录项通过文件名定位,用WinHex模板来看“文件开始簇号”和“文件大小”定位FAT:通过“DBR保留扇区数”定位FAT1的开始扇区,通过“文件开始簇号”到相应的FAT项几号簇就是第几项,FAT32每项占4个字节定位数据区知道了文件的簇链,就可以到相应的簇查看数据了N号簇对应的扇区号=DBR保留扇区数+2x每FAT扇区数+(N-2)x每簇扇区数徵据区中的簇从2开始编号,FAT32并没有FDT,所以数据区紧接着FAT2之后)NTFS定位
③定位
③定位根目录的文件记录
③分析索引属性
③分析位图属性DBR$MFT
③遍历树
③访问目录文件的文件记录B+定位DBR:通过分区表定位定位$MFT:通过DBR中的“$MFT起始簇号”、“每簇扇区数”计算出$MFT的开始扇区NFTS文件系统中所有的簇从0开始编号,并且从分区的第一个扇区开始编簇定位根目录的文件记录在$乂「工中寻觅根目录的文件记录,5号文件记录就是根目录每一个文件记录普通占有1KB分析索引属性根据90H、AOH属性分析其数据流,即是索引缓冲区,也就是B+树的节点,根目录下的文件及目录的索引项就在这些节点中注意数据流的计算方法和更新序列号分析位图属性在上步计算出的数据流分配中,哪些索引缓冲区实际使用了,哪些没有使用,由BOII属性管理注意位图属性指示的是某个索引缓冲区使用与否,普通每索引缓冲区为8簇遍历B+树到索引缓冲区,根据B+树规则,找到所定位文件属于哪个索引项访问目录或者文件的文件记录从文件的索引项获得文件记录号,进入$MFT定位ExFAT定位
③定位根目录首簇
③定位目录项
③定位
③定位簇位图文件
③定位数据区DBR FAT定位DBR通过分区表定位定位根目录首簇通过DBR的“首簇起始扇区号”、“根目录首簇号”和“每簇扇区数N”三个参数计算根目录首簇的开始扇区=首簇起始扇区号+(根目录首簇号-2)x每簇扇区数(数据区中的簇从2开始编号)定位目录项找到根目录首簇后,通过文件名定位目录项,得到“文件开始簇号”和“文件大小”定位FAT通过DBR的“FAT起始扇区号”定位到FAT开始扇区,找到相应的FAT项ExFAT的FAT表普通惟独一份,每一个FAT项占4字节定位簇位图文件通过DBR的“首簇起始扇区号”定位簇位图文件普通在数据区第一个簇中,也就是2号簇,占1个簇簇位图文件下一个簇普通分配给大写字符文件,大写字符文件大小固定为5836字节定位数据区到相应的簇查看数据ExFAT中如果文件存放不连续,簇号以簇链形式登记在FAT表中;如果文件存放连续,FAT表则不豌N号簇对应的扇区号=首簇起始扇区号+(N-2)x每簇扇区数UFS定位超级块
③定位根目录所在(号柱面组)的节点表
③定位根目录区
③定0i-位目录项的-节点
③定位数据区i以UFS1为例,UFS2相对简单定位超级块到切片的16号扇区找到超级块,获得如下信息每一个段的扇区数每一个块的扇区数柱面组描述符相对于柱面组参考位置的偏移量i-节点表相对于柱面组参考位置的偏移量柱面组参考位置的偏转增量柱面组偏转周期每一个柱面组包含的i-节点数每一个柱面组包含的段数UFS1的原始超级块通常位于文件系统的16号扇区处,UFS2则位于128号扇区处,有时也位于512号扇区处UFS2取销了柱面组的偏转增量和偏转周期定位根目录所在(0号柱面组)的i-节点表根据“每一个段的扇区数”和“广节点表相对于柱面组参考位置的偏移量”计算出0号柱面组,节点表的起始扇区0号柱面组i-节点表起始扇区=每一个段的扇区数Xi-节点表相对于柱面组参考位置的偏移量UFS文件系统的每一个柱面组中都有一个自己的i-节点表,i-节点表中的每一个i-节点从0开始编号,0号i-节点保留,1号i-节点描述坏块,2号i-节点描述根目录定位根目录区定位2号i-节点,查看它的块指针定位目录项的i-节点找到根目录区,通过文件名定位所需的目录项,进而再次得到该目录项的正节点号定位i-节点的步骤
1、根据i-节点号,计算所在柱面组号Ni-节点号DIV每柱面组i-节点数
2、计算柱面组起始扇区号每柱面组段数X每段扇区数义柱面组号N
3、计算N号柱面组参考位置所在扇区N号柱面组起始扇区号+柱面组参考位置的偏转增量义柱面组号NX每段扇区数
4、计算i-节点表起始扇区号N号柱面组参考位置所在扇区+i-节点表相对于柱面组参考位置的偏移量义每段扇区数
5、计算i-节点在i-节点表中的偏移i-节点号MOD每柱面组i-节点数Xi-节点占用字节数定位数据区根据,节点的块指针和文件大小查看数据HFS+定位卷头
③定位编录文件因定位根目录的节点号
③定位根目录区,分析索引节点
③定位文件的节点号
③定位文件所在节点
③定位文件数据定位卷头通过Apple分区映射表定位到宗卷的开始位置,卷头位于宗卷的每三个扇区定位编录文件在卷头的编录文件信息中找到编录文件的起始块号及大小等信息来定位定位根目录的节点号编录文件第一个节点为头节点,查到里面根目录的节点号定位节点在编录文件中的偏移量=节点号X每节点字节数定位根目录区,分析索引节点根据B-树规则,从根目录节点的指针记录中查找对应的子节点名定位文件的节点号根据根目录节点子节点名查找对应的子节点号定位文件所在节点找到目录文件所在的叶节点,对关键字做顺序遍历,可找到目标文件的文件记录定位文件数据从文件记录的数据分支中查得文件总字节数、盘区块号等信息如有盘区溢出要查相应的盘区溢出文件Ext3定位超级块和块组描述符
③定位根目录所在(号块组)的节点表
③定位根o i-目录区
③定位目录项的节点
③定位数据区i-定位超级块和块组描述符超级块位于分区2号扇区,获得块大小、每块组包含的块数、每块组包含的计节点数、计节点大小块组描述符表起始于超级块所在块的下一个块,即1号块定位根目录所在(0号块组)的i-节点表从0号块组描述符表查看该块组的i-节点表的起始块号定位根目录区到该i-节点表,2号计节点是根目录的i-节点每一个i-节点的基本大小为128字节,可定义大于128字节的“大i-节点”o第一个i-节点的编号Io1-10号i-节点被系统保留,其中1号i-节点普通用于描述坏块,2号i-节点描述根目录,8号i-节点通常用于描述日志第一个非保留的i-节点普通是llo定位目录项的i-节点找到根目录区,通过文件名定位所需的目录项,进而再次得到该目录项的i-节点号定位i-节点的步骤
1、根据i-节点号,计算所在块组号N(i-节点号-1)DIV每块组i-节点数
2、计算块组起始扇区号每块组块数义每块扇区数义块组号N
3、找到相应的块组描述符表,读取i-节点表起始块号
4、计算i-节点是所在块组的i-节点表内的几号i-节点(i-节点号-1)MOD每块组i-节点数+
15、计算i-节点在i-节点表中的偏移G-节点号-1)MOD每块组i—节点数Xi-节点占用字节数定位数据区从正节点中找到块指针和文件大小,来获取数据内容。
个人认证
优秀文档
获得点赞 0