ここで書いているのは、
CD/DVDドライブにディスクを挿入していないから、
「ディスクを挿入してください」と表示されている状態のことではありません。
主に、リムーバブルディスクについての話です。
Windowsが表示するところのリムーバブルディスク、
つまり、SDカードやUSBメモリ、あるいは外付けハードディスクが対象です。

ドライブにディスクを挿入してください

パソコンにSDカードやUSBメモリが正しく挿入されているにも関わらず、
実際にアクセスしようとすると、「ドライブにディスクを挿入してください」と表示されてしまうことがあります。

ドライブのプロパティ - ドライブにディスクを挿入してください

該当ドライブのプロパティを見ても、使用領域、空き領域、容量、すべて0バイトだったりします。
ドライブのボリュームラベルもなくなっているので、
エクスプローラ上でも「リムーバブルディスク」とだけしか表示されないはずです。

「未フォーマット」と表示されているので、フォーマットしてしまえばいいような気もします。
ところが、この状態ではフォーマットすらできないのです。

リムーバブルディスクそのものが故障しているために、このような状態になってしまうことがあります。
でも、論理障害の可能性がゼロなわけではありません
つまり、ユーザー側で復旧できる可能性も残されているのです。

「ドライブにディスクを挿入してください」と表示される理由

これは、該当するリムーバブルディスクを正しく認識できなくなってしまったために起こる現象です。
とは言っても、それがなぜかということですね。

「ドライブにディスクを挿入してください」と表示されるということは、
ドライブレターが割り当てられています。
そして、ドライブレターが割り当てられているということは、
一応、Windowsはデバイスとして認識しています。

ディスクの管理で、状況を確認していきます。
ここで、Windowsがどのようにリムーバブルディスクを認識しているかがわかるからです。

ディスクの管理 - ドライブにディスクを挿入してください

リムーバブルディスクに対して、ドライブレターが割り当てられています。
でも、パーティションがありません。
あるのは、「未割り当て」の領域だけです。

ドライブレターは、基本的にパーティションに対して与えられます。
Windowsでは、パーティションが認識されると、
自動的にドライブレターが割り当てられ、マウントされるようになっています。

でも、常に接続が確立されているわけではないリムーバブルディスクについては、
ディスクそのものに対してドライブレターが割り当てられます

メディアの挿入されていないカードリーダーが、いい例です。
※Windows上で「リムーバブルディスク」という表記ではありませんが、ディスクの入っていないCD/DVDドライブも同じです。

このようにしてドライブレターが割り当てられたドライブにアクセスしようとしても、
「ディスクを挿入してください」と表示されるだけです。
実体がないものにアクセスしているからです。
メディアの挿入されていないカードリーダーの場合は、普通に意味が通じます。

では、SDカード等のメディアが挿入されているカードリーダーや、
USBメモリ、外付けハードディスクにアクセスしようとしても、
「ディスクを挿入してください」と表示されてしまう場合は、どういうことでしょうか?
これも、内部的には同じことで、
割り当てられたドライブレターに対応するパーティションの実体がないから、アクセスできないのです。

先のディスクの管理の画像でも、リムーバブルディスクには有効なパーティションがひとつもありません。
すべて「未割り当て」です。
通常、「未割り当て」であればドライブレターを割り当てることすらできませんが、
リムーバブルディスクに対してはドライブレターが自動的に割り当てられる
ため、
このようなややこしい状況になってしまうのです。

早い話が、パーティションをひとつも認識できないリムーバブルディスクは、
「ディスクを挿入してください」という表示によって、ユーザーに伝えられる
ことになります。

SDカードも、USBメモリも、ハードディスクと同じ外部記憶装置です。
ドライブとして使うためには、パーティションが必要です。

「未割り当て」になってしまう原因

「未割り当て」になってしまう理由を考えてみると、
少なくとも、リムーバブルディスクのMBRを正しく認識できていないことがわかります。
なぜなら、どこにどういったパーティションがあるという情報は、
MBRのパーティションテーブルに書かれているからです。

  • パーティションテーブルを正しく読み取れない
  • パーティションテーブルの値が正しくない

どちらの場合も、このような状況になってしまいます。

パーティションテーブルの情報を正しく読み取れない、
つまり、リムーバブルディスクが故障している場合は、復旧が困難かもしれません。
でも、あくまでもリムーバブルディスクとしては正常動作しており、パーティションテーブルの内容に誤りがあるだけであれば、
それを正しく書き換えることで復旧できるはずです。

「未割り当て」状態から復旧する

このような状態から復旧しようとする場合、その目的は、

  • リムーバブルディスクとして使えるようにしたい
  • 中のデータを救出したい

という、2つがあると思います。
どちらか一方だけなら簡単ですが、両方元の状態に戻すには、多少知識が必要です。

リムーバブルディスクとして使えるようにする

中のデータは問わず、とりあえずリムーバブルディスクを正常に使えるようにしたい場合は、
リムーバブルディスク内に新しいパーティションを設け、フォーマットすればいいことになります。
この過程で、パーティションテーブルも新たに書き換えられるからです。

Windowsでこのような操作をするには、前述の「ディスクの管理」から操作を行うわけですが、
ここでちょっとした問題があります。
というのも、パーティションテーブルに異常があるディスクに対しては、
「ディスクの管理」で操作できないことがある
のです。

そんな時は、フォーマッタというフォーマット専用のツールを使ったほうがいいです。
というか、むしろそうすべきです。

フォーマッタは、各外部記憶装置メーカーから提供されています。
なかでも、IOデータのフォーマッタは、
インストールの必要がないうえ、リムーバブルディスク用として特化されているため、
素晴らしく使いやすいです。

ダウンロードページ: I-O DATA ハードディスクフォーマッタ

今まで操作できなかったリムーバブルディスクも、
フォーマッタを使ってフォーマットすることで、使えるようになることがあります。

中のデータを維持したまま、リムーバブルディスクとして使えるようにする

理想的には、リムーバブルディスク内のデータを維持したまま、パーティションテーブルだけを書き換えたいところです。
このようなことができるソフトに、「TestDisk」があります。
詳細は下記ページ参照。

「TestDisk」の使い方

中のデータを救出する

リムーバブルディスクのデータを正常に読み取ることができない、つまり故障している場合は、
上に書かれた操作を行っても復旧できません。
モノとして壊れているので、当たり前ですね。

パーティションとしても認識されていない領域からファイルを復元するには、専用のツールが必要になります。
特に、パーティションやファイルシステムさえ不明な状態からデータを抽出することを考える必要があります。

ファイナルデータでそれは可能ですが、市販のソフトになります。
でも、ファイルの復元可能性を調べるだけであれば、無料体験版が使えます。

ダウンロードページ: ファイナルデータ

ただし、前述のとおり、パーティションに関する情報が失われているため、
一般的なファイルの復元方法とは手順が異なります。
具体的には、

  1. 「ファイルの復元」
  2. 「フォーマットをした場合」
  3. 物理ドライブを選択 ※ドライブレターが割り当てられておらず、製品型番等が表示されているもの。

とする必要があります。
注意点としては、「ドライブが正常に認識できない場合」ではなく、
「ファイルの復元」の「フォーマットをした場合」
だということです。

ここでファイルを確認できれば、復元の可能性があります。
逆に、この操作でもファイルが見つからなかった場合は、データを復元することさえままならないと判断できます。

ここまで書いてきたような操作ができるのは、
リムーバブルディスクと表示される外部記憶メディア、
つまり、SDカード、USBメモリ、外付けハードディスク等が壊れていない場合のみです。
何の応答もしなくなっているリムーバブルディスクは、ソフトウェア的にはどうしようもありません。