0
私は、組み込みシステム用の読み込み専用FAT16/32ファイルシステムライブラリを実装しようとしています。これは、SDカード(教育目的のために車輪を再発明する)を読み込むためです。小さなSDカードがMBRなしでフォーマットされている可能性はありますか?
MBRなしでフォーマットされたカードがあるようです。パーティションテーブルのないFATだけです。
私はFATドキュメントとMBRドキュメントを読んで、MBRとFATの両方を持つSDカードの読み方を学びました。
MBRなしでSDカードを読み取るには、私のC++ライブラリが必要です。
私の現在のアプローチは、次のとおりです。
- は、FAT BPB(ブート パラメータブロック)が含ま仮定最初のセクタを読んでみてください。
- 情報が有効かどうかを確認してください。
- 「はい」の場合は、ルートディレクトリの読み取りを続けます。
- それ以外の場合は、MBRがあると仮定します。
- 0x1BEから始まるパーティションテーブルを読み取ります。
- サポートされているパーティションタイプが利用可能な場合は、最初のセクタをFATとして読み込みます。
- 読み取り情報が有効な場合は、ルートディレクトリの読み取りを続けます。
- そうでない場合
ERROR_CODEを返すより良い方法はありますか?たとえば、特定できるマジックナンバーや特定のパターンがありますか?
のおかげであなただけ読んで、それがあるかどうかを確認? –
には魔法の番号や特定のパターンがありますか? –
またはFATの最初のセクタとMBRを区別する方法はありますか? –