8

我意识到我要问的问题不是一个简单的“哦,这很容易!做一个简单的这个和那个,瞧!” 事实是,没想到一晚上我删除了错误的分区。我尝试了一些 Windows 和 Linux 工具(分区磁盘医生、Easeus、测试磁盘等),但都没有工作。我认为这是因为我删除分区的方式。

我以前用 C++ 编写过我自己的引导扇区创建器/备份工具,以及用 C 和汇编程序编写的一两个内核(尽管内核相当无用......)所以我认为我有足够的知识至少可以尝试恢复它手动。

我的驱动器设置如下:

 Size: 1.82TB
 part0 100MB (redundant windows recovery partition)
 part1 ~1760MB (my data partition)

我是如何打破它的:

在 Windows 7 中,我删除了第一个分区。然后我扩展了第二个以占用第一个的空闲空间,这意味着我仍然有 2 个分区,现在充当一个动态分区。我重新启动到我的 Ubuntu 操作系统,并意识到我无法再阅读它。我重新启动回到 Windows,删除了第一个分区,然后想,等等……我不应该那样做。不用说它现在已经死了。

我想要的是一些关于从哪里开始,不做什么和不期望什么的建议/好的链接。我希望如果日记仍然完好无损,我将能够恢复驱动器。

编辑:
这是一个 NTFS 驱动器。发布此问题后,我想知道:鉴于我知道我的分区所在的大致位置,有没有办法轻松识别期刊?也许我可以自己重建一些其他驱动器/分区信息并将其写入磁盘。

4

1 回答 1

1

我认为,第一步是弄清楚你所说的那些“动态分区”在 Windows 7 中究竟是如何工作的。根据你的描述,听起来好像你从两个物理分区创建了一种逻辑卷。我的猜测是第二个分区现在包含该卷的某种标头,这就是不熟悉该格式的恢复工具无法运行的原因。

如果您在合并两个分区时弄清楚 Windows 7究竟做了什么,您应该能够编写一个提取逻辑卷映像的应用程序。

或者,您可以在http://www.tuxera.com/community/ntfs-3g-download/查看 NTFS-3G,NTFS 的 FUSE 实现。通过研究该代码,我敢打赌,您可以找到一种方法来定位您的 borked 磁盘上的 NTFS 文件系统。一旦你有了它,试着把从文件系统开头到磁盘结尾的所有内容提取到一个映像中,然后在它上面运行一些 ntfs 文件系统检查器。运气好的话,你会得到一个可修改的文件系统。

如果您想知道如何访问磁盘,只需在 linux 中打开相应的设备,就好像它是一个常规文件一样。不过,您可能需要将读取对齐到 512 字节(或者无论磁盘的扇区大小是多少。512 和较小的扩展 4096 是常用值),否则 read() 可能会返回错误。

于 2012-09-28T08:47:36.567 回答