![错误地将 NTFS 安装为软件 RAID 后恢复](https://linux22.com/image/1588306/%E9%94%99%E8%AF%AF%E5%9C%B0%E5%B0%86%20NTFS%20%E5%AE%89%E8%A3%85%E4%B8%BA%E8%BD%AF%E4%BB%B6%20RAID%20%E5%90%8E%E6%81%A2%E5%A4%8D.png)
我做了一件非常愚蠢的事,因为我在执行此类操作之前没有备份,但我正在努力恢复我能恢复的东西。
我们有一台主板出现故障的服务器。它安装了 Windows 7 软件 RAID 1 (NTFS),但也安装了 Linux 系统 (Debian 9)。因此,我决定将磁盘转移到另一台机器上检查一切。不幸的是,我以错误的顺序组装了它们,因此组成阵列的磁盘(以前是 /dev/sdb 和 /dev/sdd)现在是 /dev/sdb 和 /dev/sdc。使用 mdadm 组装此阵列的脚本在下次启动时运行,并错误地组装了阵列;停止阵列后,其中一个磁盘不知何故包含 Windows 恢复文件,另一个磁盘包含实际数据。同样,我愚蠢地没有在此时备份,因为我试图以另一个顺序重新组装它们,之后 caja(文件管理器,或与 mount 交互的实际插件等)拒绝安装获取的混乱文件,并建议我启动 Windows 并运行 chkdisk。我照做了,chkdisk(启动时自动启动)打印出一堆看起来像是修复文件系统(清除 inode 等)的内容。但之后阵列只包含原始文件的 0.1% 左右。正是在那时,我从互联网上了解到 chkdisk 无法识别软件 RAID。
不幸的是,如果我没记错的话,Windows 中的数组将缓存设置为直写。
然后我重新启动 Linux,阵列完全可以挂载,只有 0.1% 的文件。testdisk 显示主引导扇区和备份引导扇区都是“坏的”,但完全相同,无法通过在磁盘上查找它们来重建它们。列出文件也是不可能的(“文件系统看起来已损坏”),检测到的文件系统类型实际上是“W2K Dynamic/SFS”。然而,在 GParted 中,我看到分区(每个 1.8 TiB)实际上有 99% 的空间在分区内未分配,Windows 和 Linux 中的文件管理器看到并顺利安装的只有前 7GB。所以数据似乎还在那里。
我也尝试了 ntfsfix,但没有结果(尽管程序本身认为是“成功”)。
我还尝试了 Windows 中的 diskpart 实用程序,拆卸了阵列(拆卸后显示镜像磁盘“失败”但“健康”)。
我也阅读了这个问题和讨论:https://ask.metafilter.com/65106/Did-chkdsk-eat-my-files但只学到了两件事:RAID(即使是 RAID 1)不是备份,而且我是个白痴。
我的问题是:此时可以做些什么吗?!我应该尝试 GParted 中的“检查”选项吗?
非常感谢您的建议和付出的时间,Igors