熟悉EBR、DBR分区表结构

本实验是XMU网安系小学期电子数据擦除与恢复技术实验三,主要是学会看EBR和DBR分区表的结构。使用的软件有Winhex和DiskGenius。

一、实验目的

理解EBR、DBR在磁盘中的作用;
熟悉EBR、DBR分区表结构,能熟练找到磁盘中的EBR分区表。

二、实验平台

操作系统:Windows X;
VHD虚拟磁盘

三、实验要求

  1. 创建VHD虚拟磁盘;
  2. 创建虚拟磁盘500MB;
  3. 创建主分区80MB FAT32;
  4. 创建主分区100MB NTFS;
  5. 创建主分区50MB FAT32;
  6. 剩余空间创建扩展分区
  7. 创建逻辑分区90MB FAT32
  8. 创建逻辑分区110MB FAT32
  9. 剩余空间创建逻辑分区 FAT32
  10. 请找出以上分区的MBR、EBR、DBR所在的扇区,并在以下表格中标记出相关扇区数的十进制值
MBR 文件系统类型 EBR DBR 扇区数 保留扇区 FAT表长度
主分区 分区1 FAT32
分区2 NTFS
分区3 FAT32
扩展分区 逻辑分区1 FAT32
逻辑分区2 FAT32
逻辑分区3 FAT32

#那就开始愉快地操作吧!
首先按要求创建VHD创建虚拟磁盘
右键此电脑打开管理
1.png
打开磁盘管理,选择创建VHD
2.jpg
3.png
接着打开DiskGenius创建创建主分区80MB FAT32、100MB NTFS、50MB FAT32
点击新建分区
4.png
5.png
6.png
接着用剩余空间创建扩展分区
7.png
点击保存更改(一定要点)!全部点“是”“是”“是”【滑稽.jpg】
接着在扩展分区创建逻辑分区90MB FAT32、110MB FAT32,用剩余空间创建逻辑分区 FAT32
8.png
这边只能选择逻辑分区
全部建完后保存更改!!!
效果如下
9.png
###打开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

下图是第一分区表项的各项信息
分区表.png

共16字节,80是引导标记符,2 3 4字节是CHS起始寻址地址(无用)5字节是分区类型值(83 linux分区 07 NTFS)6 7 8字节是CHS寻址方式扇区总数(无用) ,9 10 11 12字节是分区起始扇区数 ,13 14 15 16字节是分区总扇区数
10.png
可以看到2这一排对下来的0B 07 0B 05,分别表示FAT32 NTFS FAT32 扩展分区这四个分区, 然后可以看到9-12的各个分区的分区起始扇区,13-16是各个分区的分区总扇区数,(PS:选取数据要从右往左,采用大头位序法(数据的高位是放在内存的低位)),可以发现,第二个分区的起始扇区是第一个分区的起始扇区+第一个分区的分区总扇区数,其他分区亦是如此。


由于硬盘仅仅为分区表保留了64个字节的存储空间,而每个分区的参数占据16个字节,故主引导扇区中总计只能存储4个分区的数据,最多只能建立四个分区!但是微软想到一个绝妙的方案,它让前三个分区都做主分区,后一个分区做扩展分区,然后可在扩展分区建新的逻辑分区,实现建立多个分区
EBR.png
扩展分区结构.png

EBR.png
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位置是可以直接查看的!
分区间隙.png
注意Winhex这个大小为分区间隙,其实这个分区间隙的第一个扇区就是EBR所在扇区。其地址可以通过点击分区间隙通过左下角扇区位置查看,也可以直接看分区间隙后的链接地址。

MBR最大可以识别最大2TB的分区,GPT可以识别最大256TB的分区

接下来看文件系统结构

对于文件系统,用扇区这个最小单位来衡量已经过于庞大,而是用簇来衡量,文件系统的最小单位是簇。
扇区:是硬盘的最小单位
簇:是文件系统的最小单位

若簇的大小是4kb=4096字节=8个扇区(不同文件不一定一样)
18kb的文件要5个簇存

16.png
文件残留区:删除文本后剩下的空间
由上图可以看到,虽然只有3字节,但是却占用4kb的空间,除3kb外剩余的空间被称为文件残留区

FAT32文件系统主要结构.png

上图FAT表作用:指向文件存储位置,fat32有两个完全相同的FAT表(另一个作为副本)

FAT32DBR.png

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

FAT表.png

##熟悉以上内容于是我们可以开始愉快地填表啦
17.png
18.png
19.png
20.png
21.png

22.png

MBR 文件系统类型 EBR DBR 扇区数 FAT表前保留扇区数 FAT表长度(字节数)
主分区 分区1 FAT32 2048 00028000h=8021180*2^{11} 38 027Bh*512=325120
分区2 NTFS
分区3 FAT32
扩展分区 逻辑分区1 FAT32 473088 475136
逻辑分区2 FAT32
逻辑分区3 FAT32

填了一个,剩下自己填吧。。。
#【明】