詳しい原因は不明ですが、ReadyBoost 関連の下記に示すエラーと警告が発生していたので、その対策です
ログの名前: Microsoft-Windows-Kernel-EventTracing/Admin
ソース: Microsoft-Windows-Kernel-EventTracing
日付: YYYY/MM/DD (w) HH:MM:SS
イベント ID: 3
タスクのカテゴリ: セッション
レベル: エラー
キーワード: セッション
ユーザー: SYSTEM
コンピューター: test
説明:
セッション "ReadyBoot" が次のエラーで停止しました: 0xC0000188
ログの名前: Microsoft-Windows-Kernel-EventTracing/Admin
ソース: Microsoft-Windows-Kernel-EventTracing
日付: YYYY/MM/DD (w) HH:MM:SS
イベント ID: 4
タスクのカテゴリ: ログ
レベル: 警告
キーワード: セッション
ユーザー: SYSTEM
コンピューター: test
説明:
セッション "ReadyBoot" の最大ファイル サイズに達しました。このため、イベントがファイル C:¥Windows¥Prefetch¥ReadyBoot¥ReadyBoot.etl に書き込まれない可能性があります。最大ファイル サイズは現在 20971520 バイトに設定されています。
コマンドプロンプトから下記のようにレジストリを修正して対策は終了です
For %A in (ControlSet001 ControlSet002 CurrentControlSet
) Do REG ADD "HKLM¥SYSTEM¥%A¥Control¥WMI¥Autologger¥ReadyBoot" /v "Start" /t "REG_DWORD" /d 0 /f
Intel 製のネットワークアダプター I/F カードや Chip を搭載したマザーボードでドライバーをインストールして PC を再起動する度に下記の警告が発生します
ログの名前: System
ソース: e1rexpress
日付: YYYY/MM/DD (w) HH:MM:SS
イベント ID: 27
タスクのカテゴリ: なし
レベル: 警告
キーワード: クラシック
ユーザー: N/A
コンピューター: test
説明:
Intel(R) XXXXXXXXXX Gigabit Network Connection
ネットワーク・リンクが切断されました。
原因はドライバーがオートネゴシエーション(auto-negotiation) の完了を待たずにリンクチェックを行っている為です。オートネゴシエーションとは簡単に言ってしまえば通信相手との規格を合わせるという仕組みです
解決方法は、WIN + R キーを押下し、%SystemRoot%¥system32¥devmgmt.msc /s と入力フィールドに入力し、Enter キーを押下し、デバイスマネージャーを起動します
デバイスカテゴリーの ネットワーク アダプター を展開し、Intel(R) ~ Gigabit Network Connection をダブルクリックします。上記画像では I211 というチップ名称になっています
上記画像の様に リンクを待機 を オン に設定し OK を選択し終了です
…ですが、もうデバイスドライバーインストール時に リンクを待機 を オン の状態でドライバーがインストールされる様にしちゃえばいいんじゃね?と、思い調べてみました
まずは ここ から Intel Gigabit Network Connection のドライバーをダウンロードします
ダウンロードしたファイルの実体は RAR 形式の自己解凍アーカイブファイルなので、RAR 形式のアーカイブファイルを取り扱える解凍ツールで適当な空のディレクトリに解凍します
次に実際使用しているチップ名称をキーワードにして、解凍したディレクトリに点在する *.inf ファイルを探し当てます(秀丸エディタのgrep機能などを使えば便利です) Chip 型番が I211 の場合は e1r62x64.inf というファイルでした
文字列 %WaitAutoNegComplete% を検索し、以下 default の部分を "1" に変更します
; Wait for Link
HKR, Ndi¥Params¥WaitAutoNegComplete, ParamDesc, 0, %WaitAutoNegComplete%
HKR, Ndi¥Params¥WaitAutoNegComplete, default, 0, "2" ← これを "1" に変更する
HKR, Ndi¥Params¥WaitAutoNegComplete¥Enum, "0", 0, %Off%
HKR, Ndi¥Params¥WaitAutoNegComplete¥Enum, "1", 0, %On%
HKR, Ndi¥Params¥WaitAutoNegComplete¥Enum, "2", 0, %AutoDetect%
HKR, Ndi¥Params¥WaitAutoNegComplete, type, 0, "enum"
該当の inf ファイル保存します。保存の際に注意する事は、このファイルは多言語で記述されているので、秀丸エディタ等の文字コードのエンコード/デコードを行うエディターで保存してしまうと正しく保存されないので、バイナリセーフなエディタ、例えば メモ帳 で編集、保存(ANSIで) する事を推奨します
デバイスドライバーをインストール時に変更した inf ファイルを指定してインストールを行えば、いいと思います…と、言うのもこの方法はまだ試していません …ので、次回 Windows 7 統合インストール USB メモリ作成の際に試してみたいと思います
まだ、現時点で試していませんが *.inf ファイルを一括置換する PHP スクリプトを作りました。変更する値のプロパティ以下の4箇所です
ドライバー書庫を解凍したディレクトリに infdeault.php を置き、実行するだけです
原因は対応しているセキュリティカタログファイル e1r62x64.cat の内容と e1r62x64.inf が矛盾している為、セキュリティ警告のメッセージウィンドウが表示されます…しかし、何故か WinToolkit の統合インストールイメージ作成ではエラーが発生せず、編集前のデフォルト値でインストールされるのが不思議です…('A`)
以上の事から、自動化は断念し、インストール時にデバイスマネージャーから手動で設定する事にしました。上記 PHP スクリプト を使用してインストール場合は 自己責任 でお願いします…('A`)
WinToolkit の統合インストールで編集した inf ファイルの値を反映させる方法がわかりました。これは実際に動作確認済みです。後述する方法は 自己責任 でお願いします
WinTookit を起動し、All-In-One-Integrator を選択し、統合するエディションを選択、プリセットをロードし、以下の画像の All-In-One-Integrator の Options の Force Unsigned をチェックして、統合を行えばいいだけです
ついでに infdeault.php もちょっとバージョンアップしました。オリジナルの inf ファイルはファイル名サフィックス部分に .org を付与し、実際に inf ファイルがあるディレクトリのファイルを更新するように変更しました
NTFS フォーマットを施した USB メモリーを差し込んだまま Windows 7 を起動したりすると、以下の様な警告がイベント ビューアーに記録される
ログの名前: System
ソース: Microsoft-Windows-Kernel-PnP
日付: YYYY/MM/DD (w) HH:MM:SS
イベント ID: 219
タスクのカテゴリ: (212)
レベル: 警告
キーワード:
ユーザー: SYSTEM
コンピューター: test
説明:
デバイス WpdBusEnumRoot¥UMB¥2&37c186b&0&STORAGE#VOLUME#_??_USBSTOR#DISK&VEN_TOSHIBA&PROD_TRANSMEMORY-MX&REV_PMAP#A14593E4A599ED7090000F31&0# のドライバー ¥Driver¥WUDFRd を読み込めませんでした。
上記の警告が発生する原因として考えられるのは、WDF のフレームワークが入っている状態で発生すると思われます
WDF のフレームワーク の実体は Windows 7 では何かと言うと…
対策は下記スクリーンショットの様に サービスの Windows Driver Foundation - User-mode Driver Framework を手動から自動に変更するだけです
以上で、イベントビューアーに警告は出なくなります
Windows 系の OS には 大きなお世話だ! といった様な機能がてんこ盛りなわけですが、エクスペリエンスインデックスがいつの間にか実行されていた…なんて事はありませんか? この余計な実行タスクを止める方法を記載していきます
エクスペリエンスインデックスを勝手に実行している正体はタスクスケジューラがインストール時に勝手にスケジュール設定を行い、実行しているためです。これを止める手順を下記に示します
ここでは、前述の WinSAT 以外にも、私の環境では不要なタスクスケジューラライブラリの一覧表を記載します
場所 | 名前 | 削除および無効化する理由 |
¥Microsoft¥Windows¥Defrag | ScheduledDefrag | デフラグなんて任意でやるものだし、勝手に実行されてはかなわん |
¥Microsoft¥Windows¥Maintenance | WinSAT | エクスペリエンスインデックスというものはユーザーが任意に実行するもので、システムが勝手に実行するものではない |
¥Microsoft¥Windows Defender | MP Scheduled Scan | 別途アンチウィルス、ファイアーウォールを導入しているので不要 |
MpIdleTask | 上記と同様の理由 |
まったく…Windows は余計なことしすぎだろ…('A`)
またまた、前回の記事 に続き、Windows7 のプチトラブルの続編です
vcredist_x64.exe をインストールすると、任意のドライブのルートディレクトリに msdia80.dll というファイルがインストールされてしまうという現象です。この現象は x64 系の Microsoft Visual C++ 2005 再配布可能パッケージでしか発生しません
検索すると、以下の Microsoft ページに解決方法が記述されています
上記のページの回避策の手順を示すと…
regsvr32 %ProgramFiles%¥Common Files¥Microsoft Shared¥VC¥msdia80.dllMicrosoft のページに記述されている回避策は以上なんですが、レジストリエディタで msdia80.dll を検索すると、ルートディレクトリとしてレジストリに記録されているエントリーが幾つかありました
- HKEY_CLASSES_ROOT\CLSID\{1FBD5EC4-B8E4-4D94-9EFE-7CCAF9132C98}\InprocServer32
- HKEY_CLASSES_ROOT\CLSID\{37DFDBCC-40A5-4F4A-8523-123C746D38F0}\InprocServer32
- HKEY_CLASSES_ROOT\CLSID\{BCE36434-2C24-499E-BF49-8BD99B0EEB68}\InprocServer32
- HKEY_CLASSES_ROOT\TypeLib\{106173A0-0173-4E5C-84E7-E915422BE997}\2.0\0\win64
- HKEY_CLASSES_ROOT\Wow6432Node\TypeLib\{106173A0-0173-4E5C-84E7-E915422BE997}\2.0\0\win64
- HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{1FBD5EC4-B8E4-4D94-9EFE-7CCAF9132C98}\InprocServer32
- HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{37DFDBCC-40A5-4F4A-8523-123C746D38F0}\InprocServer32
- HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{BCE36434-2C24-499E-BF49-8BD99B0EEB68}\InprocServer32
- HKEY_LOCAL_MACHINE\SOFTWARE\Classes\TypeLib\{106173A0-0173-4E5C-84E7-E915422BE997}\2.0\0\win64
- HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Wow6432Node\TypeLib\{106173A0-0173-4E5C-84E7-E915422BE997}\2.0\0\win64
- HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\8.0\CLSID\{1FBD5EC4-B8E4-4D94-9EFE-7CCAF9132C98}
- HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\8.0\CLSID\{37DFDBCC-40A5-4F4A-8523-123C746D38F0}
- HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\8.0\CLSID\{BCE36434-2C24-499E-BF49-8BD99B0EEB68}
- HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Components\8E401D84BF78EDA438B3E1A639D181FF
- HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\SharedDLLs
- HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Classes\TypeLib\{106173A0-0173-4E5C-84E7-E915422BE997}\2.0\0\win64
以上で作業は終了です。Microsoft Visual C++ Redistributable はソフトウェアをインストール際に問答無用で勝手にインストールするものもあるので、要注意です
前回の記事 に続き、Windows7 のトラブル解決編の続編です
Windows 7 インストール後にイベントビューアーを見ると、Windows ログ → アプリケーションの所で以下のようなエラーが発生していました
ログの名前: Application
ソース: Microsoft-Windows-WMI
日付: 2011/02/26 (土) 17:51:09
イベント ID: 10
タスクのカテゴリ: なし
レベル: エラー
キーワード: クラシック
ユーザー: N/A
コンピューター: **********
説明:
クエリ "SELECT * FROM __InstanceModificationEvent WITHIN 60 WHERE TargetInstance ISA "Win32_Processor" AND TargetInstance.LoadPercentage > 99" のイベント フィルターを名前空間 "//./root/CIMV2" 内で再度使用できませんでした。原因はエラー 0x80041003 です。問題が解決されなければ、このフィルターではイベント表示できません。
で、この件で検索してみると、Microsoft の次のページがヒットしました…
この Microsoft のページを読むと解決方法が記述されているんですが、詳細の部分を見てみると…
> このエラー メッセージは無視してかまいません。
との記述が…何ですかね。これは…('A`)
まぁ、イベントログに起動の度にエラーが記録されるのは精神衛生上よろしくないので、解決方法に記述されている VB Script を作成、実行し、再起動して再びイベントビューアーで確認してエラーが記録されていないことを確認して終了です
…が、それだけでは物足りないので、RT 7 Lite でインストール DVD を作成する際に RunOnce にてこの処理を行うようにしました
For %%a In (D E F G H I J K L M N O P Q R S T U V W X Y Z) Do If Exist %%a:¥$WIN7_SP1.x64.txt Set CDROM=%%a:
%CDROM%¥etc¥fix.event10.vbs
上記の例を説明すると $WIN7_SP1.x64.txt というのはインストールメディアのドライブレターを識別する為に、そのルートディレクトリに置いておくファイルです。¥etc¥fix.event10.vbs というこのファイルが解決方法に記述された VB Script ファイルです
我が常用PC の Windows XP SP3 (x65) から Windows 7 Ultimate SP1 (x64) への移行は今現在終了したのですが、32bits 環境ではまったく発生しなかった ASUSTeK Crosshair IV Extreme のオンボード LAN である Intel 82583V(e1q62x64.sys) が BSOD 多発病が発生したので、その時の回避策を記述します
Intel 82583V(e1q62x64.sys) での BSOD 多発病は Windows XP SP3 (x86) 32bits 環境ではまったく発生してなかったので、64bits の Windows 環境固有の問題と思われます
現在 (2011/04/15) Intel 82583V(e1q62x64.sys) のドライバーが入手可能先は以下の表のとおりです
入手先 | バージョン |
Intel_LAN_V117321003.zip ASUSTeK サイトからダウンロードできるドライバ。ファイルバージョンでは現在 (2011/04/15) のところ最新。内容はドライバーのみで VPN などのユーティリティは入っていません。また、インストールはデバイスマネージャーから行います。このドライバファイルはβベージョン扱いの為か、デジタル署名が入っていないので、インストール時に警告が出るが無視してそのままインストールします |
|
PROWinx64.exe (16.1) Intel のサイトからダウンロードできるドライバ + ユーティリティ。このドライバでは BSOD が発生する |
|
Intel_Lan_V11470_XpVistaWin7.zip ASUSTeK サイトからダウンロードできる初期のドライバ + ユーティリティ。このドライバでも BSOD が発生する |
以上、3点のドライバーがダウンロードできるが、一番上のファイルバージョン 11.7.32.1003 の ASUSTeK サイトからダウンロードできるβバージョンのドライバーをインストールことで解決しました。VPN などのユーティリティ関係はありませんが、私の環境ではまったく無用なので、当面はコレで使っていきます
それにしても、BSOD にお目にかかるなんて Windows 2000 を使っていた頃から久しぶりに遭遇しましたよ…('A`)