Windows11のDRIVER_POWER_STATE_FAILUREをuaspstor.sys起因で解決する手順|ntoskrnl.exe表記でも慌てない完全ガイド

Windows 11 で突然「DRIVER_POWER_STATE_FAILURE(ntoskrnl.exe)」のブルースクリーンが出て再起動を繰り返す――そんな相談に対し、ミニダンプ解析から原因ドライバーが uaspstor.sys(UASP:USB 接続ストレージ用ドライバー)であることを特定しました。本稿では実運用で効果があった対処を、最短経路と検証方法まで具体的にまとめます。

目次

症状の概要と結論(先に要点)

  • 停止コード:DRIVER_POWER_STATE_FAILURE(一般に 0x0000009F)
  • クラッシュ時にスタックへ現れた主因:uaspstor.sys(Windows 標準 UASP ドライバー)
  • 関与モジュール表記:ntoskrnl.exe(OS カーネル。結果として巻き込まれているだけのことがほとんど)
  • 再現タイミング:スリープ/休止・復帰、シャットダウン/起動、外付け HDD/SSD の抜き差し、ポート変更など
  • 第一推奨策:USB 外付けストレージを外して再起動 → 症状が止まるか確認。止まるならデバイス/ドライバー起因の可能性が高い。

uaspstor.sys とエラーの関係を理解する

uaspstor.sys は USB Attached SCSI(UASP)プロトコルで動作するストレージ(外付け SSD/HDD、ドッキングステーション内蔵コントローラー等)を Windows に接続するための標準ドライバーです。UASP は従来の BOT(Bulk-Only Transport)より高速・低遅延ですが、下記の条件で電源状態遷移(D-Status / S-Status)のハンドシェイクに失敗し、0x9F を誘発することがあります。

  • USB ブリッジチップ(ASMedia/JMicron/Realtek 等)の古いファームウェアや相性
  • USB ハブ経由(セルフパワーでないバスパワー供給不足やケーブル品質)
  • チップセット/USB コントローラーとデバイスの省電力設定の齟齬
  • Windows Update または OEM ドライバー更新後のタイミングでの不整合

最短で試す基本対処(効果大)

  1. USB 外付けストレージをいったんすべて取り外す(USB ハブも含む)。
  2. PC を再起動し、同じ作業(スリープやシャットダウン等)を実施して ブルースクリーンが再発するか確認。
  3. 再発しない → 原因は 接続していた USB ストレージ系に絞り込める。デバイスを一台ずつ戻して再テスト。
  4. 再発する → ストレージ以外/OS 側の可能性。後述の総合対策を順に実施。

現場での切り分けコツ

  • 複数台の外付け HDD/SSD・カードリーダー・ドックを使っている場合、一台ずつ・別ポートで検証。
  • 可能なら USB 3.x → USB 2.0 ポートに差し替えて挙動を比較(UASP → BOT へフォールバックする個体あり)。
  • ケーブルを交換(短く太い、確実な USB 3.x 対応)。粗悪ケーブルは電力・信号品質の双方で不具合源になります。

追加で推奨される対策(必要に応じて実施)

手順目的操作例
ドライバー更新uaspstor.sys 周辺の既知不具合修正デバイスマネージャー → 「USB 接続 SCSI(UAS)デバイス」→「ドライバーの更新」
ドライバーのロールバック更新版にバグがある場合の回避同デバイスのプロパティ →「ドライバー」タブ →「ドライバーを元に戻す」
Windows UpdateOS 側の安定化パッチ適用設定 → Windows Update → 最新更新プログラムを適用
チップセット/USB コントローラー更新コントローラーとデバイスの整合性確保PC/マザーボードのサポートページで最新版を導入
USB セレクティブサスペンド無効化省電力遷移時の誤動作防止電源オプション → 詳細設定 → USB 設定 → セレクティブサスペンド設定「無効」
システムファイル検査OS コンポーネント破損の修復管理者で sfc /scannow、必要に応じて DISM
BIOS/UEFI で UASP 無効化古いデバイスとの互換重視(BOT 強制)BIOS 設定に UASP/USB Storage 関連項目があれば「Disabled」へ

各対策の具体手順と注意点

デバイスマネージャーで UAS デバイスを更新/ロールバック

  1. Win + X →「デバイス マネージャー」。
  2. 「記憶域コントローラー」「ユニバーサル シリアル バス コントローラー」を展開。
  3. 「USB 接続 SCSI(UAS)デバイス」「USB Mass Storage Device」「USB ルート ハブ(USB 3.0)」などを確認。
  4. 該当デバイスを右クリック →「プロパティ」→「ドライバー」タブで
    • 「ドライバーの更新」:自動検索または「コンピューターを参照して…」→「互換性のあるハードウェアを表示」。
    • 「ドライバーを元に戻す」:直前の更新が原因と思しき場合に有効。
    • 「電源の管理」タブ(ある場合):「電力節約のために…」のチェックを外すと改善する例あり。

ポイント:デバイス側(外付けケース/ドック)に BOT 兼用の INF が用意されていない限り、Windows 標準の uaspstor.sys を用います。更新で改善しない場合、後述の省電力設定やポート変更を併用しましょう。

Windows Update と OEM ドライバーの両輪で整える

  • Windows Update:品質更新プログラムは UASP/USB 周りの安定化を含むことがあります。再起動後の再確認を忘れずに。
  • OEM ドライバー:Intel/AMD チップセット、USB 3.x コントローラー、ストレージ関連ドライバーは OS より先に更新しておくと安定しやすくなります。

USB セレクティブサスペンドを無効化

省電力状態(D2/D3)へ移行する際の応答遅延でハングする場合に有効です。ノート PC ではバッテリー駆動時だけ無効化して挙動を比較してもよいでしょう。

  1. コントロール パネル →「電源オプション」→ 現在のプラン「プラン設定の変更」。
  2. 「詳細な電源設定の変更」→「USB 設定」。
  3. 「USB セレクティブサスペンドの設定」=「無効」。

コマンドで一括適用する場合:

powercfg /SETACVALUEINDEX SCHEME_CURRENT SUB_USB USBSELECTSUSPEND 0
powercfg /SETDCVALUEINDEX SCHEME_CURRENT SUB_USB USBSELECTSUSPEND 0
powercfg /S SCHEME_CURRENT

システムファイルの整合性を確認(SFC / DISM)

OS コンポーネントの破損があると、電源管理 API 呼び出しや PnP 通知が連鎖的に失敗します。管理者権限の PowerShell/コマンドで以下を順に実行します。

sfc /scannow
DISM /Online /Cleanup-Image /RestoreHealth

SFC で修復が走った場合は再起動、その後に再度 sfc /scannow を実施して「整合性違反は検出されませんでした」になるまで確認します。

BIOS/UEFI 設定の見直し(上級)

一部の BIOS/UEFI には「UASP」「USB Mass Storage Driver」「XHCI 関連」などの切替が用意されています。該当項目がある場合、UASP を無効にすると BOT モードにフォールバックし、安定するケースがあります(速度は低下)。

  • 用語例:UASP Support, XHCI Hand-off, USB Compatibility Mode 等。
  • 変更前に既存設定を記録/写真撮影しておくと復旧が容易。

USB ハブ・ドック・ケーブルの見直し

  • セルフパワー(AC アダプター付き)のハブを優先。バスパワー依存の環境は不安定になりがちです。
  • ドッキングステーション経由でのみ再現する場合、PC 直挿しで比較。
  • ケーブルは データ+給電能力が十分なものを選び、延長ケーブルや過度に長いケーブルは避ける。

USB ブリッジのファームウェア更新(可能な場合)

外付けケース内のブリッジチップ(ASMedia/JMicron/Realtek 等)のファームウェアを更新すると、UASP の省電力遷移やホットプラグの安定性が向上することがあります。メーカーが提供するユーティリティで型番と適用可否を確認し、実施前に必ずデータのバックアップを行ってください。

原因の特定方法(ミニダンプ・イベントビューア・周辺情報)

ミニダンプで uaspstor.sys を確認する

  1. %SystemRoot%\Minidump に生成された .dmp を WinDbg などで開きます。
  2. !analyze -v の出力で Probably caused by やスタックに uaspstor.sys が現れるか確認。
  3. 停止コード 0x9F の場合、Parameter 0 が 3 または 4 なら電源状態遷移の待ち合わせ不成立が濃厚です。

解析が難しい場合は BlueScreenView などの簡易ツールでも「モジュール名」「ドライバ名」欄で概ね絞り込めます。

イベント ビューアで関連ログを拾う

  • Windows ログ → システム → BugCheck(イベント ID 1001)、Kernel-Power(41)などの前後関係。
  • 「ユーザー PnP」や「USBHCI」関連の警告/エラーを合わせて確認。

powercfg で電源関連の不整合を洗い出す

powercfg /a
powercfg /devicequery wake_armed
powercfg /requests
powercfg /energy

powercfg /energy 実行後に生成される HTML レポートでは、USB デバイスの省電力ポリシーやドライバー応答遅延の指摘を確認できます。

実運用に効く「段階的」修復フロー

  1. 外付け USB ストレージとハブを外す → 再発有無を確認。
  2. 再発が止まるなら、デバイスを 1 台ずつ接続し
    • ポート(USB-C/USB-A、3.x/2.0)を変えながらテスト。
    • ケーブル交換、セルフパワーハブ利用で供給品質を上げる。
  3. 安定しない個体が判明したら
    • デバイスマネージャー:UAS デバイスの更新/ロールバック。
    • Windows Update/OEM ドライバー更新を適用。
    • USB セレクティブサスペンドを無効化。
    • 可能なら BIOS で UASP を無効化(BOT 強制)。
    • 代替ケース・別ブリッジチップへの交換を検討。
  4. OS 破損の疑いがあれば SFC/DISM を実施。
  5. 最終手段としてドライバー検証(Driver Verifier)で再現を促し、問題ドライバーを特定(テスト前に復元ポイントを作成し、解除手順を把握)。

検証チェックリスト(再発防止まで確認)

検証観点合格条件補足
スリープ → 復帰5 回連続で BSOD なし復帰直後のディスク負荷時も安定
シャットダウン/起動3 サイクル以上で問題なし高速スタートアップ ON/OFF で比較
大容量コピー100GB 以上の連続コピーが完走別ポート・別ケーブルでも再検証
ポート変更USB-C/USB-A、3.x/2.0 いずれも安定ハブ経由・直挿し両方で確認
休止状態(Hibernation)3 回以上で BSOD なしpowercfg /h on で検証可

よくある質問(FAQ)

Q. 画面に出るのは「ntoskrnl.exe」ですが、これが原因ですか?

A. ほとんどのケースで ntoskrnl.exe は「最終的にクラッシュを処理したカーネル」であり、根本原因ではありません。ミニダンプやスタックで uaspstor.sys が関与していれば、UASP ドライバー/デバイス周辺に焦点を絞るのが近道です。

Q. UASP を無効化すると遅くなりませんか?

A. BOT モードではキューイングや同時処理が制限され、シーケンシャルや小さなランダム I/O で性能低下が見られます。とはいえ安定性重視の現場やバックアップ用ディスクでは、まず落ちない構成を優先するのが合理的です。

Q. データは安全ですか?

A. 0x9F 自体は主に電源状態遷移の問題で、直ちにファイルシステムが破損するとは限りません。ただしクラッシュ中の書き込み中断はリスクです。復旧後に chkdsk /scan を行い、重要データは別媒体へバックアップしてください。

Q. どのデバイスが悪いのか見分ける簡単な方法は?

A. 最も簡単なのは一台ずつ接続して再現テストです。加えて イベント ビューア/powercfg /energy/BlueScreenView を組み合わせると短時間で絞り込めます。

トラブルが長引く場合の「深掘り」テクニック

Driver Verifier(上級者向け)

疑わしいサードパーティ ドライバーが併存している場合、Driver Verifier でストレスをかけると再現が容易になります。過負荷で起動不能になる恐れがあるため、事前に復元ポイントを作り、以下で有効化/無効化を把握してください。

verifier /standard /all
verifier /query
verifier /reset

USB ルートハブの電源管理を個別調整

  1. デバイスマネージャー →「ユニバーサル シリアル バス コントローラー」。
  2. 「USB ルート ハブ(USB 3.0)」や「汎用 USB ハブ」を開き、「電源の管理」タブ。
  3. 「電力節約のために…」のチェックを外す(問題のあるハブのみ)。

高速スタートアップの影響を切り分け

高速スタートアップ(ハイブリッドブート)が再開時のデバイス初期化をあいまいにし、不安定化する事例があります。症状が起動時に偏る場合、一度無効化して比較してください。

コントロール パネル → 電源オプション → 電源ボタンの動作を選択 →
「現在利用可能ではない設定を変更します」→「高速スタートアップを有効にする」のチェックを外す

実例ベースの対処テンプレート(コピペで使える)

  1. USB 外付けストレージ/ハブを外す → 再起動。
  2. 再現が止まる → デバイスを 1 台ずつ戻し、毎回スリープ→復帰で確認。
  3. 再現する個体が見つかる → ケーブル交換 → 別ポート(USB 2.0 含む)。
  4. 改善しない → デバイスマネージャーで UAS デバイスを更新/ロールバック。
  5. Windows Update/OEM ドライバーを適用。
  6. USB セレクティブサスペンド無効化、USB ルートハブの電源管理調整。
  7. 必要に応じて BIOS で UASP 無効化(BOT)。
  8. SFC/DISM、powercfg /energy で総点検。

再発を防ぐ運用のベストプラクティス

  • バックアップ用途の外付けはセルフパワー運用を基本に。
  • ハブは信頼性の高い製品を少数で運用(多段接続を避ける)。
  • OS・チップセット・ストレージ関連は四半期ごとに更新点検。
  • 用途に応じて「速度(UASP)」と「安定性(BOT)」を使い分ける。
  • 外付けケースのファームウェア更新可否を導入前に確認。

トラブル収束の判断基準

下記すべてを満たせば一応の収束とみなせます。

  • スリープ/休止/起動/シャットダウンの 10 回連続試験で BSOD なし。
  • 100GB 以上の読み書き負荷試験でエラーなし。
  • イベント ログに Kernel-Power(41)の新規発生なし。

まとめ

DRIVER_POWER_STATE_FAILURE(uaspstor.sys 起因)は、USB ストレージ周りの電源遷移や相性が引き金になることが多く、対処は「切り分け → ドライバー/電源設定/ポート・ケーブル → 必要なら UASP を BOT に落として安定化」という順が最短です。まずは外付けストレージを外して再起動し、再発が止まるかを確認。止まるなら当該デバイスのドライバー更新・ロールバック、USB セレクティブサスペンド無効化、ケーブル・ポート変更を行い、最終的には BIOS で UASP を無効化する選択肢も検討しましょう。これらを順に実施すれば、ほとんどのケースでブルースクリーンを解消できます。

付録:コマンド早見表

目的コマンドメモ
OS 破損の修復sfc /scannow完了後に再起動・再実行で確認
コンポーネント修復DISM /Online /Cleanup-Image /RestoreHealthネットワーク必須
USB 省電力無効powercfg /SETACVALUEINDEX SCHEME_CURRENT SUB_USB USBSELECTSUSPEND 0
powercfg /SETDCVALUEINDEX SCHEME_CURRENT SUB_USB USBSELECTSUSPEND 0
powercfg /S SCHEME_CURRENT
AC/バッテリー両方に適用
起因デバイス候補powercfg /devicequery wake_armedスリープ復帰に影響するデバイス一覧
電源問題の自動診断powercfg /energyHTML レポートを生成
ドライバー検証(有効)verifier /standard /all事前に復元ポイントを作成
ドライバー検証(無効)verifier /reset再起動で解除

付録:用語ミニ解説

  • UASP(USB Attached SCSI):USB で SCSI プロトコルを使う転送方式。キューイング・同時処理・省電力で優れる。
  • BOT(Bulk-Only Transport):旧来方式。互換性は高いが性能は控えめ。
  • uaspstor.sys:Windows 標準の UASP ストレージ ドライバー。
  • ntoskrnl.exe:Windows カーネル本体。BSOD の「原因」に見えても、実際は最終的な障害処理を担う立場。
  • 0x9F(DRIVER_POWER_STATE_FAILURE):ドライバーの電源状態遷移に関するタイムアウトや待ち合わせの不一致で発生。

実施チェックリスト(印刷運用向け)

  • □ すべての外付け USB ストレージを外して再起動 → BSOD が止まった
  • □ 問題のデバイス/ポート/ケーブルを特定した
  • □ デバイスマネージャーで UAS デバイスを更新/ロールバックした
  • □ Windows Update/OEM ドライバーの適用を完了
  • □ USB セレクティブサスペンドを無効化(必要ならルートハブの電源管理も)
  • □ BIOS で UASP を無効化(該当項目がある場合)
  • □ SFC/DISM/powercfg レポートで異常なしを確認
  • □ 負荷・スリープ・起動の再現試験をクリア

この記事を書いた人

実務の現場で詰まりがちなポイントを地図にするITブログ「IT trip」を運営。Windows/Office(Teams・Excel)からSQL、サーバ運用、ガジェットまで、再現性のある手順と“なぜそうなるか”を丁寧に解説します。読んだらすぐ試せること、そして迷った人の次の一歩が見えることを大切にしています。

コメント

コメントする

目次