情報科学屋さんを目指す人のメモ

方法・手順・解説を書き残すブログ。私と同じことを繰り返さずに済むように。

「USB大容量記憶装置の取り外し中にエラーが発生しました」で取り外しできない場合の対策(Windows 10)

Windows (341) Windows 10 (120)

USBの安全な取り外しを行った際に、「取り外し中にエラーが発生しました」「プログラムが○○デバイスをまだ使用しているため、デバイスを停止できません」エラーが出てしまい、USB接続を解除できない場合があります。

この問題が発生した場合、USB接続の外付けハードディスクなり、USBフラッシュメモリなりのデータにアクセスしているアプリケーションを見つけて終了できれば良いのですが、これが難しい場合があります。

なかなか見つけられずに途方に暮れてしまうケースもあるようなので、そんなときの対策を紹介します。画像やエラーメッセージは、Windows 10です。

「取り外し中にエラーが発生しました」問題

Windowsの画面右下、タスクトレイのUSBマークボタンから、「ハードウェアを安全に取り外してメディアを取り出す」を実施することで、安全にUSBデバイスの接続を解除することができます。

しかし解除しようとしても、次のエラーが出てしまう場合があります(Windows 10)。

USB 大容量記憶装置の取り外し中にエラーが発生しました

プログラムが'I-O DATA HDPC-UT USB Device' デバイスをまだ使用しているため、デバイスを停止できません。デバイスを使用していると思われるプログラムを閉じてから、再試行してください

プログラムを終了してもエラーが出る

この表示を見て、その案内通り、エクスプローラはもとより、心当たりのあるソフトウェアをいくつか終了してみても、解除できない(同じエラーがで続ける)場合があります。

片っ端から起動しているソフトを停止してみても引き続きエラーが出てしまう場合もあります。

忘れがちな最後の手段

これで困り果ててしまうユーザーがいるようです。また、「原因となっているプログラムを突き止めるのに躍起になる」ケースもあります。しかし、ひとつ思い出しておきたい手段が一つあります。

それは、パソコン自体をシャットダウンすることです(面倒な場合も多いけれど…!)。

シャットダウンした(=電源を切った)状態であれば、安全に抜き差しすることができるため、エラーが出ていたかどうかは関係なくなります。

Windows 10であれば、「スタートボタン>電源マーク>シャットダウン」から電源を切ることができます。電源を切った後、USBの接続を解除してみて(抜いてみて)ください。

付録:そもそも「安全な取り外し」が必要ないのではないか問題

「安全案取り外しをしないで抜いても別にデータが壊れたことなんてない」という人も多いかもしれません。そもそも「気が付いていないだけの可能性」があったりもしますが、実はそのあたりについては、興味深い記述があります。

デバイスマネージャーを起動して、ツリーの中の「ディスクドライブ」の下にある、先ほどのUSB接続HDD「I-O DATA HDPC-UT USB Device」を右クリックして、「プロパティ」を開いてみます。

そして、「ポリシー」タブを開いてみると、おそらく初期状態であれば、「取り外しポリシー」として「クイック削除(既定)」が選択されているはずです。

取り外しポリシー
クイック削除(既定)
デバイス上とWindowsでの書き込みキャッシュを無効にします。ただし、[安全な取り外し]通知アイコンを使わなくてもデバイスを安全に切断できます
・高パフォーマンス
Windowsで書き込みキャッシュを有効にします。ただし、デバイスを安全に切断するには、[ハードウェアの安全な取り外し]通知アイコンをクリックする必要があります。

ここに書かれている通り、「クイック削除」が選択されている既定の設定であれば、「安全な取り外し」の作業自体は必須ではないようなのです。

そもそも安全な取り外し操作自体、書き込みキャッシュをフラッシュしてそれ以上の書き込み(および読み込み)を行わせないように接続解除してしまう操作だと思われますが、結局データが消える一番の問題は「書き込みキャッシュ」なので、それを実は使っていないのであれば、その操作の大部分は意味がなく、その説明にも書いてあるとおり「安全な取り外し通知アイコンを使わなくてもデバイスを安全に切断できる」というわけです

これを知ったらUSBをどんどん抜きたくなりますが、あくまで書き込みバッファがフラッシュされる前に切断してしまうリスクがないだけで、アプリケーションが微妙な状態で止まってしまう、エラーになってしまう等の可能性はあるので、読み書きしているアプリケーションがないことを確認して抜くことがおすすめです。そして、結局それをそれなりに安全に確認してくれるのが「安全な取り外し」による接続解除(マウント解除)なので、できる限り安全な取り外しをするほうが、余計なエラーに遭遇せずに済むのではないかと思います。

そうやって悩んだあげく、「取り外し中エラー」を繰り返してしまう場合に最後におすすめなのが、「Windowsをシャットダウンする」です(シャットダウンでも類似の小さいリスクが同程度あるような気もするので、シャットダウンするならもう抜いても一緒では?という説も…)

参考

富士通のヘルプページに、(Windows 10ではありませんが、)Windows Vistaについて、「電源を切る」というエラー対策がアドバイスとして掲載されています:

開いているウィンドウや使用しているプログラムを終了しても、「xxxxxx の取り外し中にエラーが発生しました」と表示される場合は、パソコンの電源を切った後で、周辺機器を取り外します。 引用元

コメント(1)

  1. crow
    2018年1月4日(木) 20:11

    たった今、このエラーに悩まされている通りすがりです。
    このエラー、出るときとでないときがあって、出てしまったときはもう本当にデスクトップ以外起動していない状態にしても出てしまうんですよね。
    さらに腹立たしいのが、結局何もアクセスしていないくせに、安全な取り外しをした直後だけ、なんかアクセスランプが点滅して謎のアクセスを行っているんですよね。

    ちなみに、Windows 8以降は、「シャットダウンしてから取り外す」場合においても注意が必要です。8以降のWindowsは、高速スタートアップの影響で、通常の「シャットダウン」を行っても、システムの一部は休止状態レベルにしかなっていません。つまり、システム側に一部のディスクキャッシュが保持された状態で、電源が切れるという最悪の制御をしでかすことがあります。この場合に電源が切れているからと安心してデバイスを抜くと、一部のファイルが消失したり破損することがあります(経験済)。

    よって一時的に高速スタートアップを無効化できる(=従来のWindowsと同じ完全シャットダウン)ように、Shiftを押しながらシャットダウンを選択する必要があります。

    ちなみにキャッシュを有効にするかどうかの書き込みポリシーですが、個人的には「クイック削除」になっている場合でも、どうも「積極的に遅延書き込みを行わない」だけで、完全にキャッシュを無効化しているわけではない感触を受けています。
    おまけにシステムとしては「デバイスを使用中」なわけですから、現に読み書き中の状態で引っこ抜くことになるわけで、書き込みキャッシュのオンオフに関わらず危険です。ファイルシステムの不整合が発生しかねません。
    あくまで「アクセスがない状態」の場合に、そのまま引っこ抜いてもいい、と言っているだけですから。

    全く、このあたりのWindowsの仕様は、Windows XPのあたりから何も進化していませんね。

新しいコメントを投稿