![电源问题是否会导致外部硬盘出现这些 I/O 错误](https://linux22.com/image/1460943/%E7%94%B5%E6%BA%90%E9%97%AE%E9%A2%98%E6%98%AF%E5%90%A6%E4%BC%9A%E5%AF%BC%E8%87%B4%E5%A4%96%E9%83%A8%E7%A1%AC%E7%9B%98%E5%87%BA%E7%8E%B0%E8%BF%99%E4%BA%9B%20I%2FO%20%E9%94%99%E8%AF%AF.png)
我有一块硬盘(东芝 MK6459GSXP),它来自一台旧笔记本电脑,现在已经报废了。当我买了一台新笔记本电脑时,我决定回收这块硬盘,并将其重新用作外置硬盘。我买了一个 USB3 外接盒,插上电源,它就工作了……差不多。
从一开始,这个驱动器就有点不可靠,但我成功地向其中传输了几百 GB 的数据。然而,它很快就退化到了这样的地步:我再也无法向其中写入任何大容量的数据,而且总是会遇到问题。
我怀疑硬盘在最大使用率下获得的电量略低于其所需的电量,但我不确定我看到的症状是否与此解释一致。以下是有关我的硬件设置的一些信息;为了便于理解,我在 Linux 系统上执行了所有这些操作。
- 该外壳是一个 USB 3 外壳,配有一根电缆且没有备用电源。
- 我的端口确实是 USB 3(我相信准确地说是 USB 3.0)。
- 硬盘上的标签显示它需要 DC+5V、1.0A。
- 硬盘基准测试表明其最大功耗为 4.5W(旋转启动)。
这些数字似乎正好处于 USB 3 可以提供的边界上,这就是我怀疑这是电源问题的原因。以下是我尝试写入时看到的症状:
- 尽管它最初运行起来还算可靠,但它只能在我的其中一个 USB 端口上运行,所有其他端口都遇到了我现在在所有端口中看到的相同问题。
- 插入后,并不总是能检测到它(即它不会显示在 /dev 中)。拔下它并重新插入通常会导致它被检测到。
- 成功挂载并尝试写入后,它会勇敢地尝试一段时间,但随后失败(如 dmesg 报告的)并出现缓冲区 I/O 错误、一些 EXT4-fs I/O 错误,以及一行显示“结果:hostbyte=DID_NOT_CONNECT driverbyte=DRIVER_OK”。然后以只读方式重新挂载光盘,写入失败。
- 我尝试对磁盘运行 SMART 检查(使用 smartctl),但它没有提供任何有用的信息。致命错误的数量仍然为零,并且它在一段时间后放弃测试,因为它与磁盘失去连接。
- 驱动器上有多个分区,每个分区都会发生上述情况。
这些症状是否与硬盘电源问题一致?如果不是,您知道问题可能出在哪里吗?
答案1
电源问题确实是我要找的,这里有几个数据点:
- 许多带有“USB 3”端口的笔记本电脑实际上只满足 USB 3 的数据部分,但不满足电源要求
- USB 3 驱动器外壳需要一些电源来驱动芯片,因此总功耗可能远高于驱动器本身的功耗
- USB 不擅长恢复丢失的连接,因此,如果在启动或(更常见的是)初始寻道期间与驱动器的连接丢失,则在电源稳定后它将无法再次使用
您可以通过从有源 USB 集线器运行驱动器来验证这是否是电源问题。我的经验是,el-cheapo chinese 集线器没问题,只要您不在所有端口上使用耗电设备即可。