我有一个这样的“Seagate Backup Plus 4TB 台式外置硬盘 USB 3.0”,可能是 3TB 版本(HDD 显示 ST4000DM),外壳连接器坏了,我拆开了外壳,取出 HDD,直接用 USB 转 SATA 连接器连接到 PC。但当它连接到 PC 时,它显示未分区我找不到我的文件。问题:可能是因为机箱使用了不同类型的分区或读取文件的方式?我之所以问这个问题,是因为我不记得做过任何更新分区或写入此机箱的操作。在这种情况下,恢复文件的最佳方法是什么?谢谢。
答案1
您的两个版本的硬盘(3TB、4TB)都无法在不支持现代 GPT 分区表(而非旧式 MBR 分区表)的旧式操作系统上运行。旧式系统通常将最大硬盘大小限制为 2TB。
您的内部驱动器可能具有 4096 字节的原生扇区大小,但在界面上显示的逻辑大小为 512 字节。
当使用附加板逆转该转换时,传统操作系统可以充分利用该驱动器。
使用没有附加接口的驱动器将导致您的操作系统在错误的位置搜索您的分区。我不确定修复分区表是否足以解决这个问题。因此,我建议购买一个昂贵的硬盘驱动器,其接口的逻辑扇区大小为 4096 字节。一旦您将驱动器按扇区复制到新驱动器上,分区应该会再次可见。
首选的复制方法是 dddrescue,它可以在 Knoppix 等实时 Linux 版本上运行,我认为它也包含在 Gparted 和 SystemRescueCD 的小型 CD-rom 大小版本中。
答案2
据我所知,该驱动器不是 AF 4Kn 驱动器,但具有 512 的逻辑块大小,并且具有 MBR 分区表而不是 GPT。
原始外壳具有一个映射层,通过将八个 512 字节逻辑块“分组”为一个 4096 字节逻辑块,使其看起来像一个 AF 4Kn 驱动器(即具有 4096 字节的逻辑块大小),这允许在大于 ~2TiB 的驱动器上使用 MBR 分区表。
这个限制是因为块的最大数量可以用 32 位无符号整数 (即 0xffffffff) 来表示。当块大小为 4096 字节时,该值等于 ~16TiB,而不是 ~2TiB。
以下是您现在看到的逻辑块大小为 4096 字节的分区的计算结果:
>>> 3726 * 1024 * 1024 * 1024 / 4096
976748544.0
>>> 976748544 * 512 / 1024 / 1024 / 1024
465.75