kal*_*cey 5 partition dd fdisk mbr raspberry-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
Run Code Online (Sandbox Code Playgroud)
我的问题是,为什么第一个分区从 8192 个扇区开始,而不是在引导扇区之后?
*原谅我。我的fdisk
能力并不完全是大师级别的。
小智 2
这与SD卡底层物理扇区有关。简而言之:第一个“块”经过优化以托管文件分配表,该表描述了具有 1 个 vfat 分区的 MS 硬盘的结构。
这是一个不正确的假设,但许多设备、相机、电话等只是在单个分区上使用 vfat 存储。这些卡片就是为这个市场制作的。其他块针对写入大的连续文件(图片、视频等)进行了优化。
SD卡使用多种类型的逻辑块,其中最重要的是“擦除块”,它是一次可以擦除的最小数据量。要在卡上写入任何内容,卡控制器(SD 内部)必须首先读取整个擦除块,然后擦除它,然后用更新的内容写入它。
我有一张旧的 4G 卡,有 1M 块,最新的卡有 4M 块。
那是 8192 个 512 字节的扇区。
因此,您必须对齐分区,以便在卡上写入文件时不会导致擦除 1 个额外的块。否则,当您写入一些小文件时,您最终会得到一张写入速度较慢的卡。
有关 lwn.net 的更多信息:
使用廉价闪存驱动器优化 Linux
我不知道 Mac OS X 磁盘实用程序。也许这是一个安全的默认值,或者它发挥了一些魔力。有关您的卡的更多信息,请参阅flashbench 。