减少 Windows 中的磁盘访问超时(尤其是可移动媒体)?

减少 Windows 中的磁盘访问超时(尤其是可移动媒体)?

每当访问坏卷(损坏的硬盘、有划痕的 CD、损坏的闪存驱动器/存储卡等)时,Windows 往往会等待很长时间(一两分钟?)才放弃并返回读取错误。

更糟糕的是,Windows 在尝试读取损坏的介质时往往会挂起。例如,如果您放入损坏的 CD 并打开文件夹,它会尝试读取文件,但如果无法读取,则打开 CD 文件夹的资源管理器窗口(以及 Windows 的其他部分)将无法访问并冻结很长时间,直到 Windows(最终)决定无法读取光盘。

如何减少此超时?(不,这已经没有什么与网络映射驱动器有关。

我能找到最接近的是TimeOutValue在中提到的值HKLM\SYSTEM\CurrentControlSet\Services\Disk,但关于它是否适用于可移动媒体或非服务器版本的 Windows 的信息很少。

答案1

Windows 存储团队已更新这篇博文发表于 2012 年讨论磁盘超时值,它位于HKLM\SYSTEM\CurrentControlSet\Services\Disk您提到的位置。

以下引言尤其有意义(强调我的):

为什么不直接设置为 1 秒?我不想等那么久:

请记住,disk.sys 超时值是一个全局设置。如果将其设置为 1 秒,这意味着它还会产生这样的效果:在报告设备超时之前,只允许 1 秒的时间启动处于睡眠状态的驱动器。

当使用不仅仅使用 SAN 存储的系统时,将此值设置得足够高也很重要。例如,如果您要将超时值设置为 5 秒Windows 客户端操作系统在没有连接 SAN 的情况下,您可能会看到实际上不是问题的超时错误,例如当DVD或本地磁盘在睡眠状态后重新开始旋转。

经过一些额外的研究,我得出结论,这个注册表条目:

  • 适用于 Windows 的客户端和服务器版本
  • 影响超时时间全部系统中的存储设备,可移动或固定
  • 在 Vista (Ultimate)、7 (Ultimate) 和 Server 2008 R2 中默认创建(可能在 8 中也是,但我还没有检查过)。
  • 可以在 Server 2000、2003 中创建2008 年和 2012 年感谢@DarthAndroid
    • 可能意味着该键可以在 XP 中创建,并对超时值产生影响。

相关内容