Jus*_*tin 133 windows freeze hard-drive bad-sectors
为什么已知有坏块(在 HDTune 和 HDDScan 中验证)的硬盘会冻结我的整个系统?
它不是操作系统驱动器;它连接到另一个 SATA 端口,我正在尝试将文件从它复制到另一个正常的驱动器。
我几乎在每个损坏的硬盘驱动器和每台 Windows PC 上都遇到过这个问题。
我希望只看到我用来复制文件的程序(Windows 资源管理器等)冻结,但我的整个 PC 变得生涩,而且我无法在从损坏的驱动器复制文件时浏览网页或观看电影。
说来话长。
我住在农村地区,那里有电力问题(断电等)。我自己正在使用 UPS,我自己的硬盘驱动器完全没问题。但是我的邻居经常就他们的 PC 问题寻求帮助,我经常发现他们的硬盘损坏了,很可能是因为电力问题。当然,更换损坏的驱动器后,我建议我的邻居购买 UPS。
我一直想知道,为什么我的 PC 在从损坏的驱动器中检索数据时完全死机。是硬件问题吗?是操作系统读取数据的方式引起的吗?它是特定于 Windows 的东西吗,我不会在 *nix 上体验到它?
无论如何,从现在开始我将使用一些专用软件(例如 Roadkil 的 Unstoppable Copier)而不是 Windows Explorer,尽管我不确定这是否会以不同的方式工作,而不会冻结整个 PC。
这不是寻求帮助,而是出于教育目的,所以我知道为什么事情会这样。
use*_*ser 173
这是 SATA 不理想的领域之一。问题出在存储设备互连协议级别,因此与您运行的软件无关。使用另一个文件复制器或另一个操作系统不会神奇地使事情变得更好,只是它可能会尝试设置不同的超时值以减少问题的影响(这可能会或不可能,取决于硬件和固件;见下文)。
这里有几个要点:
第 1 点是SAS在服务器上的主要卖点之一;SAS 的错误处理能力明显优于 SATA。第 2 点是驱动器固件限制,而第 3 点真正成为问题只是因为 #2。
那么发生的情况是操作系统向磁盘发出“读取扇区”命令,并且特定扇区以某种方式损坏。因此,磁盘进入重试模式以尝试从盘片中取出数据,一次又一次地尝试读取,直到获得足够好的数据,磁盘自身的纠错 ( FEC ) 能够纠正剩余的错误。如果您不走运,这可能永远不会发生,但驱动器会继续尝试相当长的一段时间,然后才决定这次读取不会成功。
因为操作系统正在等待读取,这至少会减慢复制过程的速度,并且根据确切的操作系统架构可能会导致操作系统在此期间变得不稳定甚至冻结。此时磁盘正忙于原始读取,并且在当前执行的命令结束(成功或不成功)之前不会响应进一步的读取命令,其他软件通常不会比它的操作系统做得更好正在运行。
因此,任何在其他地方触发读取(理想情况下,仅在损坏的驱动器上)将不得不排队等待,直到损坏的驱动器成功读取相关扇区或确定无法读取。由于 SATA 对无响应驱动器的处理不够理想,这可能意味着不仅您要从中复制的驱动器的 I/O 会延迟。这也很容易导致其他软件变得缓慢或无响应,因为该软件会等待不同的 I/O 请求完成,即使操作系统能够应对。
同样重要的是要注意,即使您没有明确访问磁盘上的任何文件,也可能发生磁盘 I/O。造成这种情况的两个主要原因是按需加载可执行代码和交换。由于即使系统没有内存压力,有时也会使用交换,并且按需加载的可执行代码在现代系统和现代可执行文件格式中很常见,因此在正常使用期间意外的磁盘读取活动是非常可能的。
正如Matteo Italia在对问题的评论中指出的那样,一种缓解策略是使用不同的存储互连,这是“将磁盘放入 USB 机箱”的复杂说法。通过USB 大容量存储协议进行抽象,这将有问题的 SATA 部分与系统的其余部分隔离开来,这意味着理论上,只有该特定磁盘上的 I/O 应该受到该磁盘上的 I/O 问题的影响。
顺便说一句,这就是为什么 RAID 经常不鼓励 SATA(特别是没有驱动器级 ERC 的 SATA)的原因(尤其是具有冗余的RAID 级别,在标准级别中,除了RAID 0之外都是如此);长超时时间和糟糕的错误处理很容易导致整个设备因单个坏扇区而被抛出阵列,如果存在冗余,RAID 控制器可以很好地处理,并且存储控制器只是知道这是问题所在。SAS 是为大型存储阵列而设计的,因此期望各种驱动器偶尔会出现问题,这导致它被设计为优雅地处理单个有问题的驱动器或 I/O 请求的情况即使驱动器没有。有问题的磁盘在消费类系统中并不常见,因为它们往往没有安装很多磁盘,而且安装的磁盘几乎没有冗余;由于 SATA 旨在取代 PATA/IDE 而不是 SCSI(后者是 SAS 所针对的利基市场),因此它的错误处理功能和要求(或保证)可能被认为足以满足其预期用例。
|   归档时间:  |  
           
  |  
        
|   查看次数:  |  
           62707 次  |  
        
|   最近记录:  |