一、实验室名称:主楼实验室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. BootStrap使用

    BootStrap简单使用 <深入理解BootStrap>这本书对BootStrap进行了全面的讲解包括设计思想以及源码解析对没有接触过的很有帮助 BootStrap可以说是最简单的一类框 ...

  2. Jenkins用户权限管理

    一.插件安装 插件:Role-based Authorization Strategy版本:2.3.2 二.全局安全配置 进入Jenkins后点击系统管理进入全局安全配置 当插件安装好的时候,授权策略 ...

  3. New Concept English Two 21 55

    $课文53  触电的蛇 544. At last firemen have put out a big forest fire in California. 消防队员们终于扑灭了加利福尼亚的一场森林大 ...

  4. myeclipse单步调试

    如何进行myclipse的单步调式与跟踪?希望大虾们详细点,多谢. 打断点,然后运行,进debug试图,按F6执行一行,按F5是钻进去执行 追问 朋友,能详细点吗? 本人是初学 回答 如图 如若成功请 ...

  5. java并发编程之二--CountDownLatch的使用

    CountDownLatch类 允许一个或多个线程等待直到在其他线程中执行的一组操作完成的同步辅助. CountDownLatch能够使一个线程在等待另外一些线程完成各自工作之后,再继续执行.使用一个 ...

  6. 斯特灵(Stirling)数

    http://zh.wikipedia.org/wiki/%E6%96%AF%E7%89%B9%E7%81%B5%E6%95%B0 第一类:n个元素分成k个非空循环排列(环)的方法总数 递推式:s(n ...

  7. VirtualBox只能生成32位虚拟机

    /************************************************************************* * VirtualBox只能生成32位虚拟机 * ...

  8. python将字符转换为字典

    参考文章Python 如何将字符串转为字典 注意: 使用json的时候一定要注意是loads而不是load 即:user_dict = json.loads(user_info) 注意: 用eval( ...

  9. Redis3.0集群

    Redis集群介绍 Redis 集群是一个提供在多个Redis间节点间共享数据的程序集. Redis集群并不支持处理多个keys的命令,因为这需要在不同的节点间移动数据,从而达不到像Redis那样的性 ...

  10. 20155323 2016-2017-2 《Java程序设计》第8周学习总结

    20155323 2016-2017-2 <Java程序设计>第8周学习总结 教材学习内容总结 日志API:使用日志的起点是Logger类,要取得Logger类,必须使用Logger的静态 ...