【实验目的】
1、了解硬盘逻辑结构;
2、了解MBR、FDT的结构和内容;
3、借助Winhex工具,能够计算分区大小,并通过修改分区表,找到丢失分区,完成硬盘分区表的修复,恢复硬盘数据。
【实验人数】
每组1人
【系统环境】
Windows,Winhex
【实验原理】
见实验一PPT,实验课堂讲解。
【实验步骤】
完成丢失分区恢复。
场景:误Ghost后的分区恢复。
经常有用户在使用Ghost做系统的时候操作失误,造成硬盘变成一个C盘,原来硬盘上的其他分区丢失,即整个硬盘变成一个分区,硬盘上其他分区及分区中的资料全部丢失。对Ghost不熟悉或者是对英语不太熟悉的用户很容易在还原系统的时候误操作,比如,在还原分区的时候这样操作:Local—Disk—From Inage.这样操作后,Ghost就认为是用户想把镜像文件还原到整个硬盘中,这样一来,软件就将之前某一个分区的镜像文件还原到整个硬盘中了,操作完成后,整个硬盘就只剩一个分区了。
利用Winhex打开待修复磁盘。
准备工作:
问题1:通过搜索引导区标志来查找第二个分区开始位置。 Winhex中搜索相关设置截图。
前面的字节全为0,后续的64个字节会分成四组,只有第一个16个字节有数据,满足条件的扇区如下图所示。
问题2:第一个分区的逻辑驱动器的大小是多少扇区?描述分析过程。
问题3:第二个分区的EBR在哪个扇区?也就是该扩展分区的开始扇区。
第二个分区起始地址为036E8E00,转换为十进制是5757 6960,一个扇区是512字节,所以起始扇区是57576960/512=112455。利用winhex验证:
问题4:为了重建分区表,查看找到的EBR,第二个分区的逻辑驱动器的开始扇区是多少?逻辑驱动器的大小是多少扇区?该分区大小是多少?
图1、恢复前
图2、恢复后
答:
倒数第一个字节:00017847,转为十进制:96327,驱动器的总扇区数
倒数第二个字节:0000003F,转为十进制:63,逻辑驱动器的起始扇区
分区大小通过上两个字段相加得到,为96327+63=96390个扇区。
修改分区表:将扩展分区的信息填入分区表,卸载并重新加载镜像,可以看到丢失的分区已经找到(硬盘共有2个分区)。(需验收。)
答:
分区表项一:分区原大小为208782,这里要减去扩展分区的大小即96390,所以修改后的数字为208782-96390=112392.
分区表项二:首先00表示非活动分区,117表示起始的磁头、扇区和柱面号,这个数值是通过第四问逻辑驱动器的开始扇区为112455+63 = 112518换算的;05表示分区类型为扩展分区;之后是结束的磁头、扇区、柱面号;112455是从第三问中该扩展分区的开始扇区所得;之后分区大小96390是由第四问所得。
n00:表示非活动分区,也就是不能作为系统引导。
n01:表示起始磁头号为1
n0001:表示起始扇区为1,起始柱面为0
n0B:定义分区类型,表示FAT32基本分区
nFE:表示结束磁头号FE
n0C3F:表示结束的扇区号和柱面号
n0000003F:表示相对扇区数为63。
n00032F8E:表示总扇区数为208782。
保存之后,重新装载
恢复后: