fdisk、dd、Rapsberryパイ

fdisk、dd、Rapsberryパイ

Raspberry Piのハードドライブとして使用されていた4 GB SDカードを消去しようとすると、Mac OS Xディスクユーティリティ*に入り、ディスク全体を削除し、ディスクErase全体を1つの大きなFAT-32パーティションに割り当てました。

出力fdisk /dev/disk2

Disk: /dev/disk2    geometry: 975/128/63 [7866368 sectors]
Signature: 0xAA55
         Starting       Ending
 #: id  cyl  hd sec -  cyl  hd sec [     start -       size]
------------------------------------------------------------------------
 1: 0B 1023 254  63 - 1023 254  63 [      8192 -    7858176] Win95 FAT-32
 2: 00    0   0   0 -    0   0   0 [         0 -          0] unused
 3: 00    0   0   0 -    0   0   0 [         0 -          0] unused
 4: 00    0   0   0 -    0   0   0 [         0 -          0] unused

私の質問は、最初のパーティションがセクタ8192で始まるのはなぜですか?、ブートセクタのすぐ後ろではない?

*申し訳ありません。私のfdisk能力はまさにグランドマスターレベルではありません。

答え1

これはSDカードの基本的な物理セクタに関連しています。簡単に言えば、最初の「ブロック」は、1つのvfatパーティションを持つMSハードドライブの構造を説明するファイル割り当てテーブルをホストするように最適化されています。
これは間違った仮定ですが、多くのデバイス、カメラ、携帯電話などは単一のパーティションでvfatリポジトリを使用します。このカードはこの市場のために作られました。他のブロックは、大規模な連続ファイル(画像、ビデオなど)を作成するために最適化されています。

SDカードはさまざまな種類の論理ブロックを使用しています。カードに何でも書き込むには、カードコントローラ(SD内部)が最初に消去ブロック全体を読み、消去してから、更新された内容で書き込む必要があります。
私は1Mブロックの古い4Gカードを持っていますが、ほとんどの最新カードには4Mブロックがあります。

これは8192個の512バイトセクタです。

したがって、カードにファイルを書き込むときは、追加のブロックが1つ消去されないようにパーティションを配置する必要があります。それ以外の場合は、小さなファイルを書き込むときに書き込みが遅いカードを使用します。
詳しくはlwn.netをご覧ください。 安価なフラッシュドライブでLinuxを最適化

Mac OS Xディスクユーティリティについてはわかりません。おそらく、安全なデフォルト値でも魔法のように動作するかもしれません。バラよりフラッシュテストベンチカードに関する詳細情報。

関連情報