††映画と私と つれづれなるまま††
BGMがわりに映画を♪ そして好奇心のつれづれなるままに
[管] [新] [画] [箱] TOP

映画タイトル 五十音別
[]  []  []  []  []  []  []  []  []  []  [海外TV]

▼「ツイートまとめ」の読み方について▼
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
   毎日ポイントGET。 検索でもポイントGET。 新規登録で250ポイント!
WindowsXPで、昨日っからCD/DVDドライブを動作させると、
マウスの動きがものっすごく遅くなってしまった。
ぐぅにゅ~~~~~んと遅延して動くんだから気持ち悪い。

読めないDVDを、何度も何度も何度も試してからなんだよね。

実は前にもこんなことが起きて
一度PCの修理に出して、ドライブ交換で戻ってきた。
また修理させなきゃないの!?
なんとなく、物理的な故障じゃない気がするんだけど・・・


そうしたら、こんな記事を見つけた!
「PIO病(2000/XPでHDD, DVDドライブが異常に遅くなる)」
http://inspiron1720.seesaa.net/article/56001181.html

「Windows 2000/XPの場合、CD/DVDへのアクセスエラーが6回に達すると、早い転送モードのDMAから、遅い転送モードのPIOに強制的に変わってしまう」のだそうです。

それだ!!!

デバイスマネージャーで確認できるそうです。

↓ ↓ ↓ いた!! PIO!!!

20130313_PIO.gif


解決方法は、以下を参照
「PIO病(2000/XPでHDD, DVDドライブが異常に遅くなる)」
http://inspiron1720.seesaa.net/article/56001181.html

Yahoo知恵袋「PIOモードになる(XP)」
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1174932441

・・・したいところですが、記事がなくなっちゃうとイヤなので、以下コピー

・・・*・・・*・・・*・・・*・・・

よくある解決策(ドライバの削除+レジストリ設定)

 今では、少し検索するとすぐに解決策が見つかります。その多くが「IDEチャネルのデバイスを削除して再起動する」というものでした。このとき、1回再起動するとすぐに2回目の再起動を促され、ドライバがインストールされると同時に、設定が初期化されるとのことです。初期化されることでPIO病から開放され、設定どおりDMAとして起動するというしくみです。
 それに続けてよくある情報が「再びアクセスエラーが6回に達した際に、今度はPIO病にならないように、PIOに落ちる条件を『6回連続でアクセスエラーが発生したとき』に変更する」というものです。ちょっとまぎらわしいですが、デフォルトでは、アクセスエラーする度にカウントアップされていき、

アクセスエラーが(長い期間をかけてでも)合計6回に達するとPIOに落ちる。
という動作ですが、これを
6回連続でアクセスエラーが発生した場合のみPIOに落ちる。
つまり、5回連続以内に復旧したエラーは回数がリセットされる。
という動作に変更するということです。これは、レジストリエディタで

 ・HKEY_LOCAL_MACHINE
  ・SYSTEM
   ・CurrentControlSet
    ・Control
     ・Class
      ・{4D36E96A-E325-11CE-BFC1-08002BE10318}
       ・[PIOになっているデバイス]
        ・ResetErrorCountersOnSuccess
に、DWORD値で「1」を設定することで可能です。「PIOになっているデバイス」は、それぞれの階層の「DriverDesc」の値を参考にすれば識別できると思います。このレジストリはMicrosoftのページでも紹介されています。

 ・複数回のタイムアウトまたは CRC エラーの発生後 IDE ATA および ATAPI ディスクで PIO モードが使用される(Microsoft)
これによると、Windows XPではSP1に特殊な修正プログラムを適用するか、もしくはSP2を適用していないとダメっぽいです。
 いずれにしろ、これでひとまずはPIO病を直すことができます。

ドライバを削除しない解決策

 先の方法で解決できそうではありますが、PIO病が発生したのが起動ドライブの場合、なんとなく心理的にドライバ削除を避けたくなります。解決策として見つかる情報では、特に何の注意書きもなく「IDEチャネル削除して再起動」というのばかりですので、起動ドライブであっても大丈夫のように思えます。ですが、できれば他の方法が無いかと探したところ、レジストリ設定だけで直す方法が見つかりました。
 ・こまったときのデルフォーラム 動作が遅いです
 ・hail2u.net - Weblog - PIO病
これらの情報によると、レジストリの
 ・HKEY_LOCAL_MACHINE
  ・SYSTEM
   ・CurrentControlSet
    ・Control
     ・Class
      ・{4D36E96A-E325-11CE-BFC1-08002BE10318}
       ・[PIOになっているデバイス]
        ・MasterDeviceTimingModeAllowed
に、16進数で「ffffffff」を設定するというものです。この設定によって、次回起動時にHDDのモード再設定が行われ、デバイスの仕様やドライバの設定が合っていれば、DMAモードになるとのことです。

結論と実施結果

 結局、IDEチャネルのドライバを削除せずとも、以下のレジストリ設定だけで「モードの再設定」「PIOに落ちる条件の変更」ができるようです。

 ・HKEY_LOCAL_MACHINE
  ・SYSTEM
   ・CurrentControlSet
    ・Control
     ・Class
      ・{4D36E96A-E325-11CE-BFC1-08002BE10318}
       ・[PIOになっているデバイス]
        ・MasterDeviceTimingModeAllowed ← DWORD16進数で「ffffffff」
          モードの再設定
        ・ResetErrorCountersOnSuccess ← DWORDで「1」
          PIOに落ちる条件を変更
 実際に試した結果、無事ドライバを削除することなくレジストリの設定のみでPIO病を治し「DMAモード5」に変更することができました。HDBENCHで計測した結果、5倍程度速度が上がりました。
 以上でPIO病を治す方法については終わりですが、HDDの寿命について少し書いておきます。この日記ではPIOに落ちる条件を変更して、DMAモードを維持する方法を記載しましたが、そもそもHDDのアクセスエラーがしばしば発生するHDDというのは、壊れかけている可能性が高いと思います。このようになった際は、アクセスエラーの頻度にもよりますが、HDDの交換も検討したほうがよいと思われます。

追記:
デバイス削除による方法を試した記録

 実は今回、レジストリのみの解決策を試す前に、IDEチャネル削除による解決策も試していましたが、うまくいきませんでした。
 具体的には、Cドライブ(起動ドライブ)を表すプライマリIDEチャネルを削除して再起動しました。多くのWebサイトでの記述では、起動時に再度、再起動が要求され、IDEチャネルのドライバがインストールされて無事復旧するとあったのですが、実は起動に失敗してしまいました。正常に起動できなかったため、起動メニューが表示されたので「前回起動時の設定で起動する」を選んで、とりあえずPIOモードのままで起動はできました。その後、あらためてレジストリ修正のみで治す方法を試みて、上述の通り復旧したという経緯がありました。
 ただし、これは今回試したPCが特殊だったからではないか、と想像しています。というのは、今回PIO病になったPCは、HDDが暗号化されるソフトウェアが組み込まれていたのです。どのような仕組みで暗号化/復号化されているのか、詳しくは知らないのですが、WindowsからはHDD暗号化されていることを意識せずに使えているので、OSより下のレイヤーにも何らかの仕掛けがされていると思われます。実際、この暗号化ソフトウェアの説明書では、「MBRを修正すること」「デュアルブートにすること」「暗号化前の復元ポイントまで戻ること」等が禁止されています。そのあたりの関連で、IDEチャネル削除という方法がうまくいかなかったのではないのだろうか、と想像しています。


Yahoo知恵袋



1、レジストリエディタを起動。(regeditを起動)

下記の部分にパッチを当てます。
HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Class/{4D36E96A-E325-11CE

-BFC1-08002BE10318}を探し(96A-を目当てに探すと判りやすい)展開すると、
その下に0000などの数値が並んでいるはず。
それを順にクリック
「PIOになっているデバイス」は、それぞれの階層の右に表示される「DriverDesc」の値を参考にすれ
ば識別できます。
似たものが複数ある場合があるので充分注意のこと。


2、新しいパラメータ [ResetErrorCountersOnSuccess]を起こし、「1」を書き込む。

・具体的には、[編集] メニューの [新規] を選択、[DWORD 値] をクリック。
ResetErrorCountersOnSuccess
と入力。(上記をコピー&ペーストでも可)

・上記で作った「ResetErrorCountersOnSuccess」を
ダブルクリックしてデータ値に「1」を書き込む。

3、さらに同じ場所にあるパラメータの[MasterDeviceTimingModeAllowed]
を見つける。
(無ければ上記手順で同様に作製)

MasterDeviceTimingModeAllowedを右クリックしてDWORD 値を16進「ffffffff」にする。
(fが8個で十進表示では、4294967295 になるはずです)



下記4は省略しても可。(自動的にデバイス最速値のモードになるはずです)

4、同様にDWORD 値「EnableUDMA66」を起こし「1」をセットすれば
UDMAモード4に固定化出来ます。
もしハードが対応していればDWORD 値「EnableUDMA100」のモード5や、
「EnableUDMA133」のモード6も可能なはず。
自己責任でお試し下さい。

   毎日ポイントGET。 検索でもポイントGET。 新規登録で250ポイント!

 コメント

コメントの投稿

管理者にだけ表示を許可する

 記事に言及していないコメントは削除します。あしからず。

 トラックバック







style="padding:0px;margin:5px;float:left"align="left"
カレンダー
05 | 2017/03 | 08
- - - 1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31 -
ブログ内検索
最近の映画&DVD
最近の記事
コメント
トラックバック
お気に入り
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。