How to fix Windows short time freezing
数年前に Windows 8 の PC を購入し Windows 8.1、Windows 10 とアップデートして今も使ってます。Windows 8 の頃は快適だったのですが 8.1 にアップデートしてから一瞬だけ操作を受け付けず画面の動きが固まるような症状が出るようになりました。
最新の 10 でも同じ症状が出ます。
ずっと原因が不明でしたが設定を変更したら症状がなくなったのでその内容をまとめました。
環境
- SATA 規格の内蔵ハードディスクを SSD に換装した Lenovo ThinkPad
症状
- スタートボタンをクリックするとスタートメニューが表示されるまで 0.1秒ほどかかることがある。その間マウスを動かしてもポインターが動かない。その後再起動するまではスタートボタンのクリックはすぐに反応する。
- デスクトップの壁紙に設定したスライドショーが切り替わるタイミングで 0.1秒ほど画面の表示が固まる。その間マウスを動かしてもポインターが動かない。
- DirectX を使用するゲームで 0.1秒ほどのフレーム飛びが不定期に起きる。
解決方法
症状が「プチフリーズ」と呼ばれる現象に似ていることとハードディスクを SSD に換装しているため、SSD のプチフリーズの解決手段を試しました。いろいろな手段があるようですが、SSD の名前をレジストリに登録するという手段で解決したようです。
設定方法
レジストリに SSD の名前を手入力すると入力ミスする可能性がありますが、次の操作で正確な名前を調べて入力することができます。コマンドプロンプトを起動して
msinfo32
と入力して Enter キーを押します。
システム情報が起動するので
コンポーネント - 記憶域 - ディスク
と開くと右側に「モデル」が表示されます。この値が今回必要な名前です。
SSD を2台以上接続している場合は接続している台数だけ表示されると思います。
モデルの行をクリックしてメニューの
編集 - コピー
でコピーします。
次にコマンドプロンプト
regedit
と Enter キーを入力して レジストリエディターを管理者権限で起動します。
¥HKEY_LOCAL_MACHINE¥SYSTEM¥CurrentControlSet¥Service¥storahci¥Parameters¥Device
と開き、右側の NoLPM をダブルクリックします。
「複数文字列の編集」が表示されるので「値のデータ」を右クリックして 貼り付け (または Ctrl + V) でディスクの名前を貼り付けします。名前の最後に「*」をつけて OK をクリックします。
PC を再起動して設定完了です。
この設定以降は症状が現れてません。
試したけど解決しなかったこと
- 最新のデバイスドライバーをインストールする
- Lenovo Update で推奨のアップデートをインストールする
- Windows 10 をクリーンインストールする
- 電源オプションの AHCI Link Power Management-HIPM/DIPM を Active に設定する
参考にしたコンテンツ
Windows 8 ssd freeze "Reset to device, \Device\RaidPort0, was issued."https://social.technet.microsoft.com/Forums/windows/en-US/fa9f69d6-ba08-4895-a2bb-4741c05d5fbf/windows-8-ssd-freeze-reset-to-device-deviceraidport0-was-issued?forum=w8itproperf
レジストリの NoLPM に SSD の名前を登録するとその SSD に LPM のコマンドが発行されなくなるようです。
つまり特定の SSD をWindows のシステムドライブにすると LPM (省電力管理)に問題が起きてプチフリーズが起こるようです。
関連ブログ
Windows 10 Creators Update をクリーンインストールする方法[ThinkPad] ノートPCのハードディスクをSSDに交換する方法
フリーズ(文鎮化)したCrucialのSSDが復旧するまで