LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 769|回复: 11

数据恢复求助!【已解决】

[复制链接]
发表于 2011-2-6 21:12:50 | 显示全部楼层 |阅读模式
我有一块320G移动硬盘,分区结构如下:
  1. 1 ntfs 10G
  2. 2 extended 300G左右
  3. 5 ntfs 100G
  4. 6 ext2 1G不到
  5. 7 swap 6G
  6. 8 reiserfs 20G不到
  7. 9 luks+ext4,占据所有剩余扩展分区空间
复制代码
但是借给朋友后,拿回来时发现朋友“好心”帮我把在windows 中的不可用分区给删除了,还提醒我格式化一下就会有更多的空间可用,让我无语的厉害。
现在6到9分区都没了,6-8分区是一个移动版的工作系统,没什么价值,但9分区里是我的多年资料的积累。在windows中用acronis 的分区工具看了一下,发现里面的数据应该没有被改动,9分区大概在chs=20433,254,63的位置开始,因为这个位置之前的hex全是00 00 00 ……,之后的hex就比较杂乱,而且估算的大小和记忆中的相符。
我想知道如何恢复这个加密分区?我自己用dd把整个移动硬盘备份了一次,然后用parted中的mkpart在上面提到的位置建立了一个未格式化的ext2,可是无法使用cryptsetup luksOpen打开该分区。哪位有类似恢复经验的给支个招?有没有专门的工具来做这件事?或者广州有没有什么机构可以做这个恢复?

================================================

[color="Red"]最终自己解决了。

问题出在我的一个习惯思维,认为在柱面的开始或末尾出现明显的分区形式就应该是一个旧有的分区。事实上testdisk等工具的快速扫描也是基于这一点。这当然是不对的。

现有的工具对luks加密的分区支持得不是很好,于是我手动建立了几个luks分区观察了一下,发现分区开头都是如下形式:
  1. 00000000  4C 55 4B 53  BA BE 00 01   61 65 73 00  00 00 00 00   LUKS....aes.....
  2. 00000010  00 00 00 00  00 00 00 00   00 00 00 00  00 00 00 00   ................
  3. 00000020  00 00 00 00  00 00 00 00   63 62 63 2D  65 73 73 69   ........cbc-essi
  4. 00000030  76 3A 73 68  61 32 35 36   00 00 00 00  00 00 00 00   v:sha256........
  5. 00000040  00 00 00 00  00 00 00 00   73 68 61 31  00 00 00 00   ........sha1....
  6. 00000050  00 00 00 00  00 00 00 00   00 00 00 00  00 00 00 00   ................
  7. 00000060  00 00 00 00  00 00 00 00   00 00 08 08  00 00 00 20   ...............
复制代码

于是我在全盘搜索以上hex码(其实是在一个估计的位置开始,可以省很多时间),最终找到了一个既不在柱面头部也不在柱面尾部的位置,然后将分区建立在那里,就成功了。
发表于 2011-2-6 21:26:01 | 显示全部楼层
linux 下的分区还真没做过。不过我做过的是用“深山红叶”的某个数据恢复工具(具体忘了)恢复过被破坏分区表的ntfs 分区,数据基本完全挽救过来了。不过我觉得正确的做法是暂时停止使用,因为只是分区表结构被破坏了,还没被格式化,数据是还在的。找个“专业”的恢复工具尝试恢复一下,不行再找专业的来做了,不过估计成本会有点高。
回复 支持 反对

使用道具 举报

发表于 2011-2-6 21:52:21 | 显示全部楼层
你试试testdisk做分区恢复。如果没有格式化,应该可以正确恢复,很容易找回删除的分区。如果觉得用tesdisk不好,用diskgenius。
不过安全起见,先把分区表备份了。然后再做恢复。
回复 支持 反对

使用道具 举报

发表于 2011-2-6 23:14:31 | 显示全部楼层
用testdisk找回失去的分区.应该难度不大.用一次深度扫描应该都回来了...我遇到两次丢失分区的.情况是删除所有分区.然后新建若干分区.格式化,都用testdisk恢复了.所以楼主的希望还是很大的.
http://www.cgsecurity.org/wiki/TestDisk_Step_By_Step
我也可以提供ssh的帮助.
需要的话,来#ubuntu-cn freenode上找我,我是cfy
ps:加密分区么?不太清楚了.不过testdisk应该可以把原来的分区布局给扫描出来的.我想问题不大吧,不过加密的话,没有经验.我只用过encfs.....楼主不备份数据的么?我觉得数据至少要两个不懂的物理地方各存放一个
testdisk的主页里说支持Linux LUKS encrypted partition,我想问题不大吧,扫出来就好
回复 支持 反对

使用道具 举报

发表于 2011-2-6 23:43:01 | 显示全部楼层
testdisk用过,ext4无望,ext3中文文件名乱码
回复 支持 反对

使用道具 举报

发表于 2011-2-7 00:17:54 | 显示全部楼层
Post by lurz;2127529
testdisk用过,ext4无望,ext3中文文件名乱码

前段时间用过,恢复分区肯定没有问题,恢复文件乱码问题,是你terminal编码问题。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-2-7 10:28:17 | 显示全部楼层
我以前一直用的gpart,不能识别luks,这次试一下testdisk
回复 支持 反对

使用道具 举报

发表于 2011-2-8 10:58:30 | 显示全部楼层
Post by jsun;2127542
我以前一直用的gpart,不能识别luks,这次试一下testdisk


楼主,效果咋样?成功否?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-2-8 11:44:23 | 显示全部楼层
目前试了linux版和windows版的testdisk,没成功。用windows下的diskgenius手动指定分区位置,以及自动搜索分区,也没成功。现在已经不敢再胡乱下手了,暂时保存现状,等待未明的转机。

我现在有点怀疑是不是device-mapper的机制和普通的loop不太一样。恢复luks加密的分区标准步骤是什么?需不需要在搞定分区表后再用cryptsetup做些操作?现在不知问题所在,有点疑神疑鬼了。
回复 支持 反对

使用道具 举报

发表于 2011-2-8 13:12:34 | 显示全部楼层
以前好象在顺德电脑城看过数据恢复的广告,不知现在还有没有。N年前在电脑报上也看过某数据恢复“专家”的文章,似乎很牛的,记得好象也是广东的,是不是广州就记不清楚了,说什么那时全广东唯一家N级无尘工作室。N年前的事了。
请人做数据恢复的费用不是一般人可接受,自己衡量一下值不值。

实践证明:
1、保护数据应该是直接加密而不应在分区上打主意。
2、无论你认为数据放在硬盘多么不可靠,但如果数据真的重要的话,多买个硬盘比什么刻碟之类的方法安全可靠。
第二点是本人经过惨痛教训总结出来的。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表