一、实验室名称:主楼实验室A2-412                 

二、实验项目名称:分区恢复和NTFS文件恢复试验

三、实验学时:6学时

四、实验原理:

借助fdisk、diskgen软件对磁盘分区进行删除和恢复,使用工具软件WINHEX对指定的文件进行定位、分析,以及恢复。

五、实验目的:

1)掌握使用软件进行磁盘的分区恢复技术

2)了解NTFS文件系统在磁盘上的存储映像和它在系统安全中的地位和作用。

3)初步掌握NTFS的文件恢复技术

六、实验内容:

磁盘分区恢复实验

1)在VMware上安装Windows XP。

2)使用启动盘中的fdisk破坏(删除)磁盘分区。

3)使用启动盘中的DiskGen恢复磁盘分区。

NTFS的文件恢复实验

1)在Windows XP的NTFS格式的磁盘中,创建一个简单文件,使用WINHEX进行分析。

2)使用WinHex软件进行文件恢复操作练习。

七、实验器材(设备、元器件):

PC微机一台(至少具有一个FAT格式磁盘分区),VMware Workstation6.0虚拟机软件,Windows XP for VMWare映像安装文件,Fdisk,DiskGen,WinRAR,WinHex软件。

八、实验步骤:

步骤一、在虚拟机上安装Windows XP和工具软件。

1.创建虚拟机,虚拟磁盘空间不少于4GB,并具有光盘驱动器和软盘驱动器。

2.使用提供的Windows XP ISO映像安装盘(TOMATO_WINXP_SP2.iso),在虚拟机上安装Windows XP。

3.依据安装提示,设置磁盘分区。分3个区,均采用NTFS格式(其中安装Windows XP的分区大小为2.5GB,其他两个分区大小自定)。

4.记录分区大小。

5.Windows XP安装完成后,采用快速格式化方式将其他逻辑磁盘格式化为NTFS磁盘。

6.安装实验所需工具软件WinRAR和WinHex。

ü  安装WinRAR压缩工具软件:使用Windows XP安装盘,在菜单中选择TOOLS目录,运行该目录下的WinRAR安装文件,在虚拟机上安装WinRAR。

ü  安装WinHex:将WinHex软盘映像文件(WinHex.IMA)拷贝到虚拟机中,使用WinRAR解压缩,安装后即可使用WinHex。

7.安装完毕后使用VMware快照和克隆功能,备份试验系统。

步骤二、使用Fdisk删除分区

1.使用启动盘(Start.flp)启动备份虚拟机系统。

2.使用Fdisk删除硬盘的分区:在Fdisk中选择删除Non-Dos分区菜单,将安装Windows XP系统的磁盘分区删除。

3.查看是否能够启动Windows XP。

步骤三、使用DiskGen恢复分区,恢复系统

1.使用启动盘(Start.flp)引导备份虚拟机系统.。

2.运行ctmouse命令,启用鼠标支持。

3.运行DiskGen软件。

4.重建分区。

5.设定活动分区。

6.重新运行,检查Windows XP能否正常启动。

步骤四、查找文件

1.在一个NTFS格式的磁盘中,创建一个目录,并在该目录中创建一个大于1KB的文本文件(*.txt文件),使用WinHex查找相关MTF文件项。

2.根据MFT文件项信息,获取文件的运行或数据存储位置。

3.使用WinHex读取该文件对应的扇区,查看扇区存储的文件内容。

步骤五、文件删除原理

1.删除生成的目录和文本文件。

2.使用WinHex,查看MFT,对比已删除文件在MFT中所对应的状态信息的变化。

步骤六、文件恢复

1.在NTFS格式的磁盘中,使用WINHEX进行文件恢复操作练习。

2.记录所使用的主要磁盘参数。

3.简叙恢复操作的主要步骤。

九、实验数据及结果分析:

任务一:使用Fdisk删除分区

1.安装Windows XP系统,安装时,将磁盘分为三个NTFS分区。

2.使用快照和克隆功能备份安装的Windows XP系统。

3.退出Windows XP后,使用启动盘引导系统,使用fdisk删除分区,记录(拷贝屏幕输出)删除分区的步骤,并对其进行说明。

4.验证Windws XP能否启动。

这里把软盘的启动连接去掉,启动系统。

Fdisk删除磁盘分区后,xp无法启动。

任务二:使用DiskGen恢复分区,恢复系统

1.记录(拷贝屏幕输出)分区信息。

2.记录DiskGen恢复分区的步骤。

Ctmouse:鼠标支持。

这里点击备份分区表,图中会出现空行,以方便新建分区,并不备份。

这里尤为重要,千万不能删除引导目录,这是原有的dbr。

4.进入Windows XP,确认分区是否被恢复。

Xp启动成功。

任务三:查找NTFS文件

1、创建一个“123”目录,并在该目录下,创建一个”txt”文本文件(文件大小>1KB)

2、使用WinHex查找目录和文件在MFT的相关目录项,记录并做分析。

下面是磁盘分区的dbr。

由0x0d得到每簇扇区数为4,由0x30得到$MFT的起始簇号为2ad0b,故起始扇区号为4*2ad0b=701484(十进制)。

下面可以看到123.txt的文件记录,可以右键选择看文件内容或文件记录。

可以看到该文件有3个属性记录,30属性里可以看到文件名,80属性里可以看到非常驻,文件大小,runlist等。看文件内容可以通过winhex提供的功能,也可以在0x1569796A~0x1569796c获得数据开始簇号为2ad09,结合一簇4扇区求得文件位置。

3、删除文件和目录,使用WinHex查找目录和文件在MFT的相关目录项,记录并做分析。

用shift+delete快捷键彻底删除123.txt后,查看对应mft记录,对比之前记录,可发现,唯一变化的地方只有0x15697816-0x15697817由1改为0,此处表文件状态。

任务四:恢复文件

记录并说明对目录和文本文件进行恢复过程,并对MFT相关项进行分析。

1.使用WinHex查找文件项,使用recover进行文件恢复。

2.使用WinHex查找修复的目录和文件在MFT的相关目录项,记录并做分析。

我的做法是,利用winhex,查找123.txt的mft记录,进而由起始簇进入文件内容处,选中并复制粘贴到一个新建文件里,记为noname.txt,显然,与原文件内容相同,恢复成功。

十、实验结论:

Ntfs与fat差别很大,里面所有东西全以文件的形式存在,mft文件记录尤为重要,通过mft可以定位每一个文件。

十一、总结及心得体会:

通过本实验,知道了fdisk跟diskgen的用法,了解了ntfs的文件存储原理,果然跟fat差别很大。自己对B+树学之不深,仍待提高。亲自定位文件,方知ntfs的复杂,不过这样的文件系统,打破了fat的很多局限,还有efs等结构,收获匪浅。

十二、对本实验过程及方法、手段的改进建议:

多些b+树方面的实验内容还是很好的。

分区恢复和NTFS文件恢复试验的更多相关文章

  1. linux下rm -r误删NTFS文件恢复方法

    一时疏忽,手一抖,把整个挂载的F盘删了一半!顿时傻眼!! 被删的F盘是Windows下NTFS分区,在Ubuntu12.04中挂载了F盘,使用rm命令时粗心大意,误删了一半的数据. 血的教训告诉我们, ...

  2. (Les16 执行数据库恢复)-重做日志文件恢复

    丢失重做日志文件         丢失了重做日志文件组中的某个成员,并且组中至少还有一个成员:             -不会影响实例的正常操作.             -预警日志中会收到一条信息, ...

  3. NTFS文件系统结构及文件恢复

    结构部分参考了 https://www.cnblogs.com/mwwf-blogs/archive/2015/05/04/4467687.html 以及P老师的课件.  文件恢复参考: https: ...

  4. linux extundelete 删除文件恢复

    extundelete是基于Linux的一个数据恢复工具,它通过分析文件系统的日志,解析出所有文件的inode信息,从而可以恢复Linux下主流的ext3,ext4文件系统下被误删除的文件. [问题案 ...

  5. TestDisk 数据恢复 重建分区表恢复文件-恢复diskpart clean

    source:http://www.cgsecurity.org/wiki/TestDisk_CN TestDisk 是一款开源软件,受GNU General Public License (GPL ...

  6. linux下恢复误删除的文件方法(ext2及ext3)

     linux下恢复误删除的文件方法(ext2及ext3) 2009-12-19 15:23:47 分类: LINUX 如果是ext2文件系统的,直接用debugfs是可以恢复出来的,但对于ext3,d ...

  7. 云服务器 ECS Linux 误删除文件恢复方法介绍

    云服务器 ECS Linux 下,rm -rf  意味着一旦删除的文件是无法挽回的.但如果在没有文件覆盖操作的前提下,可以先尝试相关方式进行文件恢复. 本文对此进行简要说明. https://help ...

  8. MySQL表结构为InnoDB类型从ibd文件恢复数据

    客户的机器系统异常关机,重启后mysql数据库不能正常启动,重装系统后发现数据库文件损坏,悲催的是客户数据库没有进行及时备份,只能想办法从数据库文件当中恢复,查找资料,试验各种方法,确认下面步骤可行: ...

  9. 【转】文件恢复神器extundelete

    参考博文: 1.Linux中VMware虚拟机增加磁盘空间的扩容操作 http://www.net130.com/CMS/Pub/special/special_virtual/special_vir ...

随机推荐

  1. myeclipse web servelet调试输入的中文在TOMCAT服务器的命令行显示为????

    B 问题:myeclipse web servelet调试输入的中文在TOMCAT服务器的命令行显示为???? 解决:调整JSP页面编码:gb2312--->utf-8

  2. HDU - 4676 :Sum Of Gcd (莫队&区间gcd公式)

    Given you a sequence of number a 1, a 2, ..., a n, which is a permutation of 1...n. You need to answ ...

  3. 深入__proto__和prototype的区别和联系

    前话 有一个一个装逼的同事,写了一段代码 function a(){} a.__proto__.__proto__.__proto__ 然后问我,下面这个玩意a.__proto__.__proto__ ...

  4. Visual Studio2010 支持MVC4开发

    最近的项目有一个维护的版本使用的是Visual Studio2010+MVC4开发的,记录一下软件的开发环境 ============================================= ...

  5. C语言 scanf()和gets()函数的区别

    C语言 scanf()和gets()函数的区别 1.相同点:scanf( )函数和gets( )函数都可用于输入字符串 2.不同点:两者在功能上有所区别,具体区别如下: 要实现如下需求“从控制台输入字 ...

  6. php str_replace替换特殊字符

    替换单引号,双印,正斜杠,反斜杠等等,and,select等等 <?php $str = 'a\bc"1\'2d4/e/fgh\\\abc\\//a"bandan\'and' ...

  7. MySQL binlog日志优化

    mysql中日志类型有慢查询日志,二进制日志,错误日志,默认情况下,系统只打开错误日志,因为开启日志会产生较大的IO性能消耗.   一般情况下,生成系统中很少打开二进制日志(bin log),bin ...

  8. 随笔:关于 FastAdmin ueditor 插件 中的 rand mt_rand mt_getrandmax 问题

    随笔:关于 FastAdmin ueditor 插件 中的 rand mt_rand mt_getrandmax 问题 问题来源 一位小伙伴在使用 Ueditor 插件时出错,因为用的是 php7.1 ...

  9. python实现判断一个字符串是否是合法IP地址

    #!usr/bin/env python #encoding:utf-8 ''''' __Author__:沂水寒城 功能:判断一个字符串是否是合法IP地址 ''' import re def jud ...

  10. 浅析网站建设的PHP,JAVA语言分析

    编程绝对是一件不轻松的活儿.随着电子商务在国内成功的推广,京东.苏宁等大型B2C综合网上商城的成功运营,一批批以产业分类的独立网店也如火如荼发展起来.伴随着这股热潮,网店系统等相关衍生开店平台行业也出 ...