fdisk、dd 和 Rapsberry pi

fdisk、dd 和 Rapsberry pi

我试图擦除用作 Raspberry Pi 硬盘驱动器的 4GB SD 卡,因此我进入 Mac OS X 磁盘实用程序* 并Erase删除整个磁盘,并指定整个磁盘为一个大的 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 磁盘实用程序。也许这是一个安全的默认值,或者它发挥了一些魔力。看闪存测试台有关您的卡的更多信息。

相关内容