web-dev-qa-db-ja.com

Windowsでのディスクアクセスタイムアウトの削減(特にリムーバブルメディアの場合)?

不良ボリューム(ハードディスクの破損、CDの傷、フラッシュドライブ/メモリカードの不良など)にアクセスするたびに、Windowsは、読み取りをあきらめて返す前に、非常に長い時間(1〜2分?)待つ傾向があります。エラー。

さらに悪いことに、Windowsは、不良メディアを読み取ろうとしている間、実際にハングする傾向があります。たとえば、不良CDを挿入してフォルダを開くと、ファイルを読み取ろうとしますが、CDフォルダを開いた状態でエクスプローラウィンドウ(および場合によってはWindowsの他の部分)にアクセスできず、フリーズします。 Windowsが(最終的に)ディスクを読み取れないと判断するまで、長い間。

このタイムアウトをどのように減らすことができますか?(いいえ、これはネットワークにマップされたドライブとは関係ありません。)

私が見つけた最も近いものは、HKLM\SYSTEM\CurrentControlSet\Services\DiskTimeOutValue値についての言及でしたが、それがリムーバブルメディアに適用されるのか、Windowsの非サーバーエディションに適用されるのかについての情報はほとんどありません。

1
Synetech

Windowsストレージチームが更新されました 2012年のこのブログ投稿 おっしゃるようにHKLM\SYSTEM\CurrentControlSet\Services\Diskにあるディスクタイムアウト値について説明しています。

特に関連するのは、これらの引用です(emphasis mine):

1秒に設定してみませんか?そんなに長く待ちたくない:

disk.sysタイムアウト値はグローバル設定であることに注意してください。これを1秒に設定すると、デバイスのタイムアウトを報告する前に、スリープ状態のドライブを1秒だけスピンアップできるという効果もあります。

SANストレージを使用しているだけではないシステムを使用する場合は、この値を十分に高く設定することも重要です。たとえば、タイムアウト値を5秒に設定する場合Windowsクライアントオペレーティングシステムa SANが接続されていない場合、タイムアウトエラーが発生する可能性がありますが、実際には問題ではありません。 [〜#〜] dvd [〜#〜]またはローカルディスクがスリープ後にスピンアップしています。

少し追加の調査を行った結果、このレジストリエントリは次のようになりました。

  • windowsのクライアントエディションとサーバーエディションの両方に適用可能
  • システム内のすべてのストレージデバイスのタイムアウト期間に影響します。リムーバブルまたは固定
  • vista(Ultimate)、7(Ultimate)、およびServer 2008 R2ではデフォルトで作成されます(おそらく8にありますが、チェックしていません)。
  • Server 2000、2003で作成可能2008および2012@ DarthAndroidへのクレジット
    • このmayは、キーがXPで作成され、タイムアウト値に影響を与える可能性があることを意味します。
2
nc4pk