为什么我的外部硬盘连接到 Windows 后会出现故障

为什么我的外部硬盘连接到 Windows 后会出现故障

我买了一个外置硬盘。我用打字来格式化它DiskFormat然后QuickFAT 把很多文件复制到那里,一切正常。

然后我把它连接到 Windows,但没有显示。然后我再次将它连接到 Ubuntu,它显示

Disk is OK, 5 attributes are failing

有什么问题?我该如何解决?这些文件对我来说非常重要

谢谢

答案1

在做任何其他事情之前,请澄清并调查此评论:

硬盘是 8TB,但只显示使用量为 2TB

在许多情况下,超过 2 TiB 的磁盘会出现问题,因为 MBR 分区表、某些磁盘驱动程序甚至硬件(尤其是 USB 到磁盘接口硬件)中存在 32 位指针限制。传统上,磁盘扇区大小为 512 字节,而 2^32 x 512 字节正好等于 2 TiB。(注意:1 TiB = 1024^4 字节;1 TB = 1000^4 字节。)因此,如果驱动程序或硬件组件有 32 位限制,并且磁盘大于 2 TiB,则可能会出现一些奇怪的效果 - 通常,磁盘的大小看起来会是 2 TiB 以下的某个值,因为大小会“回绕”,就像旧车的里程表数字太少,无法记录高里程值一样。有时这些限制出现在一个操作系统(通常是 Windows)中,但不出现在另一个操作系统中,这可能会给跨操作系统使用带来真正的问题。如果您使用计算机内部的磁盘(问题不太可能出现),然后尝试使用 USB 适配器或外部 USB 外壳(许多此类设备都施加了 32 位限制)访问它,也会发生类似的情况。

一些外部 USB 机箱试图通过“转换”扇区大小来解决此限制 - 它们将八个 512 字节扇区组合起来,然后将其转换为单独的 4096 字节扇区。这将 2 TiB 限制提高到 16 TiB,但这意味着在外部机箱和内部使用(不发生此类转换)之间移动磁盘会更加成问题,因为大多数磁盘访问和引用都是通过扇区值完成的,而这些扇区值在两种接口类型之间并不一致。

对于您报告的差异,一个不太成问题的解释是磁盘可能使用 MBR,它有自己的 32 位限制。较新的 GPT 分区系统通过使用 64 位指针将该限制提高到远远超出当前需求的水平。如果磁盘使用 MBR 进行分区并使用 512 字节扇区,则即使它是 8 TB 型号,它也将达到 2 TiB 的上限。这本身不应该导致数据损坏,但当然您将只能使用其容量的 1/4 以上。在这种情况下,从 MBR 切换到 GPT 是一个简单的解决方案。我的gdisk程序(Ubuntu 中的标准程序)可以做到这一点,但您需要调整分区大小或创建一个新分区以使用转换后的额外容量。请参阅本页gdisk文档了解有关如何进行转换的信息。

无论如何,一些额外的信息将有助于澄清这个问题:

  • sudo parted /dev/sdb printLinux 中(更改/dev/sdb为磁盘标识符)的输出
  • 关于磁盘声明大小的说明
  • 无论您是购买外部磁盘还是通过将内部磁盘放入单独购买的外壳中自己创建外部磁盘
  • 澄清你是否总是将该磁盘用作外部模型,或者您既在内部使用又通过机箱使用
  • 有关外部机箱使用的接口类型的信息(USB、FireWire、eSATA 等)

相关内容