我有一个相当新的 4TB Seagate Backup Plus 便携式硬盘,仍在保修期内。在大量使用时,它突然开始有规律地导致我的整个系统崩溃,控制台中报告 I/O 错误(标有其磁盘标识符),并在尝试从中复制文件时出现零星错误。
但是磁盘实用程序的急救和希捷的“Seagate Dashboard”支持应用程序执行的“驱动器测试”报告没有问题。
我担心的是,希捷的支持网站建议,如果我退回驱动器并且他们的诊断没有发现问题,我将支付运费并且不会得到替换。
有什么方法可以确凿地证明它确实出现了故障,并能让 Seagate 满意吗?
答案1
在驱动器上运行 Seagate 的 Seatools,这将测试驱动器并输出一份可用于证明其出现故障的报告。
答案2
我对硬盘保修退货的经验是,如果你能证明
- HDD 本身报告有问题
- 或者作为数据存储设备,它无法成功存储数据
如果还在保修期内,您可以退货并更换。
对于第一种类型,使用当今大多数 HDD 都具有的 HDD 内置报告技术,称为 SMART 监控。类似智能控制可以告诉你其中一项测试是否失败。这是希捷的 SeaTools和西部数据的数据救生员诊断看着。
如果硬盘未通过 SMART 分析或测试,则无需继续收集更多证据证明它是坏盘,因为硬盘本身已经表明它有故障。大多数硬盘制造商都希望您使用他们的工具读取 SMART 数据(如果有),这样他们的所有表格都可以整齐地排列成一排排的勾选框。
对于第二种问题,你需要向自己证明驱动器无法保存数据。如果 HDD 是具有冗余的 RAID 阵列的一部分,这很容易,你可以告诉它清理阵列几次。但是对于单个驱动器,你需要
- 格式化磁盘
- 将数据写入磁盘,直到出现写入错误(注意出现错误时磁盘有多满,这样你就可以告诉支持人员),或者磁盘已满
- 如果磁盘可以毫无错误地填充数据,则将写入的数据与源数据进行比较,注意磁盘上哪个文件有错误。
我发现简单的脚本比命令行程序 chkdsk 等工具更有助于解决上述问题,因为 chkdsk 花费了太多时间尝试从问题区域恢复数据。简单的脚本(例如在 Windows 命令提示符中输入下面的几行)通常足以测试整个磁盘。
mkdir g:\fill
for /L %n in (1,1,4000) do copy c:\somebigfile g:\fill\%n.dat
它将尝试将文件复制到文件夹“g:\fill”4000 次,并按 1 到 4000 进行编号。我发现 1GB 的源文件可以方便地让您找出磁盘上哪个地方出现了问题。
要验证文件是否写入正确,可以使用下面的命令行将所有 4000 个文件与源文件进行比较
for /L %n in (1,1,4000) do @( fc /B c:\somebigfile g:\fill\%n.dat 1> nul 2> nul & if ERRORLEVEL 1 (echo %n is BAD ) ELSE echo %n ok )
格式化磁盘并向其中写入新数据将允许 SMART 程序列出的具有“待处理扇区”的磁盘重新分配这些扇区,从而增加重新分配的扇区数并增加硬盘制造商在保修期内更换硬盘的机会。
但是,如果硬盘在上述过程的第一次通过期间能够重新分配足够的坏扇区,从而使第二次通过成功,并且仍然有足够的备用扇区可供重新分配,从而仍然能够通过 SMART 测试,那么在保修方面,您就有点无所适从了。有些人报告说,他们能够在保修期内更换甚至只有一个重新分配扇区的硬盘。这可能是因为一些研究表明,即使只有一个重新分配扇区的硬盘也更有可能很快损坏。
上述脚本不会发现由过度磁头寻道引起的错误,因为它是全部连续的,除非您同时也在读取/写入和删除该硬盘上的其他文件。
答案3
如果你使用 seatools,一定要删除所有其他驱动器,因为我认为 seatools 正在进行“额外检查”,并且会删除它不喜欢的闪存驱动器,比如下载的电影和电视节目