内容が古くなっている場合があります。
(2019.10.5 図に誤りがあったのを訂正し、説明を適切化した)
・SDカードの規格がわからない
・SDカードが認識されない
・ハードウエア側が対応している形式と違うSDカードを使いたい
━━SDXCカードをSDHCカード対応機器で使いたい
これらの問題について解説と対応のアイデアを記述しています。
私たちはSDカードのカタチをしているものを全てSDカードと呼んでいるが、SDカードとは容量が128MBから2GBまでの規格で、現在一般的な4GBから32GB、64GBから128GB(……規格の上限としては2TB)のカードはそれぞれSDHC、 SDXCカードである。これらカードを使用するハードウエア側は、SDカード対応、SDHCカード対応、SDXCカード対応とあり上位互換性はあるが下位互換性はないので話がややこしくなりがちだ。
SDHC / SDHCカードにはサイズが小さくなったmicroSDカードがある。
では、SD / SDHC / SDXCカードの仕様を図示する。
上図左側にカードの接点を示した。SD / SDHC / SDXCカードは同じ構造だが、UHS規格のうちSDHC II / SDXC IIカードは接点が増えている。UHS規格はSDHC / SDXCカードをそれぞれ高速化したものと考えてよい。
UHS規格(SDHC I / SDXC Iカード対応およびSDHC II/ SDXC IIカード対応)のハードウエアでは高速なカードの能力を使い切れる。SDHC / SDXCカード対応のハードウエアに対して互換性があり使用できるが、能力を使い切ることができない。
SD / SDHC / SDXCと規格が進化した理由は、SDカードの容量上限2GBでは容量が不足し、SDHCカードの上限32GBでも不足したからにほかならない。
しかしカードの形状と接点の数を引き継いでいて、見た目だけでは規格の違いがわからないうえに、いずれも[SD]を名乗っている。これまたややこしいところだが、これら各規格の根本的な違いはファイルシステムにある。ファイルシステムは、メモリをどのように使うかの規格だ。
収納棚を思い浮かべてもらいたい。棚には棚の段数とか区切りがあり、この段数や区切り、整理の仕方のルールなどが前述のファイルシステムだ。
SDカードはFAT16、SDHCカードはFAT32、SDXCカードはexFATというファイルシステムでフォーマットされている。
FAT16 = Windows 95(4.00.950/4.00.950a)、Windows NT、Windows 3.1、DOSで使われたファイルシステム。1つの領域として確保できる容量は最大2047MBまで(なので、SDカードの最大容量は2GB)。
FAT16は小さなSサイズの棚のようなものである。
FAT32 = 1つの領域として確保できる容量は最大2テラバイトまで。ただしWindows 2000、Windows XP、Windows Vistaの場合、FAT32でフォーマットされた領域作成はWindows系OSの制限により32GBまでになる。
FAT32は、FAT16では収納できなくなったので棚を大きくしたようなものである。
exFAT = 容量制限なし。32GB以上の領域を1ボリュームとして設定可能。
exFATはFAT32でも足りないので更に大きくした棚のようなものである。
Windows系OSでは使用するOSのバージョンでフォーマットできるファイルシステムが限られるようだが、mac OSでは上記すべてのファイルシステムが読み書きとフォーマットが可能だ。
そしてカメラ、スマフォ、タブレット、カーナビ、ドラレコ(ドライブレコーダー)側でSD / SDHC / SDXCそれぞれに対応と制限されていて、これは読み書きできるファイルシステムを意味している。
いまどきSDカード(つまりSDHC / SDXCではないカード)は絶滅種なので、SDHC / SDXCカードいずれかに対応していることになる。互換性は以下の図のようになる。
SDHCカード対応なら、SD / SDHCカードのFAT16、FAT32ファイルシステムが読み書きできる。SDXC対応なら、SD / SDHC / SDXCカードのFAT16、FAT32、exFATが読み書きできる。
たとえばドラレコにSDXCカードを入れたら認識しなかったケースは、主にファイルシステムに原因がある。認識できなかったハードウエア側がSDHCカード対応に留まり、SDXCカードのexFATを理解できなかったのだ。
ここで勘がよい人は気づいたかもしれないが、「だったらSDXCカードのexFATをFAT32にフォーマットし直せばSDHCカード対応のハードウエアでも使えるのではないか」ということになる。
そんなことができるのだろうか? と疑う人がいるかもしれない。
SDXCカードの規格を決めるとき容量の上限をあげるためexFATを採用しただけで、メモリーそのものの基本構造はSDHCカードから変わっていない。SDHCカードの上限が32GBなのは、規格を制定した時代の使い勝手から決められただけで、FAT32の最大ボリュームサイズ2TBなのだ。
カード本体という部屋に入れる「棚」であるファイルシステムを、ハードウエア側が使えないなら、別の規格の「棚」に入れ替えてしまえばよいのだ。
そうしてFAT32のSDXCカードにしてしまえば、FAT16とFAT32しか認識できないハードウエアでも認識できるようになる。
以下の記述を実行する場合、当方は責任を負いきれないので自己責任でお願いしたい。
もしハードウエア側にメモリーカードを認識するうえで容量の上限があったり、使用するうえで容量の上限があるとしたら、SDXCカードをFAT32でフォーマットしなおしても認識されなかったり正常に使えなかったりするだろう。
だが、このような制限がハードウエア側にないならFAT32でフォーマットしなおしたSDXCカードは、容量が多いFAT32のメモリーカードとして認識され使用することが可能になる。なので、SDHCとSDXCカードの間で悩みを抱えている人はSDXCカードをフォーマットし直してみるべきだ。
フォーマットとは、メモリをどのように使うか=データを収納する棚と棚の使い方のルールをつくり直す作業で、PCにメモリカードを接続してファイルシステムを書き換えればよい。Windows系のPCを使用しているならフォーマット用のソフトが必要なようだが、mac OSならOSにもれなくついてくる[ディスクユーティリティ]でメモリーカードを「消去」「フォーマット」するだけだ。この際にフォーマットはFAT32にする。
こうしてFAT32でフォーマットし直したSDXCカードを、使用するハードウエアで再びフォーマットし直す。
ハードウエア(カーナビ・ドラレコ等)の取説などに書かれている「フォーマット」「初期化」とは、PCで行う作業と言い表しているものが違う場合がほとんとだ。PCでは「メモリをどのように使うか=データを収納する棚と棚の使い方のルールをつくり直す作業」だけを意味するが、他ではこの作業とハードウエアが使うフォルダーなどを書き込む作業まで含んでいる場合が多い。このため再度ハードウエア側で「フォーマット」「初期化」をする。
この方法でハードウエアがダメージを受けることはなく、認識できるかできないか結果が割れる可能性があるだけである。
© Fumihiro Kato.
Unauthorized copying and replication of the contents of this site, text and images are strictly prohibited. All Rights Reserved.