欢迎来到天天文库
浏览记录
ID:42801887
大小:776.56 KB
页数:13页
时间:2019-09-22
《磁盘数据结构笔记》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、磁盘数据结构:MBR446引导DPT6455AA空闲同左扇区DBREBR扩展数据1分区StartSectors第一分区表第二分区表第三分区表第四分区表几个概念:引导扇区DBR数据IEBR扩展分区L引导扇区
2、55/A55AA55AA55AA55AA数据eoeds-euom七eduz)逻辑E盘磁盘寻址:1、物理寻址CHS(柱面磁头扇区)2、逻辑寻址LBA1、低级格式化:对硕盘划分磁道和扇区,在扇区的地址域上标注地址信息(CHS物理地址),并剔出坏磁道。2、分区:允许整个物理硬盘在逻辑上划分最多4个主分区,如果想划分更多的分区,可将1个主分区划分成扩展
3、分区,然后再将扩展分区划分成一个或多个逻辑盘。3、MBR(MasterBootRecord):硬盘上建立分区表的同时建立,排在最前边的一个扇区(可有•放512字节)里,存放若用丁-硕盘正常工作的很重要代码,这些代码分三个部分:一是用于启动硬盘的一些引导指令(即主引导程序MBR,446字节);二是分区表(DPT,64字节);三是硬盘正常的标志55AA。4、EBR(ExtendedBootRecord)则是-LjMBR相对应的一个概念。MBR里冇一个DPT(DiskPartitionTable,磁盘分区表)的区域,它一共是64字节,按每16个字节一个分
4、区表项,它最多只能容纳4个分区。在MBR的DPT里说明的分区称为主分区,如果想分更多的分区,微软的解决方案:在MBR里放不多于三个主分区(通常一个),剩下的分区则由EBR扩展分区引导记录(LMBR结构相像的分区结构)里说明。一个EBR不够用时,可以増加另一个EBR,如此像一根根链条一样地接下去。5、DBR(DOSBootRecord),就是每个逻辑盘的最前的一个扇区里,用丁•引导和加载相应文件管理系统的一些系统代码。也称作操作系统引导扇区(OBR)00010203040506070809ABcDEFEB5E000000000000000000000
5、0000000°200000000000000D000000000000000000000000000000000000000000000000■■■■000000000000003F00003FFF3F004642424600008001010007FEFFFF3F00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000055AA■:引导代码446字节(白字为PE启动标志):分区表64个字节:结束标志5
6、5AAMBR:主引导记录(CHS:0柱0磁头1扇区)分区表:扇区倒数第五行,倒数第二个字节开始,64个字节12分区引导标志起始磁头号345678910111213141516起始扇区起始柱面号分区类型符结束磁头号结束扇区结束柱面号本分区之前使用的扇区数本分区的总扇区数引导标志:80H表示活动分区;00H表示非活动分区。分区类型符:00H表示该分区未用;06H——FAT16基本分区;05H——扩展分区;OFH——(LBA模式)扩展分区07H——NTFS分区;83H——Linux分区;OBH——FAT32基本分区;OCII——(LBA模式)FAT32分
7、区扇区数:要倒过来计算(如分区表上3F000000,实际计算时为0000003F,转换成10进制63)FAT32分区结构隐藏扇区(不在分区总数内)保留扇区(DBR中OE-OF字节)FAT1FAT2根目录FDT数据区MBR其他DBR扇区DBR畐1」本其余DBR24-27字节紧跟着FAT2物理0扇区逻辑0扇区00逻辑6扇区00FAT32以“F8FFFF0F”开始,可搜索计算保留扇区及FAT扇区数可通过搜索根目录下文件或文件夹名,字符选ASCII/Codepage:JUMP指令及OEMID:BPB(BIOSParameterBlock,BIOS参数块):
8、引导程序:MagicNumber(结束标志字)重建FAT32的DBR需要这么儿个参数:保留扇区数、FAT表个数(通常为2)、每FAT扇区数、根目录簇号(通常为2号簇)、每簇扇区数、分区前隐含扇区数及分区大小扇区数(这两项可在该分区的分区表项中找到)步骤1.通过搜索位于扇区偏移0字节处的/ZF8FFFF/Z寻找FAT表..进而确定文件系统类型(FAT16/32)..步骤2.寻找根目录,来计算出FAT的大小(FAT1被破坏可用此方法)..及保留扇区数..步骤3.计算簇大小..利用两个子目录的起始扇区号差和他们的簇号差..就可以得到簇的大小..每簇扇区数
9、二(分区大小扇区数-保留扇区-FAT扇区数XFAT表数)/(FAT扇区数X512字节/4)步骤4.从分区表项得到隐含扇区数
此文档下载收益归作者所有