エクスペリエンスインデックス測定不能エラーの対処

  • 投稿日:
  • by
  • カテゴリ:
ここまでの流れ
  • メモリ2+2GiBから4+4GiBに増量したら相性問題でメモリエラー連発したので妥協して2+4GiBに。
  • しかし、エラーが出なくなったのにエクスペリエンスインデックスが測定できない。OSかハードウェアがエラーを報告してるとか表示されてる
  • どうやらメモリエラーとは無関係に測定できなくなってるらしい。何故だ?
  • エクスペリエンスインデックスの計算用プログラムであるwinsat.exeを直接実行すると「引き渡されたインスタンス名は、WMI データ プロバイダーで有効なものとして認識されませんでした。」というエラーが。何だこりゃ?
  • メモリエラーでファイルが壊れたかと思ってシステムファイル保護(sfc)やシステムの復元を試すが直らず

ということで原因究明を行うことに。

最初、エラーメッセージでぐぐると、イベントログサービスが起動してないからという記事がいくつか見つかった。
しかし、イベントログサービスは起動しているので原因は違うようだ。
さらに調べると、英語記事だが全く同じ症状を発見。

Solved Help my High Performance setting is gone and error with Exp Index. - Windows 7 Forums

6558344 (2420) - winsat\syspowertools.cpp:1018: ERROR: Cannot set the current power scheme to '8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c': The instance name passed was not recognized as valid by a WMI data provider.
ちょうどこの部分の後半が「引き渡されたインスタンス名は~」なのだが、問題は前半。まさに原因が書かれている。
要するに「電源状態を8c5e(略)635cに設定できない。原因はそんなGUIDの設定がないから」ということ。
MSのプログラマよ…何故winsat.exeのエラーメッセージにそこを出さない(怒)。むしろ後半のWMI~とかいらねーよ!

ということで「Fen」でもログを取ってみる。

winsat forgethistory -log 1

上記のコマンドだと「1」というファイルができる。
開いてみるとバイナリファイル。…もしやイベント(*.evt)か?と思ってリネームするとBINGO。イベントビューアで開けた。

詳細は省くが、どうやら「Fen」だとGUIDが以下のようになってるらしい。

本来の高パフォーマンス:8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c(環境によらず一定)
「高パフォーマンス」として表示されてる現在の設定:226fb982-9b38-40f3-8c6c-08bf173f9e0a

何故こうなったのかは不明…いや、思い当たる節が。
4/28に電源オプションがバグっていたので無理矢理高パフォーマンスを復活させたんだった(約定期blog: 「Fen」(VAIO Z)の電源オプションバグ?)。
ということで本来の高パフォーマンスを復活させるため、powercfgコマンドで現在の設定をコピー。

powercfg -duplicatescheme 226fb982-9b38-40f3-8c6c-08bf173f9e0a 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c

powercfg -delete 226fb982-9b38-40f3-8c6c-08bf173f9e0a

(実際には一旦exportしてからimportし、その後deleteした)

その後、無事エクスペリエンスインデックスが測定可能になった。