当サイト(ブログ含む) のドメインを変更しました。2019/02 までは自動転送されますが、それ以降は旧ドメインではアクセスできなくなります
本ブログの新アドレスは blog.alphaziel.info となります
DNS 逆引きでホスト名が不明な IP ドレスはアクセス拒否するよう設定致しました。該当する方は DNS サーバー設定確認をお願いします。そもそも、既にこのページ自体が見れないから、この告知は意味を成しませんね (・ω<) てへぺろ
I changed the domain of this site (including blog). Until 2019/02 will be forwarded automatically, but after that it will be inaccessible in the old domain
The new address of this blog will be blog.alphaziel.info
We decided to deny IP dress whose host name is unknown by DNS reverse lookup. Please check the DNS server setting if applicable. In the first place, since this page itself can not be seen already, this announcement does not make sense (· ω <) Tohpeiro
Windows の統合インストール USB メモリの作成やクリーンインストールの度に GUI で電源オプションの各電源プランの設定を行うのは面倒なので、一括設定を行う Windows コマンドスクリプト(PowerCfgSet.cmd) を作りました
使用する際にはなるべく、ディスプレイドライバーをインストール後に実行する事です。斜体の部分を変更する事によって、個別設定の値を設定して使用してください
PCパーツの中で数少ない駆動機構を持つハードディスク(HDD) の電源を On/Off するのは百害あって一利無し1 なので、全ての電源プランにおいてハードディスクの電源は落とさない様にしています
@Echo Off
POWERCFG -GETACTIVESCHEME > %TEMP%¥powercfg.active.txt
POWERCFG -LIST | FIND "電源設定の" > %TEMP%¥powercfg.list.txt
FOR /F "tokens=1,2,3,4* delims=: " %%A in (%TEMP%¥powercfg.list.txt) DO (
Echo %%A %%B %%C %%D
POWERCFG -SETACTIVE %%C
If "%%D" == "(省電力)" (
POWERCFG -CHANGE -monitor-timeout-ac 15
POWERCFG -CHANGE -monitor-timeout-dc 15
) ELSE
POWERCFG -CHANGE -monitor-timeout-ac 0
POWERCFG -CHANGE -monitor-timeout-dc 0
)
POWERCFG -CHANGE -disk-timeout-ac 0
POWERCFG -CHANGE -disk-timeout-dc 0
POWERCFG -CHANGE -standby-timeout-ac 0
POWERCFG -CHANGE -standby-timeout-dc 0
POWERCFG -CHANGE -hibernate-timeout-ac 0
POWERCFG -CHANGE -hibernate-timeout-dc 0
)
FOR /F "tokens=1,2,3,4* delims=: " %%A in (%TEMP%¥powercfg.active.txt) DO POWERCFG -SETACTIVE %%C
Erase %TEMP%¥powercfg.active.txt
Erase %TEMP%¥powercfg.list.txt
詳しい原因は不明ですが、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 を手動から自動に変更するだけです
以上で、イベントビューアーに警告は出なくなります
久しぶりに本ブログを更新して、ふと UA の Firefox Quantum でアクセスし、CTRL + U で HTML ソースを見たら、何じゃこりゃ~!? とヘッダー部分に余計な汚らしい JavaScript が入っているではないか!
上記画像の水色で囲っている部分が WordPress が行っている余計な仕業です。で、最も簡単な解決方法は WordPress をインストールしているディレクトリにある wp-includes/default-filters.php を以下の行を見つけコメントアウトしてしまう事です
add_action( 'wp_head', 'rest_output_link_wp_head', 10, 0 );
add_action( 'wp_head', 'wp_resource_hints', 2 );
add_action( 'wp_head', 'print_emoji_detection_script', 7 );
add_action( 'wp_print_styles', 'print_emoji_styles' );
しかし、私の場合は WordPress 自体がバージョンアップする度にサーバー上に全上書きしているので、この方法だとバージョンアップの際にこの修正を忘れてしまうというヒューマンエラーを起こしてしまいます
そこで、WordPress 関数 remove_action を使います。変更対象はテンプレートの header.php を以下の様に wp_head 関数をコールされる前に記述しておきます。本ブログのテンプレートは自前で作成した物なので、WordPress バージョンアップ際にはテンプレートは更新対象外なので影響はありません
<?php
/* 2018/08/06 ヘッダーに余計なゴミ JavaScript 等を除去する */
remove_action( 'wp_head', 'rest_output_link_wp_head', 10 );
remove_action( 'wp_head', 'wp_resource_hints', 2 );
remove_action( 'wp_head', 'print_emoji_detection_script', 7 );
remove_action( 'wp_print_styles', 'print_emoji_styles' );
wp_head();
?>
以上の変更を施し、サーバーにアップロードを行い、UA でリロード、ソースを見ると、下記画像の様にすっきりしました