分区表和文件系统
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
38
二、文件系统NTFS NTFS结构
$MFT文件
$BOOT文件,第一扇区为DBR
39
转至NTFS分区DBR,应用模板Boot Sector NTFS
每簇扇区数
分区大小 $MFT起始簇
$MFTMirr起始簇
40
转至$MFT所在扇区,保留扇区数+$MFT起始簇*每簇扇区数 208845+69615*1=278460扇区,跳转到278460扇区
此三处内容
26
在计算机管理中选择磁盘管理,在操作菜单中选择刷新,将看到此磁盘分区, 但没有分配驱动器编号,右键单击此分区,分配一下驱动器编号,即可在资 源管理器中看到分区内容。第一分区起始扇区为63,大小208782扇区,则第 二分区起始位置为63+208782=208845扇区,跳转到208845扇区,可以看到 第二分区DBR,为NTFS分区通过模板可以看到,此分区大小为208844扇区。 同样,转到0扇区,应用模板,在分区表2的位置,将第二分区数据填入,分 区类型0x07,起始扇区208845,大小208845扇区(注意+1),同样可知, 第三分区起始位置在208845 + 208845 =417690扇区,将第三分区数据写入 分区表,分区类型0x05,起始扇区417690,大小 63+321237+305235=626535扇区,保存,刷新,分配驱动器号,可以看到 分区内容。
13
分区类型
引导程序 提示信息 0x55AA标志
FSINFO扇区
14
DBR作用是查找操作系统的启动文件并加载执行,例如win98/dos需要查找分区根目 录下的io.sys,msdos.sys,win2000/xp/2003需要查找ntldr,vista/win7/2008需要查 找bootmgr。一个扇区的代码并不足以完成以上任务,FAT32在DBR后面的第(2或 12)扇区还有代码完成此功能。对于NTFS则可能更多一些,直接在DBR后面6个扇 区为启动代码。 EB58表示跳转到后面58个字节执行,此扇区从偏移0x0003-0x005A的88(NTFS为 82字节)BPB参数表内容,FAT32和NTFS的参数表格式不同。BPB参数表是分区的 关键数据,没有它操作系统将无法访问此分区。FAT32分区的DBR在该DBR的6个 扇区后有备份,必要时可以使用备份来恢复DBR。NTFS分区则在该分区的末尾有备 份。 NTFS分区引导代码可以使用bootsect /nt52/60 驱动器:恢复或更换,此工具可以在 vista/win7/2008安装光盘中找到。
27
二、文件系统FAT32 FAT32结构
保留扇区
根目录
FAT1
FAT2
DBR
28
0号表项
1号表项
2号表项
3号表项
29
一个簇链的例子,从3号表项开始,7号表项结束
0号表项
1号表项
2号表项
3号表项
4号表项
5号表项
6号表项
7号表项
30
先将此分区格式化,转到63扇区,通过模板查看相关数据
每簇扇区数 保留扇区数
6
一、分区表 查看分区表:0号扇区,前446字节为引导程序,作用是装载活动分区的分区引导记录
7
分区表内容:由四个分区表项构成,共64字节,每一分区表项16字节
字节位置 第1字节 第2、3、4字 节 第5字节 内容及含义 引导标志。若值为80H表示活动分区;若值为00H表示非活动分区。 本分区的起始磁头号、扇区号、柱面号
18
分区表重建 注意使用模板可以简化操作。
查找策略: 查找DBR,特征:0x55AA,扇区最后两个字节。条件:偏移计算512=510 最好先知道原分区大概大小,然后查找原第一分区,找到后通过分区起始位 置和BPB参数表中分区大小直接计算第二分区位置。
19
将分区表清空,重建分区表,选中分区表, 右键单击-编辑
9
Winhex模板
查看-模板管理器
10
选择Master Boot Record,应用
11
分区表项1
活动分区标志
分区类型标志
起始位置
分区大小 分区表项2
12
访问DBR
使用跳至扇区功能,单击扇区编号,跳转到63扇区,查看第一分区的分区引导记录(DBR)
分区引导记录功能:
包含本分区基本信息(BPB参数表),分区类型(FAT32/NTFS),分区大小,簇大小等。 分区引导程序:用来加载操作系统启动程序(io.sys/ntldr/bootmgr)。
分区类型符: 00H——表示该分区未用 06H——FAT16基本分区 0BH——FAT32基本分区 05H——扩展分区 07H——NTFS分区 0FH——(LBA模式)扩展分区 83H—— Linux分区
第6、7、8字 节
本分区的结束磁头号、扇区号、柱面号
第9、10、11、 本分区之前已用了的扇区数 12字节
每FAT扇区数
31ቤተ መጻሕፍቲ ባይዱ
查找根目录位置:
根目录所在扇区=分区前扇区+保留扇区+每FAT扇区*2
63+36+810*2=1719扇区 跳转至1719扇区
32
光标移至此处, 应用FAT Drectory Entry模板
33
选择FAT Drectory Entry模板,应用
34
该项为卷标
35
复制一个文件后转到1719扇区
41
文件名
$MFT 文件中 第一项 为 $MFT 本身, 每个 MFT项 由若干 属性构 成。
42
复制一个文件到此分区(文件名最好为英文),搜索文件名,查找文件记录 搜索-查找文本
搜索内容
选择Unicode
选择向下
43
找到该文件记录
文件名 80属性(data)
数据流
44
流描述:21 20 ED 5 22 48 7 48 22 21 28 C8 DB 0 流1: SD_Desc = 21 –偏移占2个字节,尺寸占1个字节。 SD_Size = 20 (1字节) SD_Off = 5ED (2字节) Offset = 5ED Length= 20 流2: SD_Desc = 22 –偏移占2个字节,尺寸占2个字节。 SD_Size = 748 (2字节) SD_Off = 2248 (2字节) Offset = 2835 (2248+5ED) Length=748 流3: SD_Desc = 21 –偏移占2个字节,尺寸占1个字节。 SD_Size = 28 (1字节) SD_Off = DBC8 (2字节) Offset = 3FD (2835+FFFFDBC8) Length=28 流4: SD_Desc = 0。描述结束标志
20
出现菜单里选择-填充选块
21
单击确定
22
分区表被清空,还需要保存一下
出现这两个提示,确定
还需要在计算机管理-磁盘管理中刷新一下,重新载入分区表才能看到结果
23
重建过程
查找分区:搜索-查找十六进制数值
24
搜索内容55AA
偏移计算选中
这里填510,表示最后两 个字节
25
在63扇区找到第一分区,可以看出为FAT32分区,使用模板,查看此分区大小为 208782扇区,在主引导记录中使用模板填写数据,分区表1
1
硬盘工作模式: 1、CHS/LARGE 通过给定柱面、磁头、扇区编号访问硬盘。 2、LBA 通过给定扇区编号访问硬盘,现在访问硬盘均采用此种方式。
2
Winhex操作 1、工具-打开磁盘
3
2、选择物理驱动器,确定
4
水平坐标 文本区 数据区
垂直坐标 数据解释器
扇区边界
扇区编号
5
1、单击垂直坐标可以将坐标在十进制和十六进制之间转换 2、在数据区单击响应位置可以通过数据解释器查看其十进制数值(有符号/无符号) 【选项-数据解释器-32bit无符号】 3、单击扇区编号可以跳转到相应扇区(逻辑) 4、复制粘贴操作。
45
文件名
数据流
数据流为31 01 E9 0F 01 即偏移占3字节0x010FE9,大小占1字节0x01
46
0x010FE9转换为10进制为69609,即文件在69609簇,文件 位置在保留扇区+69609*每簇大小=208845+69609=278454 扇区,转至278454扇区,即可看到此文件内容。
光标移至此处, 应用FAT Drectory Entry模板
36
文件名 扩展名
首簇号
文件大小,为0则为目录
37
转至FAT1,99扇区,3号簇为0xFFFFFFF,表示簇链结束。即此文件仅占用3号簇
3号表项
计算该文件所在扇区,1719+(3-2)*2=1721扇区,转至1721扇区,即可看到文件内容
47
根目录总为MFT表项中第5项,文件名为“.”,根目录内容为文件索引
48
查看目录 内容需要 看其A0属 性数据流
A0属性(index)
数据流
49
一个根目录 的例子
50
15
查看-模板管理器-Boot Sector FAT32,应用
16
分区大小
17
前面所看到分区内部的内容(引导程序\BPB参数表,实际数据)均为格式化操作 产生的,分区操作仅在主引导记录中修改分区表项,另外一点需要注意,分区操作 将清空分区的第一扇区数据。所以当我们把分区删除后在原位置重新建立分区后, 原来数据不可访问。
进入计算机管理-磁盘管理,将实验磁盘上的第一个FAT32分区删除,然后在原来 位置从新建立一个分区,参数默认,注意不要选格式化,然后我们在资源管理器 中访问,提示分区未被格式化。因此分区原来是FAT32,只是DBR丢失,所以我 们可以使用备份DBR恢复即可。注意NTFS备份DBR在此分区的最后一个扇区。
第13、14、 15、16字节
本分区的总扇区数
8
活动分区标志
分区类型标志
分区起始扇区
分区大小
分区表项实例: 0x01BE:80-活动分区 0x01C2:0B FAT32分区 0x01C6-0x01C9:0x000000003F=63扇区,该分区前有63扇区,即分区起始扇区为63 (扇区编号从0开始),前63扇区一般为系统保留扇区。 0x01CA-0x01CF:0x00032F8E=208782扇区,该分区有208782扇区,即分区大小为 208782*512字节=106896384字节≈106M