本实验是XMU网安系小学期电子数据擦除与恢复技术实验三,主要是学会看EBR和DBR分区表的结构。使用的软件有Winhex和DiskGenius。
一、实验目的
理解EBR、DBR在磁盘中的作用;
熟悉EBR、DBR分区表结构,能熟练找到磁盘中的EBR分区表。
二、实验平台
操作系统:Windows X;
VHD虚拟磁盘
三、实验要求
- 创建VHD虚拟磁盘;
- 创建虚拟磁盘500MB;
- 创建主分区80MB FAT32;
- 创建主分区100MB NTFS;
- 创建主分区50MB FAT32;
- 剩余空间创建扩展分区
- 创建逻辑分区90MB FAT32
- 创建逻辑分区110MB FAT32
- 剩余空间创建逻辑分区 FAT32
- 请找出以上分区的MBR、EBR、DBR所在的扇区,并在以下表格中标记出相关扇区数的十进制值
MBR | 文件系统类型 | EBR | DBR | 扇区数 | 保留扇区 | FAT表长度 | |
---|---|---|---|---|---|---|---|
主分区 | 分区1 | FAT32 | |||||
分区2 | NTFS | ||||||
分区3 | FAT32 | ||||||
扩展分区 | 逻辑分区1 | FAT32 | |||||
逻辑分区2 | FAT32 | ||||||
逻辑分区3 | FAT32 |
#那就开始愉快地操作吧!
首先按要求创建VHD创建虚拟磁盘
右键此电脑打开管理
打开磁盘管理,选择创建VHD
接着打开DiskGenius创建创建主分区80MB FAT32、100MB NTFS、50MB FAT32
点击新建分区
接着用剩余空间创建扩展分区
点击保存更改(一定要点)!全部点“是”“是”“是”【滑稽.jpg】
接着在扩展分区创建逻辑分区90MB FAT32、110MB FAT32,用剩余空间创建逻辑分区 FAT32
这边只能选择逻辑分区
全部建完后保存更改!!!
效果如下
###打开Winhex,点击工具,打开磁盘,打开已建立的虚拟磁盘
在扇区0可以看到整个磁盘的MBR(PS:MBR既可以指第一个扇区,又可以指第一个扇区的前446字节,要根据上下文分析)
补充知识
MBR:又称主引导记录,位于0柱面0磁道1扇区,是整个磁盘的第一个扇区(一个扇区是512字节),整个磁盘的第一个512字节,是【数据恢复的基础】
一个硬盘只有一个MBR,一个MBR对应三部分:
1、引导代码(MBR):前446字(节无论是哪种系统,都差不多)
2、磁盘分区表(DPT): 64字节(80-55前之间,不同系统有区别)
3、2字节的结束标志: 55AA
下图是第一分区表项的各项信息
共16字节,80是引导标记符,2 3 4字节是CHS起始寻址地址(无用),5字节是分区类型值(83 linux分区 07 NTFS),6 7 8字节是CHS寻址方式扇区总数(无用) ,9 10 11 12字节是分区起始扇区数 ,13 14 15 16字节是分区总扇区数
可以看到2这一排对下来的0B 07 0B 05,分别表示FAT32 NTFS FAT32 扩展分区这四个分区, 然后可以看到9-12的各个分区的分区起始扇区,13-16是各个分区的分区总扇区数,(PS:选取数据要从右往左,采用大头位序法(数据的高位是放在内存的低位)),可以发现,第二个分区的起始扇区是第一个分区的起始扇区+第一个分区的分区总扇区数,其他分区亦是如此。
由于硬盘仅仅为分区表保留了64个字节的存储空间,而每个分区的参数占据16个字节,故主引导扇区中总计只能存储4个分区的数据,最多只能建立四个分区!但是微软想到一个绝妙的方案,它让前三个分区都做主分区,后一个分区做扩展分区,然后可在扩展分区建新的逻辑分区,实现建立多个分区
EBR扇区和MBR非常类似,一个EBR扇区对应一个逻辑分区,其有用部分仅有其DPT(即64字节区)前两个表项,第一个表项表示本扩展分区(图中逻辑驱动器P)的起始地址和扇区数量,但是该地址为相对偏移,实际的起始扇区为本扇区的实际地址加上相对偏移量,这个起始扇区其实是第一个逻辑驱动器的DBR扇区,第二个表项记录了下一个扩展分区(逻辑驱动器Q)的EBR扇区的起始地址和扇区总数量。每个逻辑分区的DBR扇区(即用Winhex直接点击分区跳转到的扇区)之前都有一个EBR扇区,对于最后一个扇区,其EBR仅有第一表项,因为它没有后继EBR扇区,也就没有所谓的第二表项。
各个逻辑分区用类似链表的EBR扇区链接起来,不受四个分区表项的限制,因此可以创建超过四个的(逻辑)磁盘分区。
#寻找逻辑分区EBR的方法:
1)利用计算公式,在MBR分区表找到扩展分区的起始扇区,这个起始扇区就是第一个扩展分区的EBR所在扇区,每个EBR均有也仅有两个有效表项,上面有提到,第二个表项记录着下一个EBR的起始位置,但是该位置是相对偏移地址,需要加上当前EBR所在扇区方可的到下一个EBR的起始扇区,以此类推。
2)在上课做上机实验时,我突然发现邻座同学填EBR所在扇区位置很快,原来EBR位置是可以直接查看的!
注意Winhex这个大小为分区间隙,其实这个分区间隙的第一个扇区就是EBR所在扇区。其地址可以通过点击分区间隙通过左下角扇区位置查看,也可以直接看分区间隙后的链接地址。
MBR最大可以识别最大2TB的分区,GPT可以识别最大256TB的分区
接下来看文件系统结构
对于文件系统,用扇区这个最小单位来衡量已经过于庞大,而是用簇来衡量,文件系统的最小单位是簇。
扇区:是硬盘的最小单位
簇:是文件系统的最小单位
若簇的大小是4kb=4096字节=8个扇区(不同文件不一定一样)
18kb的文件要5个簇存
文件残留区:删除文本后剩下的空间
由上图可以看到,虽然只有3字节,但是却占用4kb的空间,除3kb外剩余的空间被称为文件残留区
上图FAT表作用:指向文件存储位置,fat32有两个完全相同的FAT表(另一个作为副本)
DBR只看前三行:
1)在DBR前有三个字节代表文件系统跳转指令:
FAT32文件系统跳转指令:EB 58 90
FAT16文件系统跳转指令:EB 3C 90
NTFS 文件系统跳转指令:EB 52 90
exfat 文件系统跳转指令:EB 76 90
2)各结构联系
第一个FAT表起始位置=当前位置+FAT表前保留扇区数
第二个起始位置=第一个+每个FAT表扇区数
数据区起始位置=第二个+每个FAT表扇区数
3)文件系统总扇区数
由上图可知是4个字节,由此可知其最大可有FF FF FF FFh个扇区=fffffffh$\times$512字节=2047GB<2TB,所以fat32文件系统最大容量不可超过2TB
##熟悉以上内容于是我们可以开始愉快地填表啦
MBR | 文件系统类型 | EBR | DBR | 扇区数 | FAT表前保留扇区数 | FAT表长度(字节数) | |
---|---|---|---|---|---|---|---|
主分区 | 分区1 | FAT32 | 无 | 2048 | 00028000h= | 38 | 027Bh*512=325120 |
分区2 | NTFS | ||||||
分区3 | FAT32 | ||||||
扩展分区 | 逻辑分区1 | FAT32 | 473088 | 475136 | |||
逻辑分区2 | FAT32 | ||||||
逻辑分区3 | FAT32 |
填了一个,剩下自己填吧。。。
#【明】