用 Windows 自带的分区工具删除上次装黑苹果时的临时分区竟然出问题了。把我另外一个 1.7TB 的大分区也删掉了。我怀疑是交叉分区导致的(因为偷懒,这个分区就用随手搜到一个叫分区助手专业版的软件来分),这个 1.7TB 分区有着 500GB 左右的数据。十分珍贵。幸好,据我所知删除分区只是修改位于硬盘头的分区表而已。不会对真正分区内容做什么更改,恢复应该是可能的。
一开始用 Diskgenius,看着它的恢复速度十分蛋疼,每秒还不知有没有一个柱面,而我的大硬盘有 廿四多万个柱面。而且用的算法还是不精确的快速算法,猜测是只检测每个磁道的第一个扇区。如果是完全扫描速度应该也得慢个 255 倍。Diskgenius 还有提供自己规定柱面范围恢复的功能,不知为什么这个选项是灰色的无效状态。如果可以用就方便许多了。
用了另外一个软件 Acronis Disk Director(ADD)
ADD 功能很强大,也很好用。恢复分区的功能也提供了两种算法,快速和完全。后来我用快速扫了快一个小时没扫到。用完全扫不到一分钟就找到了第一个分区。是那个原本要删掉的分区。看来它的位置还是很靠前的。因为分区的建立和删除只关系到硬盘的分区表,对实际内容不会有影响。恢复后接下来继续扫,希望能恢复到另一个分区。不过等了两个小时,还是没有找到,最可怕的那条进度栏连 1% 也没跳出来。果断停止。又用快速扫了将近一个小时又没有。幸好 ADD 还提供有 hex 编辑器。打开那块未分配的区域一看一开始都是00
。拉了很多才看到有数据的内容。分区头的区域大概就在有数据和无数据的边界。用二分法手工查找,很快就定位到这个交界附近,看了一下,跟开始的距离有90831767040( 346795155 柱面:21587| 524200950 柱面:32630 )
个扇区,大概就是八十多 G 的数据了,难怪这么慢。但是 ADD 竟然没有精准分区的功能,害我不敢乱分。怕覆盖掉实际原本的分区。
回到 Diskgenius,惊奇的发现它居然有按照柱面精确分区的功能。太适合了。把空白的区域分成一个区,分区的目的就是让 ADD 忽略这一块数据。再回到 ADD 用快速扫描一下,没想到很快就把那个1t多的分区给找出来了。
希望对同样遭此悲剧的同学有点帮助。
PS:现在我已经把 MBR 转换成 GPT,一劳永逸。有条件的同学特别是主板支持 uEFI 的同学,推荐用 GPT.