不久:我遇到了分区丢失的问题,Testdisk 无法解决我的问题。一切都让我认为文件在磁盘上,但我不知道如何找回它们。另外,我不是英语母语人士,所以我对最终犯下的一些错误表示歉意。
细节
我尝试使用 gparted(linux 正在运行)调整驱动器上的 NTFS 分区的大小,但是操作失败并且我丢失了文件系统。
这是之前的磁盘:
125 GB - primary - NTFS (windows)
3 GB - primary - linux swap
21 GB - primary - ext4 (linux)
我想要做的就是:从左侧缩小 NTFS 分区,以便在磁盘开头腾出可用空间。在 gparted 中,我按如下方式编辑分区:
60 (more or less) GB - unallocated
60 (more or less) GB - primary - NTFS (windows) (shrink)
swap and ext4 same as before (unchanged)
并单击“应用”。在此过程中,我读到了正在发生的事情:它正在将 30 GB 的数据从 HD 的第一部分传输到新的较小的 NTFS 分区。这部分成功了(您知道,缩小过程由几个部分组成,并且此文件传输正常)。然后我猜 gparted 尝试创建新的 MFT 并更新 MBR,但失败了。我当天最大的错误是我没有保存日志(gparted 会自动保存日志吗?)但据我记得,错误类似于“空闲集群超过预期”。好吧,结果如下:
67 GB - primary - NTFS (gparted says: "Failed to load runlist for $MFT/$DATA. highest_vcn = 0xc747, last_vcn - 1 = 0x1633b . Failed to load $MFT: Input/output error . NTFS is inconsistent")
57 GB - unallocated
swap and linux are unchanged
我从可启动的 USB 运行 Testdisk,我进行了快速扫描,但没有发现任何新内容。通过深度扫描,它发现了一个额外的 NTFS 分区:
NTFS 0 32 48 16305 55 6 261941233
但是当我输入“enter”或“p”来查看文件时,它显示“分区已损坏”。
一些说明:
1) 奇怪的是,我的指令是在 NTFS 之前创建可用空间,但 gparted 现在看到的是 NTFS 之后的未分配空间。而且 NTFS 不一致。也许 gparted 在第一个分区中创建了新的 MFT,但无法复制到第二个分区?
2) 从我在操作过程中读到的内容来看,文件应该全部位于未分配空间中。我该如何找到它们?我会尝试以有序的方式恢复它们,因为如果我使用 PhotoRec,我会丢失任何目录结构。
我该怎么办?请帮帮我,不然我女朋友会杀了我!(这是她的电脑。。:O)
答案1
这就是我最终设法从磁盘恢复一些文件的方法。我知道部分答案可能与主题无关(因为我使用了许多 Windows 程序),但为了完整起见,我希望与未来的用户分享我的经验。
我学到的最重要的一课是调整分区大小前备份数据。
自从测试磁盘即使深度扫描也没有帮助我,我决定使用相簿。幸运的是我有一个 3-4 个月前的磁盘备份,所以我的目标是从磁盘恢复所有文件并仅过滤有用的文件,即上次备份后创建的文件。
第一次使用 PhotoRec 扫描的是整个磁盘。它恢复了 5700 个文件(2.12 GB),但随后开始循环,扇区计数开始倒退。
第二次扫描时我设置只扫描 NTFS 一半。它恢复了 56800 个文件(40 GB)。
我需要扫描磁盘的后半部分,所以我再次启动了整个磁盘扫描,然后我停止了扫描,并编辑了会话日志文件。我手动输入了一个数字,该数字比已经完成的部分的结束时间早了几百万个扇区。我再次启动 PhotoRec,我告诉它恢复会话,然后……奇迹发生了!它成功只扫描了磁盘的后半部分。找到了 128400 个文件(43.5 GB)。
我将这 3 张扫描件复制到名为“PR_scans”的文件夹中,使用免费文件同步。
我安装了 Cygwin。我创建了另一个名为“Processing”的空文件夹,用于捕获一些有用的文件并将它们与备份进行比较。
在赛格威我使用了如下命令:
find PR_scans/ -iname '*.jpg' -size +250k -exec mv -vi {} Processing/ \;
查找有用的文件。我发现 250k 是将个人照片与互联网缓存文件分开的良好临界大小。对于其他类型的文件,我没有设置最小大小:
find PR_scans/ -iname '*.docx' -exec mv -vi {} Processing/ \;
我对所有有意义的文件扩展名(doc、xls、xlsx、pdf、png、mov、avi 等)重复此操作。
我终于用了重复清除器免费版从“处理”文件夹中删除旧备份中已存在的所有文件。
的创造者恢复比特通过这个网站联系了我,所以我决定测试这个看起来很神奇的工具。
RecuperaBit 总共找到了 13772 个文件(22.2 GB),而我 3 个月前的备份文件大小为 13500 个,30.8 GB。这看起来还不错。这些文件:
- 8700 个文件与我的旧备份中的文件完全相同
- 4000 多个文件具有相同的名称但不同的内容,因为它们在此期间被修改过或者因为 RecuperaBit 恢复了损坏的内容。
- 最有趣的是:395 个是我的备份中没有的 PhotoRec 文件的重复项,这意味着 PhotoRec 恢复了内容,但 RecuperaBit 恢复了文件名和路径!!
答案2
假设这一举动确实按预期进行,那么数据就应该在那里。
虽然我不知道如何重建分区表,但我已使用以下方法成功从分区表被破坏的驱动器中恢复了数据:
虽然我不能保证成功,但尝试是免费的——演示版本的唯一缺陷是它无法恢复非平凡文件。您可以准确看到它认为存在的内容,并且可以恢复小东西以查看它是否正常。
请注意,您需要另一个驱动器才能使用此方法。
当您尝试这样做时,如果未进行完整备份而使用分区编辑器,则会受到 20 次鞭刑!
(我与该公司没有任何关系,只是对结果感到非常满意,而我尝试过的所有其他工具都无法发挥作用,因为 RAID 情况将分区表放在了非标准位置。)