こんにちは、阿久津です。徒然とTwitterのタイムラインを眺めていますと、日本マイクロソフト公式Twitterの1つが、Windows 8.1へのアップグレード情報をまとめていました。内容は公式サイト内のリンク集という形で用意され、各コンピューター本体メーカーのリンクを列挙したというもの。

リンク先をいくつか訪れてみますと、興味深い傾向がわかりました。例えばソニーはWindows 8.1アップグレード後に、自社製アップデートツールであるVAIO Updateの実施を推奨。NECパーソナルコンピュータはバックアップの作成を強調していましたが、アップデート後に動作しないプリインストールアプリケーションに対して、個別にアップデートモジュールを適用しなければなりません。

東芝もWindows 8.1用のアップデートモジュールを個別にダウンロード可能にしていますが、クリーンインストール時とアップデートインストール時で異なるデバイスドライバー、もしくはアップデートモジュールを提供している状態です。筆者も愛用してきたThinkPadを発売するレノボ・ジャパンはWeb上でモデル名や型番、OSを指定するセレクターの利用を強制されますが、筆者の旧モデルだけでなく最新モデルでもデバイスドライバーは列挙されませんでした。

もっともThinkPadはThinkVantage System Updateが9月17日の時点でWindows 8.1に対応していますので、いくつかのアップデートモジュールを適用するだけで、筆者の旧モデルもWindows 8.1が問題なく動作しています。このように各社がWindows 8.1への対応に対して努力していますが、メーカーによっては温度差もあるようです。

実際、筆者が使用している某社製レーザープリンターは法人向けラインナップに位置するせいか、対応に関するコメント1つありません。ちなみに、そのプリンターはWindows 8.1でも動作可能です。ITリテラシーの高いユーザーであれば自身で情報収集し、軽微なトラブルも対応可能でしょうが、多くのエントリーユーザーはアップデート後の環境でトラブルに見舞われる可能性は少なくありません。

いちユーザーとしては、Windows 8.1にアップデートしても大半のデバイスやアプリケーションが問題なく動作しているため、不満を覚えるような場面はありませんでした。もちろん再インストールが必要な場面や、デスクトップに現れる「SecureBootが正しく構成されていません」を消すために、SecureBoot対応のビデオカードに換装しなければならない、といった問題も発生しています。しかし、これらも自身でトラブル内容を切り分けられたからであり、エントリーユーザーであればサポートセンターや友人・知人に相談を持ち込むレベルかもしれません。

MicrosoftはOSのリリースタイミングを"Rapid Release"に切り替えるとして、約1年単位で新OS(もしくは大規模なアップデート版)をリリースすると思われます。今回のようにカーネルレベルのアップデートが加わるのであれば、似たトラブルが発生する可能性は拭い切れません。以前のように早期に各ベンダーへベータ版を配布し、対応ソフトウェアやデバイスドライバーの開発を促すような施策を用いない場合、トラブルが加速的に増加するのではないでしょうか。少々気になります。

さて、Windows 8.1はUSBポートの仕様を厳格化しましたが、その影響を受けて一部のUSBデバイスが充電できないといったトラブルが発生するようになりました。そもそもUSB 2.0で供給できる電力は500mA、USB 3.0でも900mA。今年8月に仕様策定されたUSB 3.1でも1,000mAに留まっています。しかし、iPadの充電には5W(5V/1A)が必要になるなど、現実にそぐわない状況になりました(図01)。

図01 デバイスマネージャーで確認したUSBハブの電力供給状態。USB 2.0は500mAしか供給できないため、画面の例では不安定な動作につながります

Microsoftは「モバイルコンピューターのバッテリー駆動時間を延長する」ため、一定時間応答がないUSBデバイスに対して電源供給を抑制しています。このルールは俊敏な応答性を求められるHID(ヒューマンインターフェースデバイス)に適用されませんが、一部のHID USBデバイスで再充電できないトラブルが発生しているとのこと。今週はこの問題を解決するため、USBデバイスの高度な電源管理を無効にするチューニングをお送りします。

1. デバイスマネージャーを起動します。
2. 問題があるUSBデバイスのプロパティを開きます。
3. <詳細>タブでベンダーIDなどを確認します。
4. 管理者権限でレジストリエディターを起動します。
5. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB\{ベンダーID}\{製品ID}\{インスタンスID}キーを開きます。
6. DWORD値「EnhancedPowerManagementEnabled」を開き、値のデータを「0」に変更します。
7. レジストリエディターを終了させます。

これでチューニングが完了しました(図02~10)。

図02 [Win]+[R]キーを押して「ファイル名を指定して実行」を起動し、テキストボックスに「devmgmt.msc」と入力して<OK>ボタンをクリックします

図03 デバイスマネージャーが起動したら、ツリーをクリックして展開し、対象となるUSBデバイスをダブルクリックします

図04 ダイアログの<詳細>タブをクリックで開き、「プロパティ」のドロップダウンリストから「デバイスインスタンスパス」を選択します

図05 これでUSBデバイスのベンダーIDなどが確認できました。これをメモしておきます

図06 [Win]+[R]キーを押して「ファイル名を指定して実行」を起動し、テキストボックスに「regedit」と入力して<OK>ボタンをクリックします

図07 レジストリエディターが起動したら、HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USBまでキーをたどって開き、図05でメモしたキーを開きます

図08 {図05でメモしたキー}\Device Parametersキーを開き、右ペインのDWORD値「EnhancedPowerManagementEnabled」をダブルクリックします

図09 値のデータを「0」に変更し、<OK>ボタンをクリックします

図10 操作を終えたら、<×>ボタンをクリックしてレジストリエディターを終了させます

早速結果を確認してみましょう。問題発生中のUSBデバイスを一度コンピューターから取り外し、再び接続してください。Windows 8以前のように安定して通電もしくは再充電が始まっている場合はチューニング成功です。なお、デバイスマネージャーで確認したデバイスインスタンスパスですが、「VID_046D&PID_C51B&MI_01」の場合、「VID_046D」がベンダーID、「PID_C51B」が製品、「MI_01」がインスタンスIDとなります。

なお、高度な電源管理に対応したUSBデバイス用ドライバーがリリースされた場合、本チューニングが無駄な電力消費の原因となりかねません。その場合は、ステップ06で変更した値のデータを「1」に戻してください。

それでは、また次号でお目にかかりましょう。

阿久津良和(Cactus