




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、fat文件系统原理-、硬盘的物理结构:硬盘存储数据是根据电、磁转换原理实现的。硬盘由一个或几个表面镀有磁性物质的金 属或玻璃等物质盘片以及盘片两面所安装的磁头和相应的控制电路组成(图1),其中盘片和 磁头密封在无尘的金属壳中。硕盘工作时,盘片以设计转速高速旋转,设置在盘片表面的磁头则在电路控制下径向移动到 指定位置然后将数据存储或读取出来。当系统向硬盘写入数据时,磁头屮写数据电流产生 磁场使盘片表面磁性物质状态发生改变,并在写电流磁场消失后仍能保持,这样数据就存储 下来了;当系统从硬盘中读数据时,磁头经过盘片指定区域,盘片表而磁场使磁头产生感应 电流或线圈阻抗产生变化,经相关电路处理后还原成数
2、据。因此只要能将盘片表而处理得更 平滑、磁头设汁得更精密以及尽量提高盘片旋转速度,就能造出容量更大、读写数据速度更 快的硬盘。这是因为盘片表面处理越平、转速越快就能越使磁头离盘片表面越近,提高读、 写灵敏度和速度;磁头设计越小越精密就能使磁头在盘片上占月空间越小,使磁头在一张盘 片上建立更多的磁道以存储更多的数据。二、破盘的逻辑结构。硬盘由很多盘片(platter)组成,每个盘片的每个面都有一个读写磁头。如果有n个盘片。 就有2n个面,对应2n个磁头(heads),从0、1、2开始编号。每个盘片被划分成若干个同 心圆磁道(逻辑上的,是不可见的。)每个盘片的划分规则通常是一样的。这样每个盘片的半
3、 径均为固定值r的同心圆再逻辑上形成了一个以电机主轴为轴的柱面(cylinders),从外至里 编号为0、1、2.每个盘片上的每个磁道又被划分为几十个扇区(sector),通常的容量是 512byte,并按照一定规则编号为1、2、3.形成cylindersxheadsxsector个扇区。这三个参 数即是硬盘的物理参数。我们下面的很多实践需要深刻理解这三个参数的意义。三、磁盘引导原理。3.1 mbr(master boot record)扇区:offsetoooooooooo ooooooooio 0000000020 0000000030 0000000040 0000000050 0000
4、000060 0000000070 0000000080 0000000090 ooooooooao oooooooobo ooooooooco oooooooodo ooooooooeo oooooooofo 0000000100 0000000110 0000000120 0000000130 0000000140 0000000150 0000000160 0000000170 0000000180 0000000190 oooooooiao oooooooibo oooooooico oooooooido oooooooieo oooooooifo33bf3883fo4e8046bcb
5、70043oa8b56136a01326c626765740000000001cl0000123456789abcdefco8edobc007cfb500750iffcbeib7cib065057b9e501f3mcbbdbe07bl046e007c09751383c510e2f4cd188bf5c610497419382c74f6a0b507b4078bac3c0074fcbb0700b40ecd10ebf28810e84600732afe4610807e040b740b7e04oc7405a0b60775d28046020683080683560a00e821007305a0b607eb8
6、13efe7d55aa740b807e100074c8a007eba98bfcie578bf5cbbf05008a56b408cd1372238acl243f988ade8afcf7e38bdi86d6bl06d2ee42f7e2395677237205394608731cb80102bb007c4e028b5600cd1373514f744e32e48a00cd13ebe48a560060bbaa55b441cd723681fb55aa7530f6cl01742b6160006a00ff760aff76086a0068007c6a6a10b4428bf4cd136161730e4f740be
7、48a5600cd13ebd661f9c3496e7661696420706172746974696f6e2074616c65004572726f72206c6f6164696e206f7065726174696e6720737973746d004d697373696e67206f70657261696e672073797374656d00000000000000000000000000000000000000000000000000000000000000000000oo000000000000000000000000000000000000002c446333bl33bl000080010
8、007feff7b3f0000003da8da0000007coffeffff7ca8da00458f000d00000000000000000000000000000000000000000000000000000000000055aa访问 i3欣屑.ibi.p. . i ?pw瑰螭私?? 8njujs 柞?膜 bit. & t 鰻? 歷t??脚n囲.s*嵌t 二t抽.u補f.f傅?3*由e 纷 獅溥t夏 ?鑒殲.w娱丝奨v ??曲旎$?檢迫su c縻翅嗯?翌b麾9w w#r. 9f. s. ?. ? |. | 嫌.蝎.?sqotn2鋳s 丄?皖奨' 华u醐1 r6伽u狠0隽
9、.t+av. j. h.v. j磐j©j?aas. ot.2鋳胫& invaalid partition ta bleerror loadin g operating syst ero. missing opera ting systemdc3? .计算机在按下power键以后,开始执行主板bios程序。进行完一系列检测和配置以后。开 始按bios中设定的系统引导顺序引导系统。假定现在是硬盘。bios执行完自己的程序后如 何把执行权交给硬盘呢。交给硬盘后又执行存储在哪里的程序呢。其实,称为mbr的一段 代码起着举足轻重的作用。mbr(master boot record),即
10、主引导记录,有时也称主引导扇区。位于整个硬盘的0柱血0 磁头1扇区(可以看作是硬盘的第一个扇区),bios在执行自己同有的程序以后就会jump到 mbr中的第一条指令。将系统的控制权交由mbr来执行。在总共512byte的主引导记录中, mbr的引导程序占了其屮的前446个字节(偏移0h偏移1bdh),殖后的64个字节(偏移2beh 偏移1fdh)为dpt(disk partitiontable,硬盘分区表),最后的两个字节"55 aa"(偏移1feh 移1ffh)是分区有效结朿标志。mbr不随操作系统的不同而不同,意即不同的操作系统可能会存在相同的mbr,即使不 同,mb
11、r也不会夹带操作系统的性质。具有公共引导的特性。我们來分析一段mbr0下面是用winhex查看的一块希捷120gb硬盘的mbr0你的硬盘的mbr引导代码可能并非这样。不过即使不同,所执行的功能大体是一样的。这 是wowocock关于磁盘mbr的反编译,已加了详细的注释,感兴趣可以细细研究一下。我们看dpt部分。操作系统为了便于用户対磁盘的管理。加入了磁盘分区的概念。即将 一块磁盘逻辑划分为几块。磁盘分区数目的多少只受限于cz的英文字母的数冃,在上图 dpt共64个字节中如何表示多个分区的属性呢?microsoft通过链接的方法解决了这个问题。 在dpt共64个字节小,以16个字节为分区表项单位
12、描述一个分区的属性。也就是说,第 一个分区表项描述一个分区的属性,一般为基本分区。第二个分区表项描述除基本分区外的 其余空间,一般而言,就是我们所说的扩展分区。这部分的大体说明见表1。表1图2分区表第一字段字节位移宇段长度值宇段名和定义0x01bebyte0x80引导指示符(boot indic ator)指明该分区是否是 活动分区。0x01bfbyte0x01开始磁头(starting head) 1oxolco6位0x01开始扇区(starting sect or)只用了05位。后面 的两位(第6位和第7位)被 开始柱面宇段所使用oxolcl10位0x00开始柱面(starting cyl
13、in der)除了开始扇区字段 的最后两位外,还使用了 1 位来组成该柱面值。开始 柱面是一个10位数,最大 值为10230x01c2byte0x07系统id(system id)定义 了分区的类型,详细定 义,请参阅图40x01c3byteoxfe结束磁头乍nding head)ox01c46位oxff结束扇区(ending sector)只使用了 5位。最后两位(第6、7位)被结 束柱面宇段所使用oxolcs10位0x7b结束柱面(ending cylinde r)除了结束扇区宇段最后 的两位外,还使用了 1位, 以组成该柱面值。结束柱 面是一个10位的数,最大值为1023|0x01c6d
14、word0x0000003f相对尿区数(relative sec tors)从该嵐盘的开始到 该分区的开始的位移量, 以扇区未计算oxolcadwordoxoodaa83d总园区数(total sectors)该分区中的扇区总数字节位移字段长度 值字段名和定义blaster boot record,基础ffii移星offset标题数值jo穰律mtster bootstrap loader code *1显代厲33 co 8e do bc 00 7c fbpartition table entry #11be80 = active partitif80 am;迅話 ooin1bfsttrt h&
15、#171;ad秆1icostart sector科1icostart cylinder杆乔01c2operating system indicator (hex071c3end h«ad2541c4end sector631 1c4end cylinder&8911c6sectors preceding partition 163水井ew怖1calength of partition 1 in sector14329917 隶分e給"partitiontable entry #2ice80 = active partition001cfstart head0idos
16、tart sector1idostert cylinder8921d2operating system indicator (hexof1d3end h“d254114end sector631d4end cylinder10231d6sectors preceding partition 2143299801 idalength of p&rtition 2 in sector220106565partitiontable entry #380 = active partition00idf mstart head0ieo 2mstart sector0ieo 2mstart cyl
17、inder01e2 uhoptratin system indicator (hex001e3end h«ad01e4 6mend sector01e4 6wend cylinder01e6 ffrsectors preceding partition 301ea cmlength of partition 3 in sector0partition table entry #41ee80 = active partition001efstart head01f0start sector01f0start cylinder01f2operating system indicator
18、(kox001f3end head01f4end sector01f4end cylinder001f6sectors preceding partition 40oxolbe byte 0x80引导指示符(boot indicator)指明该分区是否是活动分区。oxolbf byte 0x01 开始磁头(starting head)0x0ico 6位0x01开始扇区(startingsector)只用了 05位。后面的两位(第6位和第7位)被 开始柱而字段所使用oxolcl 10位0x00开始柱lffi(starting cylinder)除了开始扇区字段的最后两位外,还使用了1位来组成该柱
19、面值。开始柱面是一个10位数,最大值为10230x01c2 byte 0x07系统id(system id)定义了分区的类型,详细定义,请参阅图4分区类劇标志:00空.mocrosoft不允许使川.63 gnu kurd or sys01 fat3264 novol 1 netware02 xenix root65 novel 1 netware03 xenix usr70 disk secure mult04 fat16 <32m75 pc/ix05 extended80 old minix06 fat1681 minix/old linux07 iipfs/ntfs82 linux
20、sap08 aix83 linux09 aix bootable84 os/2 hidden c:0a os/2 boot manage85 linux extended0b hin95 fat3286 ntfs volume set0c win95 fat3287 ntfs volume set0e win95 fat1693 anoebaof win95 extended(>8gb)94 anoeba bbt10 opusa0 ibm thinkpad hidden11 hidden fat12a5 bsd/38612 compaq diagnosta6 open bsd16 hid
21、denfat16a7 nextstep14 hidden fat16<32gbb7 bsdi fs17 hidden hpfs/ntfsb8 bsdi swap18 ast w i ndows swapbe solaris bootib hidden fat32partition1c hidden fat32 partitionco dr dos/nov叫 dos(using lba-modesecured parti lionint 13 extensions)cl drdos/secie hidden lba vfat partitionc4 drdos/sec24 nec dosc
22、6 drdos/sec3c partition magicc7 syrinx40 venix 80286db cp/m/ctos41 rpc prep bootel dos access42 sfse3 dos r/04d qnx4. xe4 speedstor4e qnx4. x 2nd parteb beos fs4f qnx4. x 3rd partfl speedstor50 ontrack dmf2 dos 3. 3* secondary51 ontrack dm6 auxpartition52 cp/mf4 speedstor53 ontrack dm6 auxfe lan ste
23、p54 ontrack dm6ff bbt55 bz-drive56 golden bow5c priam edisk61 speed stor0x01c3 byte oxfe 结束磁头(ending head)0x01c4 6位oxff结束扇区(ending sector)只使用了 05位。最后两位(第6、7位)被结束 柱面字段所使用0x01c5 10位0x7b结束柱面(ending cylinder)除了结束扇区字段最后的两位外,还使用了 1 位,以组成该柱面值。结朿柱面是一个10位的数,最大值为10230x01c6 dword oxoooooo3f相对扇区数(relative secto
24、rs)从该磁盘的开始到该分区的开始的位移量,以扇区来计算oxolca dword 0x00daa83d总扇区数(total sectors)该分区中的扇区总数注:上表中的超过1字节的数据都以实际数据显示,就是按高位到地位的方式显示。存储时 是按低位到高位存储的。两者表现不同,请仔细看清楚。以后出现的表,图均同。主引第i分区表顶第2分区表顶第3分区表项第4分区表顶0x55aa引导島区引导定区引导启区0x55aa引导扁区扩展份区表0x55aa引导宣区至引导记取基本分区1基本分区2ji扩m i导记亲!基本分区3图5 个4分区的圧木磁盘关于扩展分区,如图6所示,扩展分区中逻辑驱动器的扩展引导记录是一个连接表。该图显 示了一个扩展分区上的三个逻辑驱动器,说明了前而的逻辑驱动器和最后一个逻辑驱动器之 间在扩展分区表中的差异。除了扩展分区上最
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年呼伦贝尔莫力达瓦达斡尔族自治旗内蒙古大学校园引才笔试备考及答案详解(新)
- 智能机场导航创新创业项目商业计划书
- 2025年教师招聘之《小学教师招聘》练习题库附完整答案详解【必刷】
- 2025内蒙古呼伦贝尔选聘政务服务社会监督员9人笔试备考参考答案详解
- 2025内蒙古呼伦贝尔根河市事业单位艺术专业技术岗位招聘工作人员6人笔试备考及答案详解(考点梳理)
- 2025年教师招聘之《幼儿教师招聘》练习题库包及答案详解(网校专用)
- 教师招聘之《小学教师招聘》能力测试备考题及答案详解【基础+提升】
- 2025内蒙古呼伦贝尔林业集团有限公司招聘工作人员5人备考及完整答案详解1套
- 教师招聘之《小学教师招聘》考前冲刺试卷含答案详解
- 2025内蒙古呼伦贝尔林业集团有限公司招聘工作人员5人备考参考答案详解
- (2025年标准)婚后债务分离协议书
- 2025广东河源紫金县殡仪馆招聘编外人员2人笔试参考题库附答案解析
- 2025四川南充营山县医疗卫生辅助岗招募39人考试参考题库附答案解析
- 看守所巡控岗位课件
- AIGC艺术设计 课件全套 第1-8章 艺术设计的新语境:AI的介入 -AIGC艺术设计的思考与展望
- 小学数学拔尖人才培养方案
- 医院医务人员行风建设九不准
- 2025年禁毒社工考试题及答案
- 2025秋冀人版(2024)科学二年级上册教学计划、教学设计(附目录)
- 板材样品销售方案(3篇)
- 污水处理厂设备更新项目可行性研究报告
评论
0/150
提交评论