HFS+ 分区不可读,2TB 仅显示为 250gb

HFS+ 分区不可读,2TB 仅显示为 250gb

我最近将一大堆数据传输到 HFS+ 硬盘上,作为 Mac 机器重新安装的备份。重新安装完成后,我想将所有数据重新加载到我的机器上。但是机器不再识别(外部)硬盘。

  • 通过 USB 3 连接到 MacOS 机器,它没有出现在任何地方,diskutil系统报告,什么都没有。
  • 移除驱动器并通过 SATA 直接将其放入 Debian 系统,分区被识别,但其大小为 250GB,而不是 2TB。无法读取或安装

__

输出fdisk -l

Disk /dev/sdb: 1,8 TiB, 2000398934016 bytes, 3907029168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0x00000000

Device     Boot Start       End   Sectors   Size Id Type
/dev/sdb1           2 488378644 488378643 232,9G af HFS / HFS+

Partition 1 does not start on physical sector boundary.

这是 Debian 上的 GUI 显示的内容

磁盘工具截图

我怀疑(并希望)分区表或类似的东西出了问题,可以重建。有人有什么想法吗?不幸的是,这个驱动器上有 500GB 的私人记忆,几天前我的 NAS 坏了,这就是为什么这是我的最后一次备份……我正准备买新的 NAS :-X

谢谢,帕斯卡

答案1

您的问题至少有一部分可能是由扇区大小问题引起的。绝大多数硬盘在其本机(通常是 SATA)接口上使用 512 字节逻辑扇区大小。(请注意,报告的“物理”扇区大小fdisk与本讨论无关。)许多外部 USB 外壳将八个 512 字节扇区“转换”为一个 4096 字节扇区。这使得超过 2TiB 的磁盘可以与旧的主引导记录 (MBR)分区系统,而且我怀疑还需要通过 USB 接口完全处理磁盘,至少对于某些机箱来说。

因此,我认为发生的事情是您的磁盘是通过执行此转换的 USB 接口进行分区的,这意味着您的磁盘大约有 488,378,646 个 4096 字节扇区;但是,当您将其直接插入计算机的 SATA 端口时,它被读取为具有 3,907,029,168 个 512 字节扇区。(该值来自您的fdisk输出。)分区表是在假设扇区较少但较大的情况下编写的。由于分区表以扇区数量记录分区起点和大小,但不提供有关扇区大小的任何提示,因此您最终会看到您已识别的不匹配。

从根本上来说,有两个方法可以解决这个问题:

  • 使用外部 USB 外壳-- 您可以将磁盘放回原始外壳并尝试使其工作。即使它在 OS X 下无法工作,也许它可以在您的 Debian 系统上工作。不过,外壳可能在不合适的时间出现故障,在这种情况下,您可能需要使用另一个外壳,其扇区转换方式与第一个外壳完全相同。我无法推荐特定的外壳,因为我没有关注特定型号的功能,但这种类型的转换非常常见。另一方面,一些外壳(尤其是较旧的外壳)不进行转换,因此不会有帮助。
  • 调整分区表-- 可以通过创建一个具有适当值的新分区表来修复问题。对于您的情况,您需要删除磁盘上的一个分区,并创建一个扇区值恰好是当前值的 8 倍的新分区。原则上,您可以使用 执行此操作fdisk,但几乎肯定必须更改对齐策略。这曾经是可能的,但当我刚刚fdisk在 Ubuntu 16.04 中使用 尝试时,我没有看到更改对齐的选项。最好的办法可能是找到 的旧版本fdisk,方法是从存档中的源代码编译它,或者使用旧的紧急或安装磁盘。或者,您可以使用 删除现有分区,fdisk然后依靠测试磁盘或者使用当前磁盘扇区大小恢复分区的类似方法。这有点不确定,但应该会有效。

第二种选择应该工作;但是,如果你犯了一个错误或遇到了一些意想不到的问题,你可能会让事情变得更糟,特别是如果你写入更改的分区。此外,此选项将锁定你直接通过 SATA 或通过 USB 外壳使用磁盘,而 USB 外壳不支持不是进行扇区大小转换。因此,总的来说,我建议您专注于第一个选项。这可能需要购买替换外壳。

相关内容