*1  Windows 7 64bit 版で Windows Update が終了しない問題

数週間前から Windows Update が走りっぱなしで電源を入れたまま丸一日以上放置しても終了せず、当然ながら更新を導入できないのみならず CPU を常時 13% 程度食いつぶしてくれたおかげで動作はともかくバッテリーが持たなくなって大変参っていたのだが、これを直すのに結構苦戦したので備忘録として記載しておく。

症状としては
  • Windows Update で Check Online Update をクリックして更新の確認が走りだしてから24時間以上放置しても終了しない
  • 更新の確認が明に動いていない時も自動更新が常時 CPU を 13% (1コア) 程度消費し続ける。より詳しくは特定の svchost が CPU を常時消費、そこから Go to Service(s) で Services を見ると複数の利用サービスのうち wuauserv (Windows Update) を Stop Service した際に CPU 消費が止まるので、これが原因であるとは特定できる。

1. Clean boot
まずは定石として MS 以外のサービスを止めて様子を見る。[Win] + R でプロンプトを出して msconfig を実行。 msconfig → Services → Hide all Microsoft services → Disable all を実行。これで Microsoft 以外のサービスは全て無効化されるので再起動し、その後に Windows Update を実行。しかし効果なし。

2. Microsoft の Fixit を適用
Microsoft support KB の How do I reset Windows Update components? に行くと自動的に Fixit のダイアログがポップアップするので Run now をkクリック。ダウンロードされたツールを実行し、利用許諾を Accept し、自動修復を選択する。この実行完了時点で "Repair Windows Update components" が Fixed というステータスで表示された。しかし実際にこの後に Windows Update を実行しても全く同じ状態になる。 更に Fixed が表示された後に再度 Fixit を実行しても、再度 Component が Repair されたというメッセージが表示される。つまりは問題はあるが修正が完了しない状態なのだろうか。

3. Windows Update standalone installer KB947821
色々と調べると System Update Readiness Tool - KB947821 というものがあるらしいので実行するが、通常の Update 同様に延々と終了しない状態に陥る。

4. System File Checker tool
2 で Windows Update component に問題があるようなメッセージになっているので、念のため System File Checker tool を実行。コマンドプロンプトから sfc /scannow を実行。スキャンには数分間かかるが、どうやら幾つかのファイルが Fix をうけたようだ。数日前に再インストールしたばかりなのになんで壊れてるんや…。しかしこの後も Windows Update の実行は状況変わらず。ただこの実行後に再起動し、2 のツールを再度実行すると今回は KB947821 がインストールされた。これで直ったかと思ったがそれはしかし甘かったようで同じ状況が再現。

5. Microsoft Fixit tool 50202
しかたがないので更に調べてみると、MicrosoftFixit50202.msi というツールが Windows Uupdate をほぼ再インストールするようなアクションが取れるっぽい。ただこのツールは今はMSのサイトから探しても見つからなくて、多分新しい Fixit で置き換えられたのかなと思う。探せばその辺に MS 署名付きのアプリが落ちているので使えないことはないが、これで更にトラブルになったという話も見かける。

今回は直らなかったらまた再インストールからやり直すしかないと思っていたのでなんにせよ使ってみる。Run aggressive options という選択肢もあったが初回はチェックせずに実行。コンポーネントの上書きがされたのか、結果的にはこれで問題は解決し、Windows Update を再度実行するときちんと Scan が終了して必要な更新が表示されてくれた。やれやれ。

*1  Dell の英語配列キーボードとその初期設定

というわけで数日前から使っている Vostro 1000 だが、英語キーボード搭載なのに「地域と言語の設定」が [EN] と [JP] の 2種類存在し、[JP] を選ぶと配列が日本語106キー配列(例えばShift+2が@でなく")になってしまう。[EN] で使うと英語キー配列だが MSIME が利用できない。ドライバは101英語キーボードになっているのだが。これはキーボードを途中で日本語106から英語101に変更したときによく出会う状況だ。

日本語入力時も英語配列で使うために、まず regedit から \HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\i8042prt\Parameters\LayerDriver JPN の値を KBD106.DLL から KBD101.DLL に変更して再起動... が、効果無し。そこでもうひとつの関連レジストリ HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layouts\E0010411\Layout File を見てみると、案の定 KBDJPN.DLL だったので、KBDUS.DLL に変更して再起動し、[EN] を削除。これで普通に [JP] だけでも英語配列で使えるようになった。

以前に DELL で英語キーボードで発注した他の人も同じ経験をしているようだ。セットアップに日本語キーボードで構築した共通ディスクイメージをコピーしてるのかなと思うが、ちょっと面倒なのでまともな初期状態での出荷をしてほしいところ。

*1  日本語入力のOn/Off切り替えキーを変更する:IME 日本語入力システムの使い方

Araki notes - MS IMEのon/offキーの変更 経由。X (今だと uim-anthy) では Shift+Space で FEP の ON/OFF toggle をしているが、 Windows でも同じキーバインドで使えるのは嬉しい。そもそも Alt+半角/全角 と言うキーストローク自体が押しにくすぎるし。
ちなみに Microsoft IME 2000 でも同様に設定が出来た。
  1. IMEバーの[ツール]→ [プロパティ]をクリック
  2. [Microsoft IME XXXXのプロパティ]ダイアログ → [全般]タブ
  3. 上部右側にある [設定]ボタンをクリック
  4. [Microsoft IME XXXX 詳細プロパティ]ダイアログ→[キー設定]タブ
  5. [*キー]列(左端)に「Shift+SPACE」と表示されている行の、[入力/変換済み文字なし]列(左から2列目)の「全角空白」という文字を選択
  6. [変更]ボタンをクリック
  7. [機能選択]ダイアログで「IME-オン/オフ」を選択後[OK]ボタンをクリック
問題は全角空白の入力方法が無くなることか。住所の入力時に半角空白をはじくバカなWebサイトがたまーにあるので必要になるが、それは何かに単語登録しておこう。

About W.W.Walker

World Wide Walker は yoosee による blog です。PDA, Web・サーバ技術, 美味しい食べ物などの話題を取り上げています... read more

Monthly Archives

Select Month to read
  

Ads

Recent Entries

Related Sites