HDD01
 Windowsには、解決できていないバグが多数あります。そのバグの中に、一部のSATAドライブに関連して、内蔵ドライブをリムーバブルメディアとして表示されてしまうといったものがあります。今回はこの問題に関しての解決方法をご紹介します。

 Microsoftは、シリアルアドバンストテクノロジーアタッチメント(SATA)に関連して、Windows11もこのバグの影響を受けることを初めて確認しました。Windowsチームはまた、これがWindows Vista以降のすべての新しいバージョン、つまりWindows 7、Windows 8、Windows 8.1、Windows 10、そして現在のWindows 11に影響を与える古くからの問題であることを確認しています。このエラーはファームウェアに関連しており、内蔵SATAドライブは、機械式ハードディスクドライブ(HDD)であろうと、より高速なNANDフラッシュベースのソリッドステートドライブ(SSD)であろうと、Windowsタスクバーのバグによってリムーバブルメディアとして誤って表示されます。
 この問題についてMicrosoftは、高度なコマンドプロンプトCLIを使用してこの表示と検出の問題を解決できる回避策を提供しています。このソリューションは、Windows 8、8.1、およびWindows 10でも機能します。この方法を今回ご紹介します。


管理者権限でコマンドプロンプトを開きます。
コマンド プロンプト ウィンドウで、次のコマンドを入力し、Enter キーを押します。
devmgmt.msc

この時点でコマンド プロンプトは閉じないでください。

デバイスマネージャーが開きます。

[ディスクドライブ] で、 ドライバーで内部と見なす SATA デバイスを特定し、右クリックして [プロパティ] を選択して、そのデバイスのプロパティを開きます。

[全般タブ]を選択し、場所の項目にあるバス番号(Bus Number)をメモしてください。

Windows 7 の場合:
開いているコマンドプロンプトに次のコマンドを入力し、Enterキーを押します。
reg.exe add"HKLM\SYSTEM\CurrentControlSet\Services\msahci\Controller0\Channelx\" /f /v TreatAsInternalPort /t REG_DWORD /d 0x00000001

Channel直後の x は前にメモしたバス番号に対応します。

Windows 8 以降の場合:
開いているコマンドプロンプトに次のコマンドを入力し、Enterキーを押します。

reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\storahci\Parameter\Device" /f /v TreatAsInternalPort /t REG_MULTI_SZ /d x

ここで、最後の x は前にメモしたバス番号に対応します。

なお、マイクロソフトは近い将来これを変更するつもりはなく、エラーが発生する場合と発生しない場合があります。