检索
当前位置: 首页 >> 教学资源 >> 正文

文件系统

2018年11月15日 02:01  点击:[]

文件系统

文件分:文件头、内容、文件尾

硬盘的头是mbr 分区的头是dbr

磁盘初始化转换向导:新磁盘初始化,对硬盘的数据区进行操作(非固件区,即是0磁道后的区域,其实也只是就mbr区域)

举例1winhex打开初始化前的硬盘,会发现所有的数据都是0f,初始化后,而磁盘的mbr区域发生了变化,也就是0扇区,也即是传说中的0磁道

硬盘提示初始化的时候,是因为mbr的结束标志不是55aa了,初始化修改的是硬盘的0号扇区,这个位置,存放的是mbr,初始化不会破坏硬盘的数据,但是,会破坏硬盘的分区,所以,当硬盘提示初始化的时候,最好不要初始化,以免造成二次破坏,损坏硬盘分区。

mbr,全称为master boot record,即硬盘主引导记录。

为了便于理解,一般将mbr分为广义和狭义两种:广义的mbr包含整个扇区(引导程序、分区表及分隔标识),也就是上面所说的主引导记录;而狭义的mbr仅指引导程序而言。

硬盘的0柱面、0磁头、1扇区称为主引导扇区(也叫主引导记录mbr)。

mbr由三个部分组成,主引导程序、硬盘分区表dptdisk partitiontable)和分区有效标志(55aa)。在总共512字节的主引导扇区主引导程序(boot loader446个字节,引导操作系统用,可以用diskgen修复。 (例,如果是移动硬盘的话,第一部分的主引导程序代码无所谓)

第二部分是partition table区(分区表),即dpt,占64个字节,硬盘中分区有多少以及每一分区的大小都记在其中,一个主分区表占16字节,最多4个主分区,所有逻辑分区算一个主分区。

第三部分是magic number,占2个字节,固定为55aa,结束标志,mhddswitchmbr可以清除或写入55aa,让硬盘的分区表生效或者失效。或者初始化硬盘,修复结束标志。

446+64+2=512 即一个扇区容量,即mbr使硬盘的0磁道的第一个扇区

举例:对硬盘进行分区,如将硬盘分成3个主分区

对硬盘的3个主分区进行解释 1

2

该图是winhex打开的3个主分区的磁盘记录。对照上图即是其的解释。

00 00是非活动分区标志 01 01 00 分区开始的chs地址 07 07ntfs格式

80 80是活动分区标志 00 0159 无用无效 0b 0bfat32格式

00 00 01 cc 07

fe 3f 58 分区结束的chs地址 3f 00 00 00 分区开始的lba地址,计算需反过来算

fe 3f cb 无用无效,随便填写 19 d1 1500

fe 7f 7e cc 01 32 00

da d0 15 00 分区的大小,即是扇区数量,也就是lba值,计算需反过来算

b3 30 1c 00 16进制转十进制,即扇区数量

f3 e0 2b 00

offset 偏移的位置

3

第三个分区省略

举例 3个分区的,注意分区开始的lba地址及分区大小的扇区数量,乘以512b=分区容量大小,也可以用winhex 数据解释器查看分区容量

对图3的解释

作业:试着改变 活动分区标志、分区开始、分区格式、分区结束、分区开始lba、容量代码,看看对虚拟硬盘有什么影响?

dbr:系统引导记录

了解 (1dbr位于柱面0、磁头1扇区1,其逻辑扇区号为0

2dbr包含dos引导程序和bpb

3bpb十分重要,由此可算出逻辑地址物理地址

以上仅dosfat16)为例,由于dosfat16)已经退出历史舞台,但现在0柱面1磁头1扇区这个位置仍然是起着类似的作用,所以准确地说,dbr应该改称为obros boot record)即操作系统引导扇区,如winxpobrfat32ntfs)就是在dosdbr基础逐步演变而来的。obrdbr)是高级格式化程序产生的,如formatpmdmdiskpartwinxp磁盘管理器

dbrdos boot recorddos引导记录),位于柱面0,磁头1扇区1,即逻辑扇区0dbr分为两部分:dos引导程序和bpbbios参数块)。其中dos引导程序完成dos系统文件io.sysmsdos.sys)的定位与装载,而bpb用来描述本dos分区的磁盘信息,bpb位于dbr偏移0bh处,共13字节。 它包含逻辑格式化时使用的参数,可供dos计算磁盘上的文件分配表,目录区和数据区的起始地址,bpb之后三个字提供物理格式化(低格)时采用的一些参数。引导程序或设备驱动程序根据这些信息将磁盘逻辑地址(dos扇区号)转换成物理地址(绝对扇区号)。)

判断是否是dbr 三个特征

1、 开始标志 eb 58 90 (fat32)

eb 52 90 ntfs

2、一段英文提示 报错的信息

355aa结束标志

一个扇区512字节

fat32分区开始坐标 1c 1d 1e 1f

分区大小坐标 20 21 22 23

ntfs分区开始坐标 1c 1d 1e 1f

分区大小坐标 28 29 2a 2b

ntfs的分区表,mbr分区表大小比dbr的分区大小多1。!!!!!!因为dbr有个备份,这个备份,不计算在dbr的分区大小中,但是,会计算在mbr的分区大小中。 试试自己的硬盘!!!

dbr的备份不计算在大小当中,防止病毒等破坏,但是需要记录在mbr记录中)

fat32的分区表中,dbr的备份在dbr后面的第6个扇区。 试试看!!!!!

首先,电路板通电,检测板是否好,板好→调用bios程序→调用固件到缓存工作→固件工作以后,就管理整个硬盘了,即初始化硬盘。

电脑工作过程:触发→检测供电和主板→调用bios程序→调用硬盘的0扇区(0磁道面就是mbr的位置)→找到活动分区,调用活动分区的dbr→调用系统文件到内存来工作,电脑就启动完成。

手工恢复分区表

软件恢复分区表:disgen中搜索已丢失分区(重建分区表)

软件恢复优点:速度、傻瓜式、便于查看

缺点:从头开始扫描,如果遇到坏道会出现问题,软件恢复技术显得不行,技术含量低。。。。。

大硬盘扫描时间长

手工winhex恢复,技术牛叉,收费也ok

winhex手动恢复分区表

搜索55aa标志!!!!!!找到分区位置,然后找分区开始坐标和分区大小

winhex正文区是16进制代码,右侧是文本,所以搜索55aa标志,选择查找16进制

512表示一个字节,510表示从510位置查找

一直到5 表示搜索555aa 提示: 如果硬盘分过多次区,每分一次都会出现一个dbr

搜索到的dbr分区,找到分区大小和分区开始的坐标区域,填入mbr的分区表中

例如 完成第一分区的搜索

mbr的分区大小要比dbr大一,所以 3b -3a=01

完成后,需要手工删除搜索痕迹。。。 练习!!!!将dbr中的分区开始、分区大小标志填入到mbr中,恢复分区

完成第一分区的搜索后

找到第二分区的扇区 很简单

即:mbr的结束分区63+第一分区的大小=第二分区的开始

找到第二分区的分区开始和分区大小标志,复制到mbr的第二主分区位置

同理 第三主分区的扇区

=第二分区的开始+第二分区的大小

找到第三主分区的分区开始和分区大小标志,复制到mbr的第三主分区位置 练习!!!!

举例:

破坏第一主分区ntfs格式的dbr,清0

重新搜索硬盘后,发现第一分区需要格式化,且空间为0,文件系统变为raw格式

注意:如果双击分区后出现需要格式提示,就是dbr遭受到了破坏!! --可能病毒或人为破坏,或可能dbr区域有坏道

破坏第二分区fat32格式的dbr

会发现需要格式化,且空间为0,文件系统还是fat32格式

这时可以到fat32分区的第6扇区找到他的备份修复

手工修复dbr

dbr损坏,提示格式化

原理:找另外一个dbr来修复,注意实践! 分区2dbr修复分区1dbr

结果:dbr不对,还会出现需要格式化

2:将mbr分区1的分区开始标记和分区大小复制过去?

结果:ok完成。

所以:可以用另外分区的dbr结合mbr中的分区1的开始标记和分区大小代码复制完成

手工修复文件(wordexcel

如果文件头和文件结构出现问题,可以利用好文件的文件头覆盖已损坏文件的头部,以完成修复。

上一条:如何使用ict点位图1 下一条:学生成绩上传流程