TestDisk 数据恢复 重建分区表恢复文件-恢复diskpart clean
source:http://www.cgsecurity.org/wiki/TestDisk_CN
TestDisk 是一款开源软件,受GNU General Public License (GPL v2+)条款保护.
TestDisk:http://www.cgsecurity.org/wiki/TestDisk_CN
TestDisk 是一款强大 的免费数据恢复软件! 早期主要是设计用来在使用有缺陷的软件,病毒或人为误操作(如不小心删除分区表)导致的分区丢失后,帮助用户恢复丢失分区,或修复不能启动的磁盘。 用Testdisk来恢复分区表非常简单。
TestDisk支持以下功能:
- 修复分区表, 恢复已删除分区
- 用FAT32备份表恢复启动扇区
- 重建FAT12/FAT16/FAT32启动扇区
- 修复FAT表
- 重建NTFS启动扇区
- 用备份表恢复NTFS启动扇区
- 用MFT镜像表(MFT Mirror)修复MFT表
- 查找ext2/ext3/ext4备份的SuperBlock
- 从FAT,NTFS及ext2文件系统恢复删除文件
- 从已删除的FAT,NTFS及ext2/ext3/ext4分区复制文件.
Contents
[hide]
问题举例
我们有一个容量 36GB 的硬盘,包含着3个分区。 但是很不幸地;
- NTFS主分区的boot扇区损坏
- 一个逻辑 NTFS 分区被意外删除
本 恢复范例 引导你一步一步地用TestDisk通过以下途径,恢复这些 '丢失的' 分区:
- 重写毁坏的NTFS boot扇区
- 恢复意外删除的逻辑NTFS分区
我们可以一模一样地照着下面的步骤完成对FAT32分区的恢复(不是NTFS)。 这里也有其他的 恢复范例。对于有关 FAT12, FAT16, ext2/ext3, HFS+, ReiserFS 和其他分区类型的信息,请参阅 运行 TestDisk 程序.
唯一需要的条件:
- TestDisk 需要用管理员权限来运行。
使用 TestDisk 的重点:
- 用
方向键和上一页/下一页按键在TestDisk 中导航。- 然后, 按
Enter键确认你的选择.- 若要返回前一页或者退出TestDisk, 按 q (Quit) 键。
- 若要在 TestDisk 下保存修改,按
y(Yes) 或者Enter键来确认- 如果确实要把分区信息写入主引导记录(MBR),应该选择 "Write" 选项并按
Enter键。
症状
如果硬盘的主分区容纳着一个操作系统,那么由于毁坏的boot扇区,这个操作系统很可能不再能启动。如果这个硬盘是第二(数据)驱动器,你可以把它接到另一台计算机上(通常接到CD/DVD的接口),然后下面的症状就会被观察到:
- Windows 资源管理器 或 磁盘管理器 把第一个主分区显示为 raw (没有格式化) 并且 Windows 提示:
The drive is not formatted, do you want to format it now?(该驱动器没有格式化,现在格式化它吗?)
[ 不应该 在不知道为什么的情况下格式化它!] - 一个逻辑卷不见了。 在 Windows 资源管理器中, 这个逻辑卷不再可用。 Windows 磁盘管理器(Disk Management Console) 仅仅在这个逻辑卷的位置显示 "未分配的空间" 。
运行 TestDisk 程序
如果 TestDisk 还没有被安装, 可以从这里下载 TestDisk Download。然后解压缩这个归档文件,包括子文件夹。
若要从 硬盘,U盘,智能卡等设备中恢复丢失的分区 或者 修复文件系统,你需要足够的权限来访问这个物理设备。
在 DOS 下, 执行 TestDisk.exe
在 Windows 下, 从一个处于管理员组的账户打开 TestDisk (ie testdisk-6.13/testdisk_win.exe) . 在 Vista 下, 右击 testdisk_win.exe 然后 "以管理员身份运行" TestDisk.
在 Unix/Linux/BSD 下, 需要用 root 账户来运行 TestDisk (ie. sudo testdisk-6.13/testdisk_static)
在 MacOSX 下, 不过你不是 root, TestDisk (ie testdisk-6.13/testdisk) 将会在你的确认之后以sudo重新运行。
在 OS/2下, TestDisk 不能处理物理设备,只能处理磁盘镜像.很抱歉.
若要从一个媒体镜像中恢复分区或者修复一个文件系统镜像,执行
testdisk image.dd在一个raw磁盘镜像中进行处理testdisk image.E01从一个 Encase EWF 镜像中恢复文件testdisk 'image.???'如果 Encase 镜像被分割成若干文件
若要修复一个 TestDisk没有列出来的文件系统, 执行 testdisk device, 也就是说,
testdisk /dev/mapper/truecrypt0或者testdisk /dev/loop0从一个 TrueCrypt 加密分区中 修复 NTFS or FAT32 boot 扇区文件. 同样的方法对于使用 cryptsetup/dm-crypt/LUKS 加密的分区也管用.testdisk /dev/md0to repair a filesystem on top of a Linux RAID device.
新建日志
![]() |
- 选择 Create 来让 Testdisk 新建一个日志文件( log file) ,里边包含了一些技术信息和消息, 除非你要往一个日志里追加信息 log 或者 你从只读存储器里执行 TestDisk 而且必须在别的地方建立日志 log。
- 选择 None 如果你不想让过程中的细节和消息记录到日志文件里 log file (比如当 Testdisk 是在只读位置执行的时候,这很有用).
- 按 Enter 键以继续.
选择磁盘
所有的硬盘都应该能被TestDisk检测到并且辅以正确的大小列出来:
![]() |
- 用 上/下 键 来选择丢失分区的硬盘。
- 按 Enter 键继续。
If available, use raw device /dev/rdisk* instead of /dev/disk* for faster data transfer.
选择分区表类型
TestDisk 会显示分区表类型。
![]() |
- 选择正确的分区表类型 - 在 TestDisk 自动检测分区表类型之后,一般预设的那个值是正确的。
- 按 Enter 键继续。
当前的分区表状态
TestDisk 显示这个菜单的时候 (参见 TestDisk Menu Items).
![]() |
- 用预设的“analyze”(分析)选项来检查当前的分区结构并搜索丢失的分区。
- 分析过程中按 Enter 键继续。
然后,当前的结构就会被列出来。 接下来就可以在当前的分区结构中检查丢失或错误的分区了。
![]() |
第一个分区显示了两次,它指向了一个毁坏的分区或一个无效的分区表入口。
无效的 NTFS boot 指向了一个错误的 NTFS boot 扇区, 所以这是一个损坏的文件系统。
在扩展分区中,只有一个逻辑分区(分区标签为2)可用。 有一个逻辑分区不见了。
- 选 Quick Search (快速搜索)来继续。
快速搜索分区
| TestDisk displays the first results in real time. |
|
(click on thumb to display the image). |
在 Quick Search(快速搜索)的过程中, TestDisk 找到了两个分区,包括那个不见的逻辑分区(标签为Partition 3 )。
![]() |
- 高亮这个分区并按 p 来列出文件 (若要返回前一页,请按 q ).
这里所有的目录和文件都正确列出来了。
- 按 Enter 键继续。
保存分区表 还是要 寻找更多分区?
![]() |
- 当全部分区都可用的时候 并且数据已正确列出,应该选 Write 菜单项保存分区结构. 菜单项
Extd Partgives you the opportunity to decide if the extended partition will use all available disk space or only the required (minimal) space. - 当一个分区,第一个,仍然找不到, 高亮菜单项 深度搜索 (没有自动进行的时候) ,按 Enter 键继续.
有一个分区仍然找不到: 深度搜索
Deeper Search 深度搜索也会找寻 FAT32的备份boot扇区 以及 NTFS backup boot superblock, ext2/ext3 backup superblock 来查找更多的分区,
| 它将会扫描每一个柱面。 |
|
(click on thumb). |
深度搜索之后,结果会像下面这样显示出来:
第一个分区 "Partition 1" 被用 backup boot扇区 找到了。 屏幕上的最后一栏写着, "NTFS found using backup sector!" 还有分区尺寸。 分区2 "partition 2" 被显示了两次,而且大小不同。
显示为 D(eleted) 的分区将不会被恢复 如果您让它们这样显示出来。 两个状态为 D 的分区将会被删除,因为他们互相重叠了。您应该进行识别,以决定到底恢复哪一个分区。
![]() |
- 高亮第一个
Partition 2然后按 p 来列出其包含的数据。
| The file system of the upper logical partition (label Partition 2) is damaged |
|
(click on thumb). |
- 按 q 来返回前一页。
- 让这个文件系统损坏的分区
Partition 2标记上D(deleted). - 高亮下边的第二个分区
Partition 2 - 按 p 来显示内容。
![]() |
它起作用了,您的文件均被列出,您找到了正确的分区!
- Use the left/right arrow to navigate into your folders and watch your files for more verification
Note: FAT directory listing is limited to 10 clusters - 一些文件可能没有出现 但这并不影响恢复。
- Press q for Quit to go back to the previous display.
- The available status are Primary, * bootable, Logical and Deleted.
Using the left/right arrow keys, change the status of the selected partition from D(eleted) to L(ogical). This way you will be able to recover this partition.
| set partition to recover |
Hint: read How to recognize primary and logical partitions?
Note: If a partition is listed *(bootable) but if you don't boot from this partition, you can change it to Primary partition.
- 按 Enter 键继续。
恢复分区表
现在已经可以写入新的分区结构了。
注意: 扩展分区是自动设置的。 TestDisk 是用不同的分区结构来辨认它们的。
![]() |
- 如果 所有分区都被列出 ,当且仅当在这种情况下, 在 Write 处按 Enter 键, y 键和 OK.
至此, 这些分区就注册在了分区表里。
NTFS Boot扇区恢复
第一个分区的boot扇区(Partition 1)还是处于损坏状态。是时候该修复它了。 NTFS boot扇区的状态很糟糕,然而备份的boot扇区正常可用。 两个Boot扇区并不是完全一样的。
![]() |
- 选择Backup BS来拷贝备份的扇区覆盖到目标位置,按Enter确认, use
yto confirm and next OK.
更多有关于在TestDisk菜单下修复Boot扇区的信息 . 如下的信息会被显示:
![]() |
现在boot扇区和它的备份扇区都状态良好并且保持一致:NTFS boot扇区已经成功地恢复了!
- 按 Enter 退出.
![]() |
- TestDisk 显示 You have to restart your Computer to access your data(您需要重新启动您的计算机以使修改生效),所以按
Enter最后一次然后重新启动计算机吧。
恢复删除的文件
TestDisk 可以恢复
如果这不管用,或者对于其他文件系统,请尝试 PhotoRec,一个基于模式匹配的文件恢复工具。
返回 TestDisk主页
TestDisk 数据恢复 重建分区表恢复文件-恢复diskpart clean的更多相关文章
- 在 Linux 系统下使用 PhotoRec & TestDisk 工具来恢复文件
当你在系统中有意或无意地使用 shift + delete 组合键.删除选项,或是清空回收站的方式来删除一个文件时,该文件的内容并没有从硬盘(或是其它存储设备)上直接销毁. 它仅仅是从系统的目录结构中 ...
- 分区恢复和NTFS文件恢复试验
一.实验室名称:主楼实验室A2-412 二.实验项目名称:分区恢复和NTFS文件恢复试验 三.实验学时:6学时 四.实验原理: 借助fdisk.diskgen软件对磁 ...
- 磁盘存储结构与文件恢复实验(FAT文件系统)
实验地点:主楼A2-412 一.实验室名称:主楼实验室A2-412 二.实验项目名称:磁盘存储结构与文件恢复实验 三.实验学时:6学时 四.实验原理: 在Debug环 ...
- 【MySQL】InnoDB引擎ibdata文件损坏/删除后使用frm和ibd文件恢复数据
参考:http://my.oschina.net/sansom/blog/179116 参考:http://www.jb51.net/article/43282.htm 注意!此方法只适用于innod ...
- 云服务器 ECS Linux 误删除文件恢复方法介绍
云服务器 ECS Linux 下,rm -rf 意味着一旦删除的文件是无法挽回的.但如果在没有文件覆盖操作的前提下,可以先尝试相关方式进行文件恢复. 本文对此进行简要说明. https://help ...
- Oracle非重要文件恢复,redo、暂时文件、索引文件、password文件
增量备份的应用在recovery阶段.不再restore阶段 了解数据库设置表: SQL>desc database_properties Name ...
- 【转】文件恢复神器extundelete
参考博文: 1.Linux中VMware虚拟机增加磁盘空间的扩容操作 http://www.net130.com/CMS/Pub/special/special_virtual/special_vir ...
- sql数据库恢复 文件丢失误删除 误格式化置疑报错修复 数据库置疑修复总结/SQL SERVER 2000/2005/2008/2008R2
数据库置疑的原因会有多种多样,不同的问题采用的步骤也会有所不同,以下的步骤不能适用所有的情况,但包括了一些基本的步骤. 数据库置疑是指数据库内部处于不一致的状态,很有可能会有数据丢失.我们推荐您从做数 ...
- 数据恢复:AMDU数据抽取恢复
今天我们通过一则真实的案例来认识oracle 自带工具AMDU,无需将磁盘组mount即可实现数据分析,轻松进行数据恢复.某日,我们收到了一则香港用户ASM破坏案例,请求数据恢复.灾难描述:这则案例是 ...
随机推荐
- 如何查看一个网页特定效果的js代码(动画效果可js和css)(页面可以看到js的源代码)
如何查看一个网页特定效果的js代码(动画效果可js和css)(页面可以看到js的源代码) 一.总结 1.动画效果可能是 CSS 实现的,也可能是 JS 实现的. 2.直接Chrome的F12调试即可, ...
- 忙里偷闲( ˇˍˇ )闲里偷学【C语言篇】——(8)枚举、补码
一.枚举 # include <stdio.h> enum WeekDay //定义了一个数据类型(值只能写以下值) { MonDay, TuesDay, WednesDay, Thurs ...
- ant脚本中设置环境变量
http://blog.csdn.net/quqi99/article/details/5329841
- 数据局部性(data locality)
信息处理的典型模式是,将所有数据项视为一个集合,并将其组织为适宜的数据结构(或者说使用适宜的数据结构对之进行存储以及组织),进而借助操作接口高效访问. 为了考查和评价各操作接口的效率,除了从最坏情况的 ...
- Android 判断软键盘弹出并隐藏的简单完美解决方案
最近项目中有一个编辑框,下面是个ListView.在触发编辑框弹出软键盘后,ListView还能滑动,并且ListView的item还能响应单击.这样的体验效果很不好.于是便想在滑动或单击item时判 ...
- asp.net core2.1 部署centos7/linux系统 -- 安装部署(一)
原文:asp.net core2.1 部署centos7/linux系统 -- 安装部署(一) 1.安装dotnet sdk(添加产品秘钥与yum源) 添加yum源:sudo rpm -Uvh htt ...
- Delphi 7验证XML合法性(利用DTD、XSD)
拥有正确语法的XML被称为“形式良好”的XML.通过DTD验证的XML是“合法”的XML.DTD(文档类型定义)的作用是定义XML 文档的合法构建模块.它使用一系列的合法元素来定义文档结构.XML S ...
- Fastjson 序列化,反序列化Map对象排序问题(字符串转map,map转字符串)
背景 记录项目中遇到的 关于fastjson jsonobject转string乱序,string转jsonObject乱序问题的解决方案 fastJson issues 问题来源描述参见: http ...
- mysql半同步复制实现
mysql半同步复制和异步复制的区别如上述架构图所看到的:在mysql异步复制的情况下.Mysql Master Server将自己的Binary Log通过复制线程传输出去以后,Mysql Mast ...
- Tricks(四十七)—— 布尔矩阵(0-1矩阵)取反
假定 X 是一个 0-1 元素构成的布尔矩阵,则对其取反,0 变成 1,1 变为 0(True 变为 False,False 变成 True),只需要一步简单的操作: Y = (X == False)












