Windows 10 と Windows 11 には、外付けのHDD(USB 接続) の取り出しができなくなるバグが存在します。
先日、ユーザー様から USBポータブルHDD の安全な取り外しができないというお問い合わせをいただきました。
今回検証をして原因を発見し、前回の記事でも「追記」という形で紹介しています。(この不具合はかなり前から存在していたようで、解決法も見つかっていなかったようです)
Win11 解決!ハードウェア(USB)の安全な取り外しができない
ということは、Microsoft もバグだとは認識していないということになります。
しかし、何もアクセスがされていない、HDD の中のファイルも開いていない状態で「ハードウェアを安全に取り外してメディアを取り出す」から取り出しができないというのは重大なバグとしか言いようがありません。
1.タスクトレイの USB のアイコンをクリックします。
2.取り出したい HDD の名称をクリックします。
すると、「USB 大容量記憶装置 の取り外し中にエラーが発生しました」と表示され取り出しができません。
ユーザーによっては、取り外しポリシーが「クイック取り外し (既定)」に設定されていればそのまま USB を抜き取っても問題ないと言います。
Microsoft が問題ないと言っているので仕方がありませんね。
しかし、筆者は「ハードウェアを安全に取り外してメディアを取り出す」を実行してから取り出すことをおすすめします。
直接 USB を抜き取った場合、例えば上記のようなバグが存在していればデータが消えてしまう可能性が非常に高くなります。
外付けHDD の取り出しができなくなるバグの原因と見つけ方
原因
外付けHDD の取り出しができなくなるバグの原因は「Distributed Link Tracking Client(分散リンク追跡クライアントサービス)」です。
このサービスは、ネットワーク内またはコンピューターの NTFS ボリューム間のリンクを管理します。
分散リンク追跡の概要(Microsoft)
「Distributed Link Tracking Client」サービスはデフォルトで Windows の起動時に自動で実行されるようになっています。
このサービスが自動的に実行される設定になっている場合、外付けHDD を接続したまま Windows を起動すると常に使用中となり、「ハードウェアを安全に取り外してメディアを取り出す」から取り出しができなくなります。
- Windows の起動後、サービスが実行された状態で外付けHDD を接続した場合は取り出すことができます。
- 外付けHDD を接続している状態でサービスを停止すると取り出すことができます。
- サービスが停止された状態で外付けHDD を接続している場合に、サービスを開始すると取り出しができなくなります。
※「Distributed Link Tracking Client」サービスは、PC を一般家庭で使用するのであれば無効にしても問題ありません。
「Distributed Link Tracking Client」サービスを無効にする
見つけ方
通常は、取り出しの際にエラーが出るとイベントビューアーにイベントID 225 (223) が記録され、問題となっているプロセス(アプリケーションの名称)を特定できるのですが、今回のバグの場合は「プロセス ID 4のアプリケーション System」と表示されており、プロセスの特定ができなくなっています。
では、どのようにして問題となっているプロセスを特定したのかというと、「リソースモニター」と「タスクマネージャー」を使用して特定しました。
問題となっているプロセスの特定
1.Windowsキー + R を押して「ファイル名を指定して実行」を開き、次のコマンドを入力して Enter を押します。
resmon
2.「リソースモニター」が開きますので、「CPU」タブの「関連付けられたハンドル」の右側にある入力欄に、半角で問題となっている HDD のドライブのドライブ文字と コロン(:)を入力します。
ドライブ文字は「ハードウェアを安全に取り外してメディアを取り出す」から確認できます。
例えば次の画像でいうと「i:」となります。
すると、関連付けられたハンドルの検索が始まり、しばらくすると下にプロセス名が表示されます。
画像にはプロセスが 2つ表示されていますね。
「ハンドル名」の下を見ると「i:」にアクセスしていることがわかります。
「svchost.exe」は、簡単に言うと Windows のサービスを管理するプログラムです。
ここでサービスが関係していることがわかります。
次に、PID を見てみましょう。
どちらも同じ「8092」となっていることから、同じサービスだということがわかります。
3.Ctrl + Shift + Esc キーを同時に押すか、タスクバーの何もない所ク>「タスクマネージャー」をクリックします。
4.タスクマネージャーが開きますので、「詳細」タブを開き、先ほど確認した PID を確認します。
「PID」が表示されていない場合は「名前」という文字の上で右クリック>「列の選択」をクリックします。
「PID」にチェックを付けて OK をクリックします。
5.プロセスの上で右クリック>「サービスの表示」をクリックします。
6.すると、「サービス」タブが開き、該当のサービスが選択された状態になります。
これで問題となっているプロセス(サービス)の特定ができました。
「Distributed Link Tracking Client」サービス以外にも、Windows 11 にはタスクマネージャーを開いていると USBメモリや外付けHDD の取り出しができなくなる不具合が未だに(23H2 でも)存在しています。
コメント(降順)