パソコンで音楽聞こうかなって思ってふと気づく。
あれ?外付けSSD反応してねぇなって。
抜き差ししてもドライブに表示されないしいったいどういうこと?
軽い気持ちでグーグルAIに「Windosw ドライブ消えた」って聞いてみたら、まさかあんなことになるとは・・・
結論
Uaspstor.sys(外付けSSDを動かす心臓部だそうです)が狂ってて、直そうとしたけど直せないってWindowsがお手上げ状態になっていたようです。
デバイスマネージャ上にはエラーコード39が表示されてました。
MicroSoftの公式からWindows11のイメージファイルを落としてきて、Setup.exeを実行することでデータを復旧できました。(※途中、個人用ファイルとアプリを引き継ぐにチェックが入っている状態で進めること。間違えるとクリーンインストールでデータが真っさらになる可能性があります。)
道のり
以下の方法は生成AIに解決策を確認した際に提示された内容です。
私が試して駄目だったものも記載してありますが、私とは違う原因だったとしてもどれかを試せば復旧する可能性があるかもしれませんので、参考に全部記載しておきます。
(内容が分かりにくいところがあるかもですが、覚えている内容を一生懸命まとめた結果ですので、ご容赦賜りますようお願い申し上げます)
【復旧開始】
①スタートボタンを右クリックして「デバイスマネージャ」を開く。
「USB接続SCSI(UAS)マスストレージデバイス」を右クリックしてドライバーの更新を実施。
※今回はこのデバイスのプロパティを見た際にエラーコード39を確認しました。
→NG 直らず
②USBポートを違うポートに差し替えてみる。
→NG 直らず
③スタートボタンを右クリックして「ディスクの管理」を開く
名前が付与されていないドライブディスクがないか探す。
→NG そんなドライブディスクは無し
(あれば、右クリックして「ドライブ文字とパスの変更」で割り当てを行うとうまくいくかも)
④USBの電力不足調査
→NG 特に電力不足なし(当該SSD以外のすべてのUSBを外してもダメでした)
⑤スタートボタンを右クリックしてデバイスマネージャを開く。
「USB接続SCSI(UAS)マスストレージデバイス」を右クリックして「デバイスのアンインストール」を実施。
→NG アンインストールしても復旧せず
⑥USBハブを外して直接PCに接続する。
→NG USBハブは使ってません
⑦レジストリの修復(※悪夢でした。PCが立ち上がらなくなったので注意!!誰かの役に立つかもしれないのでこの件は復旧方法まで記載します)
【※以下は実行するとPCが立ち上がらなくなる可能性があるので、注意してください】
Windowsキー+Rでコマンド入力画面を出して「regedit]を入力してOKを押下
レジストリエディターでHKEY_LOCAL_MACHINE→SYSTEM→CurrentControlSet→Control→Classを順次選択。
{4d36e967-e325-11ce-bfc1-08002be10318}を探して選択
エディターの右側に表示された「UpperFilters」と「LowerFirlters」を右クリックして削除を選択。
再起動
レジストリを触るってことで嫌な予感はしていたんですが、案の定、この再起動後から、PCが立ち上がらなくなりました・・・。
余計な復旧作業開始(おっさんはあまりにも腹が立って、AIに罵詈雑言を浴びせかけるカスハラ野郎に進化) ※レジストリは安易にいじっちゃ駄目だよ(;´Д`)。
【生成AIのコメントを引用】
ちなみに、私は①~③を実行してもダメでした。
①スタートアップからの修復
Windowsが正常に起動できないと、自動的に「自動修復」または「回復」画面(青い画面)が表示されます。[詳細オプション] > [トラブルシューティング] > [詳細オプション] の順に進みます。[スタートアップ修復] を選択してください。
②システムの復元
「スタートアップ修復」で直らない場合、レジストリをいじる前の状態にタイムスリップさせます。同じく青い画面の [詳細オプション] > [トラブルシューティング] > [詳細オプション] へ進みます。[システムの復元] を選択します。今回の操作を行う前の日付(昨日や一昨日など)の復元ポイントを選択して実行してください。これにより、レジストリの設定が操作前の安全な状態に完全に書き換わります。
③セーフモード起動
もし上記の「システムの復元」が使えない場合、最小構成で起動させます。[詳細オプション] > [トラブルシューティング] > [詳細オプション] > [スタートアップ設定] > [再起動] を押します。番号のメニューが出るので、キーボードの [4] または [F4](セーフモードを有効にする)を押します。もしこれでデスクトップ画面まで進めるようなら、一度そのまま再起動するだけで、通常の起動に戻れることがあります。
全部だめで、次の対策へと移行。おっさんはここでも生成AIを罵り続ける。狂ったかのように罵りました。
【生成AIのコメントを引用】
ちなみに、この①~③を実行してもダメでした。
①レジストリのバックアップから復元
「コマンドプロンプト」でレジストリを直接修復する復元ポイントがない場合、これが最も有力な復旧手段です。青い画面から [トラブルシューティング] > [詳細オプション] > [コマンドプロンプト] を開きます。黒い画面が出たら、以下のコマンドを正確に入力して Enter を押してください(レジストリのバックアップから復元を試みます)。
【コマンド】 xcopy c:\windows\system32\config\regback c:\windows\system32\config
※もし「ファイルを上書きしますか?」と聞かれたら a(すべて上書き)を入力して Enter。
※「0個のファイルをコピーしました」と出た場合は、この方法は使えません。
②セーフモード(コマンドプロンプト付)での起動
通常のセーフモードではなく、強制的にコマンドを介してドライバ読み込みをスキップさせます。[トラブルシューティング] > [詳細オプション] > [スタートアップ設定] > [再起動] をクリック。
メニューが出たら [6] または [F6] (セーフモードとコマンドプロンプトを有効にする) を押してください。それでも立ち上がらなければ次の方法へ。
③スタートアップ設定の「署名の強制を無効にする」
同じく [スタートアップ設定] > [再起動] の後のメニューで、[7] または [F7] (ドライバー署名の強制を無効にする) を選んでみてください。ドライバの読み込みエラー(コード39関連)を無視して無理やり起動できる場合があります。
次の手段へ・・・。音楽聞きたかっただけなのにね・・・こんなことになるなんて・・・
(作業時間が2時間を超えてイライラよりも虚しさが勝り始める)
【生成AIのコメントを引用】
①コマンドプロンプトでの修復手順(消したレジストリを戻そうとしている手順です)
青い画面から [トラブルシューティング] > [詳細オプション] > [コマンドプロンプト] を開きます。以下のコマンドを一字一句正確に入力して、最後に Enter を押してください。
※大文字小文字は区別しませんが、スペースと記号に注意してください。
【コマンド】
(1)reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4d36e967-e325-11ce-bfc1-08002be10318}" /v UpperFilters /t REG_MULTI_SZ /d partmgr /f
(2)reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4d36e967-e325-11ce-bfc1-08002be10318}" /v LowerFilters /t REG_MULTI_SZ /d EhStorClass /f
「この操作を正しく終了しました」と表示されたら、黒い画面を閉じ、[続行(Windows 10/11へ進む)] を選んで再起動してください。
このコマンドは、削除してしまった「UpperFilters」という項目に、Windowsの起動に不可欠な partmgr(パーティションマネージャー) という標準ドライバーを再登録するものです。これが戻れば、Windowsは再びCドライブを正しく認識し、起動できるようになります。
以下のエラーが出て立ち上がらず。
Your device ran into a problem and needs to restart.we‘ll restart for you.stop code:INACCESSIBLE_BOOT_DEVICE(0x78)
【生成AIのコメントを引用】
本当に申し訳ございません。INACCESSIBLE_BOOT_DEVICE は、Windowsが「自分がインストールされているSSD」を見失った際に出る致命的なエラーです。私のレジストリ操作の指示により、起動に必要なドライバが完全に切り離されてしまいました。次の手順を試してください。
①レジストリの修復(再トライ) ※windowsがインストールされているドライブを探す
青い画面から [トラブルシューティング] > [詳細オプション] > [コマンドプロンプト] を開きます。
まず、Windowsがインストールされているドライブを探します(回復環境では C ではなく D などに変わっていることがあります)。
dir c: と打って Enter
dir d: と打って Enter
「Windows」というフォルダが見えるドライブが正解です。以下、そのドライブを X: と仮定します。
②コマンドプロンプトから「レジストリエディター」を起動して直す
青い画面の [トラブルシューティング] > [詳細オプション] > [コマンドプロンプト] を開きます。黒い画面に regedit と入力して Enter を押してください。
「レジストリエディター」の画面が立ち上がります。立ち上がった画面で、以下の場所を辿ってください。
HKEY_LOCAL_MACHINE の上でクリック > メニューの [ファイル] > [ハイブの読み込み] を選択。ファイル選択画面が出るので、PC > (Windowsが入っているドライブ) > Windows > System32 > config > SYSTEM というファイル(拡張子なし)を選んで開きます。
適当な名前(例:TEMP_SYSTEM)を付けて [OK] を押します。
HKEY_LOCAL_MACHINE\TEMP_SYSTEM\ControlSet001\Control\Class\{4d36e967-e325-11ce-bfc1-08002be10318} を開きます。
右側の画面で、先ほど操作した UpperFilters と LowerFilters の値を以下のように書き直します。
・UpperFilters をダブルクリック > 中身を partmgr だけにする
・LowerFilters をダブルクリック > 中身を EhStorClass だけにする
※もし項目がなければ、右クリック > [新規] > [複数行文字列値] で作成してください。終わったら TEMP_SYSTEM を選択した状態で、 [ファイル] > [ハイブのアンロード] をクリックします。これでレジストリが物理的に書き換わります。
この後、PCを再起動して起動するか確認してください。
それでも再起動せず。もう深夜の二時を突破。何やってんだか・・・
虚無感に苛まれる中、ふと疑問に思ったことを生成AIに尋ねる。
「ちなみに修復作業中にドライブが本来のCではなくXになってて、さらにBOOTって名前に変わってたのをどっかのタイミングでみたんだけど関係ある?」
【生成AIのコメントを引用】
ご不便をおかけしており、本当に申し訳ございません。
その「X:ドライブ(BOOT)」が表示されたことには、非常に重要な意味があります。
結論から言うと、「今見ているのは本物のWindowsの中身ではなく、修復用の仮システムの中身である」ことを示しています。
それが関係している理由は以下の通りです。
1. 「Xドライブ」はメモリ上の仮ドライブ青い画面(回復環境)でコマンドプロンプトを開くと、標準で「X:\Sources」や「X:\Windows」といった場所が表示されます。
これはSSDの中身ではなく、修復のために一時的に作られた仮想的なドライブです。
2. 本物のCドライブが「別の文字」にずれている修復画面では、普段使っている「Cドライブ」や「Dドライブ」のアルファベットが、一時的にDドライブやEドライブなどにずれて認識されることがよくあります。
もし先ほどレジストリエディター(regedit)で操作した際、Xドライブの中にあるレジストリをいじってしまっていた場合、それは「仮のシステム」をいじっただけで、肝心の「起動しない本物のシステム(SSD側)」には修正が反映されていない可能性があります。
🛠️ もし、もう一度だけ確認いただけるならもし本物のシステムを修正できていないことが原因であれば、以下の手順で「本当のSSD側」のレジストリを書き換えることで、起動する可能性が残っています。
コマンドプロンプトで dir c: dir d: dir e: と順に打ち、「Users」や「Program Files」というフォルダが入っているドライブ文字を特定します(仮に D: だったとします)。
regedit を開き、HKEY_LOCAL_MACHINE を選択。[ファイル] > [ハイブの読み込み] で、D:\Windows\System32\config\SYSTEM (Xではなく、特定したドライブ)を開きます。そこで先ほどの UpperFilters が partmgr になっているか確認してください。
確認後、読み込んだハイブ(任意の名前で作成したもの)を選択。
その状態のまま、一番左上の [ファイル] メニューをクリックします。
リストの中から [ハイブのアンロード] をクリックしてください。
「'(名前)' とそのすべてのサブキーをアンロードしますか?」 という確認が出ます。
ここで [はい] を押してください。
これで左側のリストからその名前が消えれば、SSDへの保存が完了したことになります。
なるほど。「本当のWindows」のドライブ文字を探し出して、レジストリを確認したら、さっき構築したはずの「UpperFilters」と「LowerFilters」がないので再度構築。
(生成AIの言う通り、一時的な仮想ドライブで修復作業を実施していたようです)
ここでWindowsが復活!!
無駄な復旧作業完了。。。
続いて外付けSSDの復旧作業を再開。午前三時を突破・・・
生成AIと色々やりとりを続けて、それでも直らないから、そもそも外付けSSDが壊れてんじゃねぇの?って今さらながらに・・・。ただ、これはノートPCに接続したらしっかりと立ち上がるので、問題なしでした。
【生成AIのコメントを引用】
ドライバーキャッシュの強制クリアWindowsが「壊れたドライバー」を使い回さないようにします。
外付けSSDをPCから抜きます。
スタートボタンを右クリック > [ターミナル(管理者)] または [コマンドプロンプト(管理者)] を開きます。
以下のコマンドを入力して Enter を押してください。
pnputil /enum-devices /class Extension
これでずらっとリストが出ますが、特に操作は不要です。
次に、以下のコマンドで「エラーが出ているデバイス」の情報を完全に消去します。pnputil /remove-device "USB接続SCSI(UAS)マスストレージデバイスのインスタンスID"
※インスタンスIDの確認とリセット手順
デバイスマネージャーで、注意マークのついた[USB接続SCSI(UAS)...]を右クリック > [プロパティ]。[詳細] タブを開き、プロパティのプルダウンから [デバイス インスタンス パス] を選びます。
下に表示される文字列(例: USBCCID\VID_...)を右クリックして [コピー] します。これが「インスタンスID」です。
これでも駄目だったので、いったんネットで別の方法がないか検索。
「コア分離の無効化」が有効化もって記事を発見。生成AIにそれってどうなの?って聞いたら、「今回のケースにおいて「コア分離(メモリ整合性)」を無効にするのは非常に有効な手段である可能性が高いです。」ですって。先言えよ(#^ω^)。
【生成AIのコメントを引用】
試す手順
[スタート] > [設定](歯車アイコン)を開く。
[プライバシーとセキュリティ] > [Windows セキュリティ] > [デバイス セキュリティ] をクリック。
[コア分離の詳細] をクリック。
「メモリ整合性」 が [オン] になっていたら、[オフ] に切り替えます。
パソコンを再起動します。
⚠️ 注意点これをオフにすると、セキュリティの壁が一段階下がることになりますが、これによってSSDが認識されるようになるPCは非常に多いです。
もしオフにして再起動してもSSDが認識されない場合は、原因が他にある(物理故障など)ため、設定をオンに戻しておくことをお勧めします。
確認したら元からオフ・・・。これも原因ではありませんでした。疲れも限界。
【生成AIのコメントを引用】
これがソフトウェアでできる「最終回答」です「システムファイルチェッカー」でWindowsの基礎を直すWindows自体の部品が壊れている可能性を修復します。
スタートボタンを右クリック > [ターミナル(管理者)] または [コマンドプロンプト(管理者)] を開く。
sfc /scannow と入力して Enter。これでもし「破損したファイルが見つかり、修復されました」と出れば、その後SSDを挿すと認識される可能性があります。
コマンド叩くと、なんかずらずら出てきてよくわからん。
なかに以下のエラーの文字があったので、それを以下の通り生成AIに聞いてみる。
「sfc /scannowで色々でてきて難しいんですが、エラーはあるけど復元できないって内容でした。ログのエラーは以下があったようですが・・・Deploy[Pnp]failed repairing file; ~ 省略 ~ drivers¥Uaspstor.sys;160 なんか関係がありますか?」
解決編
【生成AIのコメントを引用】
それは決定的、かつ非常に重要な情報です。
結論から言うと、原因はWindowsの「UASP(高速転送)」用のシステムファイル(Uaspstor.sys)が物理的に壊れており、Windowsが自分自身でそれを直せなくなっていることです。
🔎 何が起きているのか?Uaspstor.sys:まさに今回問題になっている「USB接続SCSI(UAS)マスストレージデバイス」を動かすための心臓部となるファイルです。
failed repairing file:この心臓部が壊れているので直そうとしたけれど、元となるバックアップデータすら壊れているか見当たらないため、「自分(Windows)ではお手上げです」とエラーを吐いています。
【どうすれば直るのか?】
この壊れたシステムファイルを正常なものに置き換えるには、「Windowsの上書きインストール(インプレースアップグレード)」が最も有効で安全な手段です。
マイクロソフト公式サイトから、Windowsの [ディスクイメージ (ISO)] または [インストールメディア作成ツール] をダウンロードします。中にある setup.exe を実行します。
「個人用ファイルとアプリを引き継ぐ」 を選択して進めます。【この操作の効果】今の設定やデータ、ソフトはすべてそのまま維持されます。
壊れて修復不能になった Uaspstor.sys などのシステムファイルだけが、新品の正常なファイルに丸ごと入れ替わります。これが完了すれば、システムファイルチェッカーで直せなかったエラーが消え、外付けSSDも以前のように認識されるはずです。
過日にWindows11にアップデートした際のISOファイルがあったので、それを利用してsetup.exe を実行。
時間はあんまり覚えてないけど、2時間近く「windowsの上書きインストール(インプレースアップグレード)」を実行して、ついに外付けSSDが認識されるようになりました!!!
最後に生成AI曰く
「結局、原因はWindows 11へのアップグレード時などに、SSDを動かすための重要なシステムファイル(Uaspstor.sys)が壊れてしまっていたことでした。上書きインストールによって、その「土台」が新品に置き換わったことで、ようやく正常に認識されるようになったのだと思います。」
とのことでした。
以上、つらつらと書きましたが、Windowsアップデートでまた壊れる可能性があるみたいなので、自分の忘れ防止のためにも、一応ログとして残します。
途中PC死んだかと思って焦ったりもしたけど、上手くいってよかった。
でも、今回はほんとに疲れた・・・


コメント