魂の避難所 -パソコン関連トラブル解決メモ-
ホーム > PC、デジタルTips > ドライブ(HDD、DVD)のアクセスが異常に遅い(PIO病)

職場でパソコントラブル発生。
パソコンが遅い!起動も遅い!(Windows XP)
症状を聞いた後、おもむろに デバイスマネージャを開いてプロパティ見てみる…
PIOモード !!!!
こ、これが噂の「PIO病」なのね!
うほほ~♪とスクリーンキャプチャしておきました。
IDEドライバを削除して再起動×2。はい解決。

※WindowsXPの場合、この不具合はSP1~SP2で修正プログラムが当てられているはず。
しかしこのパソコンSP3なんですけど。なおってないんかー!

では、「PIO病」とは何か、どうやったら直るのかを以下で説明します~

2012/10/29追記
PIO病はWindows 7(Vista)でも起こる
Windows7/Vistaの方はこちらもどうぞ


スポンサードリンク

「PIO病」とは


HDDやDVDドライブの読み書き速度が異常に遅くなり、起動が遅い(10分以上かかる)とか、DVDがうまく焼けない(1枚焼くのに1時間以上!?)等の症状がでます。

具体的には、読み書き(転送モード)は普通「DMA」モードなのですが、対象のデバイスのエラー(タイムアウト)が6回に達すると、強制的に「PIO」モードという激遅の転送モードに強制的にかえられてしまう…で、いったんこれにハマると再起動しても直りません。
これがPIO病の正体です。

複数回のタイムアウトまたは CRC エラーの発生後 IDE ATA および ATAPI ディスクで PIO モードが使用される(マイクロソフト サポート オンライン )
http://support.microsoft.com/default.aspx?scid=kb;ja;817472

PIO病診断



  1. コントロールパネル→システム→ハードウェアタブ→デバイスマネージャ
  2. IDE ATA/ATAPIコントローラの+をクリック
  3. プライマリIDEチャネル(セカンダリIDEの場合もあり。PIOになっているやつを探す)を右クリック
  4. プロパティ→「詳細設定」タブ
  5. 転送モードが「DMA(利用可能な場合)」になっているのに「現在の転送モード」が「PIOモード」になっているのを確認

pio02.jpg
↑これが普通の状態

pio01.jpg
↑これがPIO病発動状態。「PIOモード」になっている

解決策1 IDEドライバを削除して再起動


これをやると、再起動時にドライバがインストールされ設定も初期化されます。
削除したら戻せなくなるんじゃ…と心配の方も大丈夫。ほとんどは正常にもどる作業なのでご安心を。

pio031.jpg

  1. コントロールパネル→システム→ハードウェアタブ→デバイスマネージャ
  2. IDE ATA/ATAPIコントローラの+をクリック
  3. 先ほどの診断でPIOになっていたやつを選んで右クリック
  4. 削除、OK
  5. Windowsを再起動
  6. もう1度再起動するか聞いてくるので再起動
  7. 「PIO病診断」の手順で再度確認


これでたいていの場合は直ります。
再起動時に正常に起動せずセーフモードになってしまう場合、「前回起動時の設定で起動する」でとりあえず起動した後、以下のレジストリによる設定変更をお試し下さい。
※レジストリの変更は不慣れな人がよくわからずに適当にいじるとWindowsが壊れてしまう場合もありますので自信のない方はメーカーサポートかPCに詳しい人にやってもらって下さい。

※ドライバを削除しようとしても「データが無効です」と言われて正常にドライバインストールできない場合
PCやドライブの型番を調べて公式の最新ドライバを入手して手動で入れましょう。
自信がないならレジストリ書き換えのほうを試して下さい。
システムをいじるアクセス許可が無い場合もあります。以下のページを参考にしてください。
ドライバの"データが無効です"を回避する
http://journal.mycom.co.jp/column/winxp/063/index.html

これで直らない場合、ハード的故障を疑います。
HDDとかそのものの昇天間近、コネクタの接触不良、ケーブルの不良…
あとはドライバを最新のものにするとか。
  *  *
そもそも、PIO病とは調子の悪いデバイスをWindowsさんが気を回してくれて激遅だけどとりあえず動かしてくれているわけで。
サスペンドからの復帰に失敗とか、たまたまSSDのご機嫌が悪かったとかの場合もあれど、
特にHDDが頻繁にエラーを起こすということは、「ハード的にヤバい」ことを覚悟して下さい。
その際、HDD昇天間近などは、ディスクチェックの「修復」は安易にやらない方が良いと私は考えています。
とりあえず様子を見て、再発するようだったら、
あれこれいじらずに、怪しいと思った段階ですぐにバックアップをとり、一刻も早く新しい物を買いに走れ!それに尽きます。

解決策2 ドライバ削除をせずPIOモードをDMAに戻す(レジストリ書き換え)


ドライバ削除が怖い人、でもレジストリ変更は慣れっこだぜ!という人向け。
ドライバ削除をせずにレジストリ変更のみで転送モードをPIOモードからDMAに直す(再設定し、正常ならDMAにする)にする方法です。
pio05.jpg

  1. スタート→ファイル名を指定して実行→regedit
  2. [HKEY_LOCAL_MACHINE]→[SYSTEM]→[CurrentControlSet]→[Control]→[Class]→{4D36E96A-E325-11CE-BFC1-08002BE10318}と進んでいく
  3. 0000~0005とか並んでいるのでDriverDescの項をみて、先ほどの診断でPIOだったものを選ぶ
  4. MasterDeviceTimingModeAllowedの項を右クリック→修正
  5. 16進数で「ffffffff」と入力(fを8個)、OK
  6. レジストリエディタを終了
  7. PCを再起動


予防策 PIO発動条件を変える(レジストリ書き換え)


そもそもPIOモード発動するのはどんなケースかというと「アクセスエラーが通算6回に達したとき」。
それを「6回連続でアクセスエラーが発生したとき」にはPIOモードにするという設定に変更する方法があります。発動までの時間稼ぎをするわけです。
※この設定を行うまえに、最低でもSP2以上にしておくか対象の修正プログラムを適用して下さい。
レジストリの変更は不慣れな人がよくわからずに適当にいじるとWindowsが壊れてしまう場合もありますので自信のない方はメーカーサポートかPCに詳しい人にやってもらって下さい。自己責任でお願いします。
pio04.jpg

  1. スタート→ファイル名を指定して実行→regedit
  2. [HKEY_LOCAL_MACHINE]→[SYSTEM]→[CurrentControlSet]→[Control]→[Class]→{4D36E96A-E325-11CE-BFC1-08002BE10318}と進んでいく
  3. 0000~0005とか並んでいるのでDriverDescの項をみて、先ほどの診断でPIOだったものを選ぶ
  4. メニューから編集→新規→DWORD 値
  5. ResetErrorCountersOnSuccess と入力し、Enter
  6. メニューから編集→修正→1 と入力、OK
  7. レジストリエディタを終了
  8. PCを再起動

※これをしてもPIO病慢性状態になった場合、連続6回エラーが頻繁にあるということですから、ハード故障やドライバの不具合を真っ先に疑ったほうが良いかと思います。


一応ことわっておきますが、
これらの作業をして万が一PCが吹っ飛んでしまっても筆者は責任は取れません…
なので、必ずバックアップを取ってからこれら作業を行ってくださいませ。

ブログランキングに参加しています。良かったらポチっと押してくれると励みになります。
関連記事

スポンサードリンク

PIO病慢性状
この症状と同様のハードディスク不調の原因に、本体周辺の気温の問題が大きく関与していると、考えられます。私の体験では、夏の暑い今の時期のみ、デスクトップ表示までものすごく時間がかかり、いろいろと原因をさぐり、結論は、ハードディスクの周りの気温が大きく関与していると考えられます。
よろしければ私のホームページの文章も確認してください。
binge2.web.fc2.com→日々あった件→(7,29,51,54)
[ 2016/07/13 14:05 ] [ 編集 ]
Server2003でも
Server2003でも同様の問題が起こりましたが、解決しました。ありがとうございました。
やはり基本的にはXPと同じですね。
[ 2014/12/11 10:07 ] [ 編集 ]
ありがとうございます
図解付きの解決方法でとてもわかりやすく、ドライブの速度も以前のものに戻りました。本当に有難うございます。
[ 2013/04/23 14:57 ] [ 編集 ]
この記事のおかげで助かりました。
感謝します!
[ 2013/03/30 07:17 ] [ 編集 ]
XPですが大変助かりました。本当に感謝です!
[ 2013/02/25 16:00 ] [ 編集 ]
「解決策1」で以前と同じ状態に戻りました!
感謝です!有難うございます!
助かった~。
[ 2013/01/21 20:54 ] [ 編集 ]
とても、ご丁寧にご回答して下さり、ありがとうございます(*´∇`*)

試してみます。本当にご親切にありがとうございましたm(__)m
[ 2012/10/26 07:45 ] [ 編集 ]
追記
Vista以降のHDDはSATA接続がほとんどなので「IDEチャネル」はありません。
その場合、PCが遅いという問題はPIO病ではない、ということになります。

実際、当方の現在のPCはWindows7ですがIDE ATA/ATAPIコントローラの下には
SATAのコントローラのみでIDEチャネルはありません。

ただし、Vista以降のPCであっても、BIOSの設定などで
「IDE互換モード」を使っている場合もあります。
その場合は「Channel」を操作します。
[ 2012/10/26 07:22 ] [ 編集 ]
Re:
Windows7(Vistaも含む)はPIO病にかかりにくいと言われていますが
ネット上ではVistaのPCでもPIO病に苦しんでいる方もおられるようです。

以下の方法は、あくまでもMicrosoftのサイトに書いてあることだけを転記しているだけで
当方の環境ではWindows7でのPIO病に「実体験」としてかかったことがなく、実際に解決して得た方法ではないことをご了承下さい。

直接メモリ アクセス (DMA) のオンとオフを切り替える(Windows7)
http://windows.microsoft.com/ja-JP/windows7/Turn-Direct-Memory-Access-DMA-on-or-off

(1)[スタート] ボタン→[コントロールパネル]→[システムとセキュリティ]
(2)[システム] の下の [デバイス マネージャー] をクリック
(管理者のパスワードまたは確認を求められた場合は、指示に従う)
(3)[IDE ATA/ATAPI コントローラー] をダブルクリック
(4)[IDE ATA/ATAPI コントローラー] の下にある項目のうち、ラベルに「Channel」という文字が含まれる各項目を右クリック→[プロパティ] をクリック
(5)[詳細設定] タブをクリック
 ※正常なら XPと同様に「Ultra DMA モード 5」などと表示されるはず。もしPIO病なら「PIOモード」と表示されると思われる。
(6)[デバイスのプロパティ]→[DMA を有効にする] チェック ボックスをオン
(7)PCを再起動する


それでも再発するようでしたら、
本の虫: PIO病、再び
http://cpplover.blogspot.jp/2009/10/wtf-damn-slow-pio-again.html
の記事中で
「デバイスマネージャからHDDを削除して、再起動してみる。」とあります。
少々乱暴なので不安になるかもしれませんが、削除というよりも、リセットだと思えばいいようです。
なおHDDアクセスが遅い場合はHDDを、DVDなどの光学ドライブが遅い場合はそのドライブを操作してください。

後ほど、記事のほうにもWin7用の追記をするつもりです。
早期解決をお祈り申しあげます。
[ 2012/10/25 12:47 ] [ 編集 ]
とてもわかりやすくて助かります♪

パソコンを開き、IDE ATA/ATPIコントローラまで、進めたのですが、IDEなんちゃらと始まる物が、ありません(。>д<)4項目ある中、詳細を確認してみたのですが、同じような画面になりません。

パソコンは、windows
Vistaです。よろしかったら、教えていただけないでしょうかm(。≧Д≦。)m
[ 2012/10/24 19:45 ] [ 編集 ]
おかげさまでPCが以前までの速さに戻りました。
ありがとうございます。
[ 2012/06/08 01:52 ] [ 編集 ]
ありがとうございました。
助かりました。
[ 2011/10/28 21:59 ] [ 編集 ]
コメントの投稿












管理者にだけ表示を許可する
トラックバック
スポンサードリンク
twitter
スポンサードリンク