Windows 7でUSB 3.0ハブの省電力を有効にできないようにする


14

デスクトップコンピューターにUSB 3.0ハブをインストールしました。

バックアップ用に外部USB 3.0ディスクを接続するためにそれを使用していますが、問題があります:Windows 7はデフォルトでハブの省電力を有効にします。これにより、集中的なI / O操作中にディスクが切断されます(例:8午後)。

この設定を無効にするには、次の手順を実行します:
デバイスマネージャーに移動し、ハブを右クリックして、[プロパティ]> [電源管理] > [ 電力を節約するためにコンピューターでこのデバイスをオフにできるようにする]のチェックを外します

残念なことに、コンピュータを再起動するたびに、ボックスが再びチェックされます。この設定を永久に無効にする方法はありますか?

編集:上記の設定の実際の英語名で質問を編集しました(以前はあまり明確ではありませんでした)。

編集ピーター・フィッツジェラルド答えは、私がこれまでやってきたことを正確に説明しています。再起動するたびにチェックボックスが再びマークされ、永久に無効にする方法を探しています。

編集 Synetech答えを読んだ後、設定を変更すると変更されるレジストリエントリを追跡できました:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\FLUSB\ROOT_HUB_FL30\5&f0b5d82&1\Device Parameters\WDF\IdleInWorkingState (DWORD)

このキーは、チェックボックスの設定を解除するたびに、またプロセスシステムによってデバイスを非アクティブ化および再アクティブ化するときに、管理コンソールによって変更されます。残念なことに、承認の設定はすべて無視され、すべての特権をすべてのユーザーに拒否しても、キーは常に1に設定されます。

オンラインで検索してみたところ、このMicrosoftガイドが見つかりました。彼らが説明したすべてのキーを設定しようとしても助けにはなりませんでした。これらのキーは無視されているようです。私も、既存のキーの右のパスをコピーしようとした.INF(下に置くためにどのキーをオンラインで見つける/WDFように、親の下に置くためにどのキー)この、私は何も得ませんでした。

その他の有用な情報:

  • の下にHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\FLUSB\ROOT_HUB_FL30\、私はこれらの2つの声も持っています:5&f0b5d82&05&21f33a01&0、上記のキーの構成を反映しているようです。IdleInWorkingStateただし、変更されるのは上記の変更のみです。
  • レジスタを手動で編集しても、デバイスマネージャーのチェックボックスの値は変わらず、どこかにキャッシュする必要があります。


@ and31415:いいえ、そうではありません。私もかなり前にそれを無効にしなければなりませんでしたが、再起動後もそのままです。
scristalli

これは無効に設定されていますか?:コントロールパネル->電源オプション->プラン設定の変更->詳細な電源設定の変更-> USB設定-> USBセレクティブサスペンド設定。
harrymc 14年

@harrymc、上記の2つのコメントを読むと、既に無効にしていることがわかります。
scristalli 14年

USB3はどのようなメーカーですか?私には「電源管理」タブがまったくなく、完全に電源が切れることはありません。
harrymc 14年

回答:


6

所要電力

デスクトップコンピューターにUSB 3.0ハブをインストールしました。バックアップ用に外部USB 3.0ディスクを接続するために使用しますが、問題があります:Windows 7では、ハブのデフォルトで省電力が有効になっているため、激しいI / O操作中にディスクが切断されます

ドライブが大量の電力を消費しようとしているという理由だけでなく、ドライブが電源管理のためにシャットダウンしていると確信していますか?デバイスマネージャーを使用して、USBハブの消費電力を確認できます(図1および2)。ハブがポートごとに提供できる電力が外部ドライブに十分であることを確認します。そうでない場合は、USB Yアダプター(図3および4)を使用して2つのポートから電力を引き出すことができます。(通常、ハイドローの外部ドライブには、この目的専用のYアダプターが付属しているため、ボックスとマニュアルを再確認してください。)

病気の追跡

この設定を無効にするには、次の手順を実行します:デバイスマネージャーに移動し、ハブを右クリックして、[プロパティ]> [電源管理]> [コンピューターがこのデバイスの電源をオフにできるようにする]のチェックを外します

残念なことに、コンピュータを再起動するたびに、ボックスが再びチェックされます。この設定を永久に無効にする方法はありますか?

その設定を無効にすることで実際に問題が解決する場合、問題は元に戻り、元に戻らないことです。1つのオプションは、関連するレジストリエントリ()に設定されたフィルターでプロセスモニターのようなものを使用しHcDisableSelectiveSuspendて、オプションがオフになるように変更するプログラムを確認することです(電源管理1無効に設定する必要があります)。

設定が元に戻される実際の原因を追跡するため、これが理想的な方法です。残念ながら、それは原因を見つけるだけです。実際に修正するのは簡単ではないかもしれません。たとえば、Windowsはシャットダウン時に自動的に元に戻すか、より可能性が高いので、起動時にハードウェアを検出するとデフォルトに設定します。

「デバイス」の定義。USBポートを確認する

ちなみに、ドライブを別のUSBポートに接続していますか?Windowsに関する限り、「既知のデバイス」はdevice + portのペアです。したがって、以前にデバイスをポートAに接続し、Windowsがそのドライバーをインストールできるようにした場合、後で保存デバイスをポートBに接続します。 Windowsはそれを新しいデバイスとして認識し、デフォルト設定とともにそのドライバーを(再)インストールします。したがって、新しいポートに接続するときは、すべての設定を再設定する必要があります。その後、Windowsは新しいポートと古いポートの両方の設定を記憶する必要があります。ドライブを各USBポートに1回接続し、どのポートに接続しても将来的にすべてが確実に設定されるように設定することができます。(ドライブ文字についても同じことが言えますが、リムーバブルボリュームのドライブ文字の一時的な性質により、信頼性がやや劣る傾向があります。

症状の治療

Windowsが設定を元に戻さないようにする1つの方法は、設定へのアクセスを単に拒否することです。これにはレジストリエディタを使用する必要がありますが、注意しないと危険です。変更を行う前に、通常のバックアップの注意事項とダブルチェックを行ってください(特に何かを削除する場合は、ここで行うべきではありません)。

  1. 最初に、関連するデバイスIDを見つける必要があります。

    1. デバイスマネージャーでハブの[ USBルートハブプロパティ ]ダイアログを開き(図1)、[ 電源管理 ]タブに切り替えます。
    2. Allow to turn offチェックボックスの値を変更します(何でも構いません変更するだけです)が、クリックしないでくださいOK(図5)
    3. Process Managerを実行し、フィルターを設定します(図6):
      1. Ctrl+L
      2. 以下のために設定しPathcontainsDisableSelectiveSuspendInclude
      3. クリック Add
      4. 以下のために別のフィルタを設定しOperationcontainssetvalueInclude
      5. Add
      6. クリック OK
    4. 現在のキャプチャをクリア(Ctrl+ X)、まだ実行されていない場合は開始(Ctrl+ E
    5. [ デバイスマネージャー ]ダイアログボックスに戻ってクリックしますOK
    6. プロセスモニターに切り替えてキャプチャを停止(Ctrl+ E
    7. GUIDの後に4桁のデバイスIDを書き留めます(図7)。この例では、0055

      HKLM\System\CurrentControlSet\Control\Class\{36FC9E60-C465-11CF-8056-444553540000}\0055\HcDisableSelectiveSuspend
      
  2. Process Monitorの行をクリックし、Ctrl+ Jを押してRegeditを開き、キーに直接移動します(それが機能しない場合は、Regeditを開いて手動でキーに移動します)

  3. 設定を最後にもう一度設定します([ 電源管理 ]タブのチェックボックスをオフにして、をクリックしますOK

  4. 次に、その設定をロックし、キーへのアクセスをブロックします(図8):

    1. Regeditの左ペインでキーを右クリックします
    2. 権限を選択
    3. クリック Advanced
    4. 国連が -check Inherit from parentボックスをクリックCopyし、OK
    5. 戻るアクセス権ダイアログ(非先進)定期に、上のリストで、それぞれ1のために記載されているグループとユーザーのそれぞれをクリックして、国連は -check Full Control下のリストにボックスを

誰も、あなたも、システム自体も設定を変更することはできません(しかし、彼らはまだそれを読むことができます)。(必要に応じて、[ セキュリティ詳細設定 ]ダイアログでアイテム固有のアクセス許可を削除し、ボックスを再チェックすることにより、書き込みアクセスを復元できInherit from parentます。

もちろん、設定を維持するために、後で再起動する必要があります。

最後の手段

ドライブがまだシャットダウンしている場合は、上記のように設定HKLM\System\CurrentControlSet\Services\usb\DisableSelectiveSuspend1て読み取り専用にします。この設定は通常のシステムには存在しませんが、 HcDisableSelectiveSuspendのように文書化されていません(それに対する唯一の参照はコミュニティページにあります)HcDisableSelectiveSuspend

シャーロック・ホームズ

この時点で、必要に応じて、症状を治療するだけでなく、戻って根本的な問題を診断できます。上記のフィルターを使用して、起動時(オプション→起動ログの有効化)およびシャットダウン時(これはややトリッキー)にして、変更内容を正確に見つけることができます。その後、指を交差させて、それを防ぐ方法があることを望みます。


イラスト

図1:デバイスマネージャーのUSBハブのスクリーンショット

デバイスマネージャーのUSBハブのスクリーンショット

図2:USBハブでの電力消費のスクリーンショット

USBハブの電力のスクリーンショット

図3:USB Yアダプターの写真

USB Yアダプターの写真

図4:USB Yアダプターの使用法の図

USB Yアダプターの使用図

図5:USBハブの[電源管理]タブのスクリーンショット

USBハブの[電源管理]タブのスクリーンショット

図6:必要なプロセスモニターフィルター

必要なプロセスモニターフィルターのスクリーンショット

図7:プロセスモニターの結果の関連するレジストリエントリのスクリーンショット

Process Monitorの結果の関連するレジストリエントリのスクリーンショット

図8:レジストリキーを読み取り専用に設定するフロー図

レジストリキーを読み取り専用に設定するフロー図


まず第一に、あなたの素晴らしい答えに感謝します、それは間違いなく賞金のポールポジションにあります。私はあなたのアドバイスに従いましたが、追加の詳細を発見しましたが、問題はまだ解決していません。それに応じて質問を編集しました。編集から追加情報を入手できることを願っています。
scristalli 14年

2

デバイスマネージャに移動し、[ユニバーサルシリアルバスコントローラ]の下のツリーリストを展開し、デバイスのエントリを右クリックして、プロパティを選択します。

ここに画像の説明を入力してください

プロパティダイアログの[電源管理]タブに移動し、[電力を節約するためにコンピューターでこのデバイスの電源をオフにできるようにする]チェックボックスをオフにします。

ここに画像の説明を入力してください

ラップトップを使用している場合は、高度な電源プラン設定に移動して、Windowsが使用されていないときにデバイスの電源を切ることを許可するオプションを無効にする必要があります。


ご回答有難うございます。私の質問から明確でない場合は申し訳ありません(イタリア語でWin 7を使用し、その場で翻訳しようとしました)が、それはまさにこれまでやってきたことです。
scristalli

質問を編集しました。再度感謝しますが、解決策はそれほど簡単ではないようです。
scristalli

2

他のソリューションはどれも機能していないため、次の回避策で解決しました。

設定を無効にするPowershellスクリプト

インターネットで見つかったスクリプトを編集して、これを作成しました。

C:\ powerMgmt.ps1

$hubs = Get-WmiObject Win32_USBHub
$powerMgmt = Get-WmiObject MSPower_DeviceEnable -Namespace root\wmi | where {$_.InstanceName.Contains($hubs.PNPDeviceID)}

foreach ($p in $powerMgmt)
{
    $p.Enable = $False
    $p.psbase.Put()
}

昇格された特権で起動時に実行する

上記のスクリプトには昇格された特権が必要なので、Windows 7のタスクスケジューラでタスクを作成して、ユーザーでログインするときに(ユーザー管理者として)次のスクリプトを実行します。

C:\ powerMgmt.cmd

powershell -file C:\powerMgmt.ps1

このすべてはちょっとしたハックです。それはエレガントではなく、問題を理解する助けにはなりませんが、解決します。


0

レジストリを編集する必要があります。

  1. regedit.exeを開き、管理者として実行します。

    a)スタートをクリックし、検索ボックスに「regedit」と入力し、regedit.exeを右クリックして、「管理者として実行」を選択します。

  2. 展開[HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \

    a)サービスを右クリックし、「新規」にカーソルを合わせて「キー」を選択します

    b)「USB」と入力します

    c)[USB]に移動し、[USB]を右クリックします

    d)「新規」にカーソルを合わせ、「DWORD(32ビット)値」を選択します

    e)デフォルト値を「DisableSelectiveSuspend」に変更します

    f)DisableSelectiveSuspendを選択し、[編集]> [変更]をクリックします

    g)[値のデータ:]の下で、0を1に変更し、[OK]をクリックします。

  3. コンピューターを再起動します。問題を解決する必要があります。

レジストリを編集するのが不快な場合。メモ帳を開いて、下のテキストをメモ帳にカットアンドペーストし、任意の名前でファイルを保存できます。たとえば、「。txt」拡張子ではなく「.reg」拡張子を付ける必要があります。「ドキュメント」フォルダーにファイルを保存する場合、Windowsエクスプローラーからファイルをダブルクリックする必要があり、レジストリ値が作成されます。以下はメモ帳に貼り付けるテキストです。行間のすべてを含めます。


Windowsレジストリエディターバージョン5.00

[HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ services \ USB] "DisableSelectiveSuspend \" "= dword:00000001


.regファイル方式を使用する場合は、コンピューターを再起動すると問題が解決します。


試してくれてありがとう、でもうまくいかなかった。
scristalli

0

ドライバーを完全に削除して、古いUSB情報を消去しようとする場合があります。

  1. [デバイスマネージャー]に移動して[ユニバーサルシリアルバスコントローラー]を開き、USBルートハブを右クリックして[アンインストール]を選択します。

  2. regeditを使用して削除しHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\FLUSBます。
    アクセス許可エラーの場合は、Windowsレジストリキーを完全に制御する方法(コメントを含む)を参照してください 。ここでは無料のユーティリティRegOwnitが役立ちます(私自身は使用しませんでした)。

  3. リブート。

念のため、最初にシステムの復元ポイントを作成します。

別の解決策は、上記の手順と組み合わせることができる古いドライバーを使用することです。

ここに私が見つけた2つがあります:
3.5.36.0、A01
Fresco Logic USB 3.0 Driver 3.5.93.0


0

複数の異なる電源管理スキームをセットアップできますが、1つを選択できます(「バランス」または「高性能」など)。Windowsが選択した電源管理スキームを読み込んいる可能性があり、USB電源管理を無効にしていない可能性があります。

[スタート]メニューで、「電源プランの編集」と入力し、[スタート]メニューで見つかったオプションを選択します。スクリーンセーバーを設定するパーソナライズ設定など、このウィンドウにアクセスする方法は他にもいくつかあります。

そこに来たら、「高度な電源設定を変更する」必要があります。

次に、[USB設定]、[USBセレクティブサスペンド設定]の順に進み、ここで設定を変更します

他の誰かがあなたの問題について書いた記事はこちらです。その中に同様の指示と写真があります。


答えてくれてありがとう、しかし、私がここで言及したかどうかはわかりませんが、それは私が最初に試みたものです。うまくいきませんでした。現在、動作する唯一のソリューションは、Powershellスクリプトがログイン時の設定を無効にして、私が投稿したものです。
scristalli
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.