SDカードを認識しない原因は、
- 規格の不適合
- データの異常
- SDカード自体の不具合
に分けられます。
SDカード自体の問題か、
それともデータに問題があるだけなのかを区別することが重要です。
また、スマホやデジカメで使っているSDカードでも、
基本的にパソコンを使って動作確認、及び復旧作業を行います。
できることが多いからです。
規格が違う
SDカードには、一部互換性のない規格が存在します。
ここでいう規格とは、microSDやminiSDといった、サイズの規格ではありません。
microSDやminiSDは、SDカードの大きさが違うだけなので、アダプタを使えばいいだけです。
SD、SDHC、SDXCは、それぞれ別の規格です。
データの保存形式が異なります。
上位互換性は保たれていますが、
旧規格しか対応していない製品に、新規格のSDカードを挿入しても、認識しません。
昔に比べると、SDカードの価格はずいぶん安くなりました。
購入時にはどうせならと、容量の大きいSDHC、SDXCカードを選んでしまいがちです。
でも残念ながら、大は小を兼ねません。
SDHC、SDXCカード非対応の製品では、
SDカードを物理的に挿入できても、使用できないのです。
SDカードが普及してきた初期の製品は、すべてSDHC、SDXCカード非対応です。※規格自体が存在しなかったので、当たり前。
また、比較的最近の製品でも、SDHC、SDXCカードに対応していない場合があるので、
注意が必要です。
特に、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カードの方ばかりに目がいってしまいがちですが、
意外とカードリーダーの方に問題がある場合があります。
これを調べるため、別のSDカード使用機器を使って動作確認します。
複数のSDカード対応機器を使っても、当該SDカードを認識しないのか、
SDカード固有の問題なのか、確認します。
以下、パソコンを使ってSDカードの動作確認や復旧作業を行っていきます。
スマホで使っているSDカードでも、一旦パソコンに接続してください。
現状把握
現時点において、SDカードが論理的にどう認識されているのかを確認します。
Windowsでこれらの情報を得るには、「ディスクの管理」を使うといいです。
「ディスクの管理」でSDカードが正しく認識されていないと、Windowsで使うことはできません。
Windowsで認識できないSDカードは、ほとんどの場合、他の機器でも認識されません。
つまり、「ディスクの管理」でSDカードを認識できなければ、スマホでもデジカメでも認識できません。
ファイルシステムが「RAW」だったとしても、まだ復旧可能性は残されています。
重要なのは、「ディスク」として容量が表示されていること。
逆に、「ディスク」の容量が表示されなければ、以下の操作を行っても意味がありません。
前述の接触不良、あるいは物理障害の可能性があります。
ちなみに、「ディスクの管理」からフォーマット等の操作を行うこともできますが、
論理障害のあるSDカードに対しては、正常動作しない場合があります。
論理障害
論理障害とは、ソフトウェア上の障害のことです。
認識されないのがSDカード自体の問題だと特定できたら、SDカードに手を加えていきます。
方法は大きく分けて2通り。
- まっさらなSDカードとしてデータを書き直す
- 問題のある箇所のデータを書き換えて認識できるようにする
もちろん前者のほうが簡単で、そのためのツールもあります。
フォーマットする
SDカード内のデータが不要であれば、フォーマッタを使ってフォーマットしたほうがいいです。
フォーマッタとは、フォーマット専用ツールのことです。
Windowsではフォーマットできなくても、フォーマッタを使うとフォーマットできることがあります。
というか、Windowsのフォーマット機能にはクセがあるので、
SDカードならSDカード用のフォーマッタを使ったほうがいいです。
SDカードの規格を作ったSDアソシエーションから、SDカード用のフォーマッタが提供されています。
つまり、SDカード公式のフォーマッタです。
トップページ | SD Association |
---|---|
ダウンロードページ | SDメモリーカードフォーマッター |
インストールしなきゃいけないのが玉にキズ。
当たり前ですが、SDカードに特化して作られています。
規格の項目で書いたとおり、SDカードは容量によって異なるファイルシステムを使用しますが、
このSDカード専用フォーマッタは、自動的に適切なファイルシステムを選択してフォーマットしてくれます。
基本的に、初期設定のままフォーマットすればいいです。
認識しないものを認識させる目的においては、クイックフォーマットで十分です。
SDカードを認識するために必要なデータだけ上書きすればいいので。
ちなみに「上書きフォーマット」は、文字通り領域内すべてのデータを上書きするものです。
データを完全消去したい場合にどうぞ。
パーティションの修復
「ドライブ○を使うにはフォーマットする必要があります」と表示される場合は、
SDカードを認識するために最初に読み込む情報に問題がある可能性が高いです。
これらの情報は、ブートセクタに保存されています。
従って、ブートセクタを修正すると、SDカードを認識できる可能性があります。
ただし言うまでもなく、SDカードが物理的に壊れていない場合に限ります。
ブートセクタを修復するツールとして、「TestDisk」があります。
ファイルの復元
SDカードを元通り認識させることができなければ、現時点で認識できるファイルを復元するしかありません。
正常に認識できない領域からファイルを抽出するには、ある程度高機能なソフトウェアが必要です。
たとえば、「ファイナルデータ」でそれができます。
ダウンロードページ | |
---|---|
当サイト内解説 | 「ファイナルデータ」の使い方 |
ファイルシステムの修復
「ファイルまたはディレクトリが壊れているため、読み取ることができません」と表示される場合は、
ファイルシステムが破損しています。
SDカードで主として用いられているFATは、シンプルなファイルシステムで、
NTFSのようにロールバック(障害発生前の状態に戻すこと)できるような仕組みを持ち合わせていません。
だから、もともと不整合が起こりやすいファイルシステムではあります。
そのうえ、SDカードは抜き挿しされることが前提のメディアなので、
データ書き込み中に接続が途絶えると、ほぼ確実にファイルシステムに問題が生じます。
Windowsには、「chkdsk」というファイルシステム修復できるツールがあります。
「chkdsk」を用いてファイルシステムを修復するには、
コマンドプロンプト(Windows PowerShell)を管理者として実行し、
chkdsk (対象のドライブ) /f
と入力して「Enter」キー。
「chkdsk」は、極力既存のデータを保持したまま、ファイルシステムの修復を試みます。
ただし、ファイルシステムに問題がある状態では、ユーザーにとって必要なデータがわからないため、
「chkdsk」の実行過程で必要なファイルが消えることがあります。
これは、ファイルシステムに問題があったSDカードを「chkdsk」で修復した実例です。
途中、「破損チェーンをファイルに変換しますか」のところで「Y」を選択し、
結果5個のファイルを回復していますが、一連の作業は全自動です。
必要なファイルを狙って回復できるわけではありません。
このときは、直近で保存した複数のファイルが消えました。
そもそも、「chkdsk」はファイル操作を正常に行えるようにするためのプログラムです。
ファイルを復元するためのプログラムではありません。
SDカード内のデータの重要度が高い場合は、
事前にファイル復元ソフトで必要なデータを取り出した後、
「chkdsk」を実行すべきです。
「chkdsk」の注意点等、詳細については下記ページ参照。
物理障害
破損や故障が原因でSDカードを認識できない場合は、
SDカードを分解して手を加える必要があります。
SDカードの中身、主たる構成要素は、コントローラチップとフラッシュメモリチップです。
コントローラチップが壊れていても、フラッシュメモリチップが無事であれば、
「デジタルデータリカバリー」のようなデータ復旧業者は、
フラッシュメモリチップからデータを取り出すことが可能です。
データ復旧サービス | デジタルデータリカバリー |
---|---|
当サイト取材記事 | データ復旧料金の相場があいまいな理由 |
ところが近年、これがどんどん困難になってるんじゃないかと思うわけです。
理由は、microSDカードの普及と、SDカードの内部構造の変化。
microSDカードは、SiPで作られています。
SiPとは、乱暴に言うと、いろんな素子をまとめて樹脂モールド(封止)することです。
microSDカードのように薄くて小さいと、従来のように基板に実装するやり方では無理があります。
microSDカードには外装ケースもなく、モールド成形した状態がそのまま製品です。
SDカードは、昔は基板に表面実装していたものがほとんどでした。
従って、コントローラチップとフラッシュメモリチップは別々でした。
ところが、高集積化が進み、microSDカードのようにSiPで作られるものが多くなってくると、
標準サイズのSDカードもSiPで作る流れになってきます。
耐久性の面でも、素子がすべてモールド樹脂で覆われているSiPのほうが有利ですから。
これは、フラッシュメモリからデータを取り出すことが困難になってきていることを意味します。
不可能ではないにしても、相応の技術力は必要ですし、コスト高になるのは間違いありません。