我有一个 1Tb 外置硬盘,通过 USB2 连接到笔记本电脑。我买了二手的,开始做大量检查以查找问题。
我删除了所有分区,并创建了一个 ext4 分区。果然,问题开始出现。我尝试使用 f3write 来填充它,看看会发生什么。由于 IO 错误,该命令失败。然后我尝试使用 badblocks,但 24 小时后它仍然没有完成,并且报告了很多坏扇区。尝试重新分区到 ext、ext2。这次甚至无法创建分区。无论我做了什么与 HDD 相关的事情,dmesg 都会不断报告错误。
我打电话给卖家,他告诉我说,他把硬盘用在路由器上,所以硬盘很静态,所以不应该是振动造成的损坏。那人告诉我,他愿意见面并赔偿我,他似乎对出现问题感到很惊讶,并建议我再试一次,他确定一切都没问题。
所以我又试了一次,这次将驱动器格式化为 vfat(就像最初那样),然后再次使用 f3write。这次没有错误,f3read 运行良好。dmesg 没有错误,硬盘可以正确读取所有内容。唯一改变的似乎是文件系统。
有人遇到过类似的事情吗?这是硬盘损坏还是固件损坏?我是否可以将其格式化为 vfat 以外的其他格式,因为我希望能够实际使用 unix 样式的权限?
vfat 有什么特别之处,而 ext4 可能无法做到吗?(我想也许驱动器报告了错误的扇区大小/数量,或类似的东西)
编辑:
格式化和测试写入是在 Kubuntu 和 Ubuntu 服务器 18.04 上完成的。我最初使用 Gnome Disks,然后在 Ubuntu Server 上,我使用 cfdisk 擦除分区,使用 mkfs.ext4/vfat 创建 fs,使用 badblocks 进行测试,使用 f3write/read 进行 r/w 测试。
SMART 确实报告了 120 个重新分配的扇区,现在为 420 个。智能自检失败并显示“完成:伺服/寻道失败”,而自我评估则表示通过。
外壳中的硬盘似乎是 SAMSUNG SpinPoint F2 EG。
需要注意的是,smartctl 必须使用 来调用-d sat
,否则它将无法识别磁盘。默认情况下,它似乎将其检测为usbsunplus