SDカードは使用機器から抜き挿しされることが多いため、
内蔵ハードディスクのように常に接続が確立されているものと比べると、不安定な記憶媒体だと言えます。

また、SDカード使用機器がバッテリー駆動だったりするので、
電気の力で記録するフラッシュメモリなのに、
電力供給が不安定な環境にあることが多い
という矛盾を抱えています。

特にデジカメなんて、シャッターを押した瞬間に、
CCD/CMOSから画像処理プロセッサからフラッシュメモリへの記録まで、
一気に大仕事が回ってきます。※バッファはあるわけですが、それでも。
シャッターを押してからSDカードを認識しなくなったなんてのは、比較的よくある話です。
実際にそう言って店頭に持って来られたこともあります。

カードが異常です

デジカメ等で「カードが異常です」と表示されても、本当にメモリーカードが異常かどうかとは別問題です。
メモリーカードの内容が、使用機器にとって扱えないデータ形式になっていたら、
その時点ですべて「カードが異常」だということになってしまう
からです。

フラッシュメモリの書き換え耐性がハードディスクに比べて大きく劣ることもあり、
「SDカードを認識しない」=「SDカードの寿命」とされてしまいがちですが、
本当にそうなのかは調べてみる必要があります。

ハードウェアの問題

まず、SDカード内のデータがどうこう言う前に、確認しておくべきことがあります。

規格が違う

SDカードには、何種類もの規格が存在します。
基本的に、上位互換性は保たれています。
でも逆に、旧規格しか対応してない製品に新規格のSDカードを挿入しても、正しく認識されません

以前に比べると、メモリーカードの価格はずいぶん安くなりました。
だから購入時にはどうせならと、容量の大きいSDHC、SDXCカードを選んでしまいがちです。
でも、SDHC、SDXCカード非対応の製品では、
メモリーカードを物理的に挿入できても、使用することはできないのです。

SDカードが普及してきた初期の頃の製品は、すべてSDHC、SDXCカード非対応です。※規格自体がなかったので、当たり前。
また、現行製品でもSDHC、SDXCカードに対応していない場合があるので、要注意です。
特に、大きなデータを保存する必要のない製品ポメラとか)では、
SDHCカードにすら対応する必要がないため、実際に対応してなかったりします。

SDカードの規格の違いは、対応するファイルシステムの違いと言っていいです。

SD(~2GB) FAT16
SDHC(4~32GB) FAT32
SDXC(64GB~) exFAT

つまり、FAT32に対応したSDカードがSDHCであり、exFATに対応したSDカードがSDXCだということです。

従って、2GBを超える容量のSDカードは、必然的にSDHCカードになります。
FAT16(クラスタサイズ32KB)が、2GBまでの領域しか扱えないからです。
逆に言えば、SDカードの規格の違いは、ソフトウェア的な違いによるものが大部分を占めています。
現に、SDHC、SDXCカード未対応の製品でも、
ファームウェアのアップデートで対応できる場合があります。※カシオ、リコーのデジカメとか。

かといって、上位カードを未対応製品に適合するファイルシステムでフォーマットすれば使えるのかというと、
そういうわけではありません。
当然ですが、使用する製品が対応しているSDカードを、正しく使う必要があります

カードリーダーを疑う

SDカードが認識されないと、SDカードの方ばかりに目が行ってしまいがちですが、
意外とカードリーダーが正常動作していない場合があります。

必ず、別のSDカード使用機器を使って動作確認します。
パソコン、デジカメ、プリンター、何でもいいです。
複数のSDカード対応機器を使っても、やはり当該SDカードを認識しないのか、
SDカード固有の問題なのか、確認します。

現状把握

現時点において、SDカード内のデータが論理的にどう認識されているのか、確認します。
Windows上でこれらの情報を得るには、「ディスクの管理」を使うのがいいです。

「ディスクの管理」について

ディスクの管理

「ディスクの管理」でSDカードが正しく認識されていないと、Windowsで使うことはできません。
ファイルシステムが「RAW」だったとしても、まだ復旧可能性は残っています。
重要なのは、「ディスク」として容量が表示されていること。
逆に、「ディスク」の容量が表示されなければ、以下の操作を行っても意味がありません。
「ディスク」としての表示もなければ、どうしようもありません。

ちなみに、「ディスクの管理」からでもフォーマット等の操作はできますが、
論理障害のあるSDカードに対しては正常動作しない場合があるので、下記方法を使ったほうがいいです。

論理障害

以上の確認を経て、認識されないのがSDカード自体の問題だと特定できたら、SDカードに手を加えていきます。
方法は大きく分けて2通り。

  • まっさらなSDカードとして新たにデータを書き直す
  • 問題のある箇所のデータを書き換えて認識できるようにする

もちろん前者のほうが簡単で、そのためのツールもあります。

フォーマットする

SDカード内のデータが不要であれば、フォーマッタを使うのがいいです。
フォーマッタとは、フォーマット専用ツールのことです。
Windowsではフォーマットできなくても、フォーマッタを使うとフォーマットできることがあります

というか、Windowsのフォーマット機能にはクセがあるので、
SDカードならSDカード用のフォーマッタを使ったほうがいいです。
認識できないのなら、問答無用で。

SDカードの規格を作ったSDアソシエーションから、SDカード用のフォーマッタが提供されています。
つまり、SDカード公式のフォーマッタです。

トップページ SDアソシエーション
ダウンロードページ SDカードフォーマッター

インストールしなきゃいけないのが玉にキズ。
当たり前ですが、SDカードに特化して作られています。
規格の項で書いたとおり、SDカードは容量によって異なるファイルシステムを使用していますが、
このSDカード専用フォーマッタは、自動的に適切なファイルシステムを選択してフォーマットしてくれます

SDカードフォーマッター

基本的に、初期設定のままフォーマットすればいいです。
認識しないものを認識させる目的においては、クイックフォーマットで十分です。
SDカードを認識するために必要なデータだけ上書きすればいいからです。

ちなみに、「上書きフォーマット」は、文字通り領域内すべてのデータを上書きします。
データを完全消去したい場合にどうぞ。

復旧する

パーティションの修復

ドライブ F: を使うにはフォーマットする必要があります。フォーマットしますか?

SDカードを丸ごと認識しないのは、パーティションを認識できないからです。
論理障害か物理障害かは置いといて、まずその接続された記憶装置が何なのか、
最初に読み取るべき情報が読み取れないと、使用機器側としても当然認識できなくなります。

パーティションに関する情報は、ブートセクタに保存されています。
従って、ブートセクタを修正すると、SDカードを認識できる可能性があります。
ただし言うまでもなく、SDカードが物理的に壊れていない場合に限ります。

TestDisk

ブートセクタを修復するツールとして、「TestDisk」があります。

「TestDisk」の使い方

ファイルシステムの修復

F:\ にアクセスできません。ファイルまたはディレクトリが壊れているため、読み取ることができません。

SDカードで主として用いられているFATは、シンプルなファイルシステムで、
NTFSのようにロールバック(障害発生前の状態に戻すこと)できるような仕組みを持ち合わせていません。
だから、もともと不整合が起こりやすいファイルシステムではあります。
そのうえ、SDカードは抜き挿しされることが前提のメディアなので、
データ書き込み中に接続が途絶えると、ほぼ確実にファイルシステムに問題が生じます

Windowsは、「chkdsk」というファイルシステム修復ツールを持っています。

「chkdsk」と修復オプション

「chkdsk」は、極力既存のデータを保持したまま、ファイルシステムの修復を試みます。
ただし、ファイルシステムに問題がある状態では、ユーザーにとって必要なデータ領域がわからないため、
「chkdsk」の実行過程で必要なファイルが消えることがあります

chkdsk - SDカード

これは、ファイルシステムに問題があったSDカードを「chkdsk」で修復した実例です。
途中、「破損チェーンをファイルに変換しますか」のところで「Y」を選択し、結果5個のファイルを回復していますが、
一連の作業は全自動です。
必要なファイルを狙って回復できるわけではありません。
そもそも、「chkdsk」は以後のファイル操作を正常に行えるようにするための作業です。

SDカード内のデータの重要度が高い場合は、事前にファイル復元ソフトで必要なデータを取り出した後、
「chkdsk」を実行すべきです。

ファイルの復元

SDカードを元通り認識させることができなければ、現時点で認識できるファイルを復元するしかありません。
正常に認識できない領域からファイルを抽出するには、ある程度高機能なソフトウェアが必要です。
たとえば、ファイナルデータでそれができます。

物理障害

これ、データ復旧業者さんも困ってるんじゃないかと思います。
SDカードの中身、主たる構成要素は、コントローラチップとフラッシュメモリチップです。
コントローラチップが壊れてても、フラッシュメモリチップが死んでいなければ、
専門業者さんはフラッシュメモリチップからデータを抽出してくれます。

ところが近年、これがどんどん困難になってるんじゃないかと思うわけです。
理由は、microSDカードの普及と、SDカード内部構造の変化。

microSDカードは、SiPで作られています。
SiPとは、乱暴に言うと、いろんな素子をまとめて樹脂モールド(封止)することです。
microSDカードのように薄くて小さいと、従来のように基板上に実装するやり方では無理があります。
microSDカードには外装ケースもなく、モールド成形した状態がそのまま製品です。

SDカードは、昔は基板に表面実装していたものがほとんどだったと思います。
従って、コントローラチップとフラッシュメモリチップは別々でした。
ところが、高集積化が進み、microSDカードのようにSiPで作られるものが多くなってくると、
標準サイズのSDカードもSiPで作る流れになってきます。
耐久性の面でも、素子がすべてモールド樹脂で覆われているSiPのほうが有利ですからね。

データレスキューセンターさんのページに書かれているところの、
「通常タイプ」から「完全モールドタイプ」が増えてきているんじゃないかと考えられるわけです。
これは、フラッシュメモリからデータを取り出すことが困難になってきていることを意味します。
不可能ではないにしても、相応の技術力は必要ですし、コスト高になるのは間違いありません。